diff options
| author | opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> | 2026-02-09 17:35:30 +0000 |
|---|---|---|
| committer | opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> | 2026-02-09 17:35:30 +0000 |
| commit | d578f80f0055082cc7befd29b2ce6bda7326d29f (patch) | |
| tree | 5ca2ee868fe480104a5464260a8b114c3ef4ec71 /packages/web/src/content/docs/pt-br | |
| parent | dc53086c1e73d43d3a28fc4cdf161e83d09b1877 (diff) | |
| download | opencode-d578f80f0055082cc7befd29b2ce6bda7326d29f.tar.gz opencode-d578f80f0055082cc7befd29b2ce6bda7326d29f.zip | |
chore: generate
Diffstat (limited to 'packages/web/src/content/docs/pt-br')
34 files changed, 546 insertions, 546 deletions
diff --git a/packages/web/src/content/docs/pt-br/1-0.mdx b/packages/web/src/content/docs/pt-br/1-0.mdx index 21fdb8568..a9257bdf2 100644 --- a/packages/web/src/content/docs/pt-br/1-0.mdx +++ b/packages/web/src/content/docs/pt-br/1-0.mdx @@ -63,4 +63,4 @@ Removemos algumas funcionalidades das quais não tínhamos certeza se alguém re - app_help - project_init - tool_details -- thinking_blocks
\ No newline at end of file +- thinking_blocks diff --git a/packages/web/src/content/docs/pt-br/acp.mdx b/packages/web/src/content/docs/pt-br/acp.mdx index 80c43e960..e14af636b 100644 --- a/packages/web/src/content/docs/pt-br/acp.mdx +++ b/packages/web/src/content/docs/pt-br/acp.mdx @@ -153,4 +153,4 @@ Alguns comandos de barra integrados, como `/undo` e `/redo`, atualmente não sã - Servidores MCP configurados na sua configuração do OpenCode - Regras específicas do projeto do `AGENTS.md` - Formatadores e linters personalizados -- Sistema de agentes e permissões
\ No newline at end of file +- Sistema de agentes e permissões diff --git a/packages/web/src/content/docs/pt-br/agents.mdx b/packages/web/src/content/docs/pt-br/agents.mdx index 34903b3f6..1c49ec912 100644 --- a/packages/web/src/content/docs/pt-br/agents.mdx +++ b/packages/web/src/content/docs/pt-br/agents.mdx @@ -744,4 +744,4 @@ Procure por: - Riscos de exposição de dados - Vulnerabilidades de dependência - Problemas de segurança de configuração -```
\ No newline at end of file +``` diff --git a/packages/web/src/content/docs/pt-br/cli.mdx b/packages/web/src/content/docs/pt-br/cli.mdx index 9b5a5dff1..3bd0dca5b 100644 --- a/packages/web/src/content/docs/pt-br/cli.mdx +++ b/packages/web/src/content/docs/pt-br/cli.mdx @@ -29,15 +29,15 @@ opencode [projeto] #### Flags -| Flag | Curto | Descrição | -| ------------ | ----- | ------------------------------------------- | -| `--continue` | `-c` | Continue a última sessão | -| `--session` | `-s` | ID da sessão para continuar | -| `--prompt` | | Prompt a ser usado | +| Flag | Curto | Descrição | +| ------------ | ----- | ---------------------------------------------- | +| `--continue` | `-c` | Continue a última sessão | +| `--session` | `-s` | ID da sessão para continuar | +| `--prompt` | | Prompt a ser usado | | `--model` | `-m` | Modelo a ser usado na forma de provedor/modelo | -| `--agent` | | Agente a ser usado | -| `--port` | | Porta para escutar | -| `--hostname` | | Nome do host para escutar | +| `--agent` | | Agente a ser usado | +| `--port` | | Porta para escutar | +| `--hostname` | | Nome do host para escutar | --- @@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096 #### Flags -| Flag | Curto | Descrição | -| ----------- | ----- | -------------------------------- | +| Flag | Curto | Descrição | +| ----------- | ----- | ---------------------------------------- | | `--dir` | | Diretório de trabalho para iniciar o TUI | -| `--session` | `-s` | ID da sessão para continuar | +| `--session` | `-s` | ID da sessão para continuar | --- @@ -186,10 +186,10 @@ opencode github run ##### Flags -| Flag | Descrição | -| --------- | ------------------------------------- | +| Flag | Descrição | +| --------- | ------------------------------------------------ | | `--event` | Evento simulado do GitHub para executar o agente | -| `--token` | Token de acesso pessoal do GitHub | +| `--token` | Token de acesso pessoal do GitHub | --- @@ -295,9 +295,9 @@ opencode models anthropic #### Flags -| Flag | Descrição | -| ----------- | ---------------------------------------------------------- | -| `--refresh` | Atualiza o cache de modelos a partir do models.dev | +| Flag | Descrição | +| ----------- | --------------------------------------------------------------------- | +| `--refresh` | Atualiza o cache de modelos a partir do models.dev | | `--verbose` | Use uma saída de modelo mais detalhada (inclui metadados como custos) | Use a flag `--refresh` para atualizar a lista de modelos em cache. Isso é útil quando novos modelos foram adicionados a um provedor e você deseja vê-los no OpenCode. @@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explique async/await em JavaScript" #### Flags -| Flag | Curto | Descrição | -| ------------ | ----- | ---------------------------------------------------------------- | -| `--command` | | O comando a ser executado, use mensagem para argumentos | -| `--continue` | `-c` | Continue a última sessão | -| `--session` | `-s` | ID da sessão para continuar | -| `--share` | | Compartilhe a sessão | -| `--model` | `-m` | Modelo a ser usado na forma de provedor/modelo | -| `--agent` | | Agente a ser usado | -| `--file` | `-f` | Arquivo(s) a serem anexados à mensagem | -| `--format` | | Formato: padrão (formatado) ou json (eventos JSON brutos) | -| `--title` | | Título para a sessão (usa o prompt truncado se nenhum valor for fornecido) | +| Flag | Curto | Descrição | +| ------------ | ----- | ----------------------------------------------------------------------------- | +| `--command` | | O comando a ser executado, use mensagem para argumentos | +| `--continue` | `-c` | Continue a última sessão | +| `--session` | `-s` | ID da sessão para continuar | +| `--share` | | Compartilhe a sessão | +| `--model` | `-m` | Modelo a ser usado na forma de provedor/modelo | +| `--agent` | | Agente a ser usado | +| `--file` | `-f` | Arquivo(s) a serem anexados à mensagem | +| `--format` | | Formato: padrão (formatado) ou json (eventos JSON brutos) | +| `--title` | | Título para a sessão (usa o prompt truncado se nenhum valor for fornecido) | | `--attach` | | Anexe a um servidor opencode em execução (por exemplo, http://localhost:4096) | -| `--port` | | Porta para o servidor local (padrão para porta aleatória) | +| `--port` | | Porta para o servidor local (padrão para porta aleatória) | --- @@ -362,11 +362,11 @@ Isso inicia um servidor HTTP que fornece acesso à funcionalidade do opencode se #### Flags -| Flag | Descrição | -| ------------ | ------------------------------------------- | -| `--port` | Porta para escutar | -| `--hostname` | Nome do host para escutar | -| `--mdns` | Habilitar descoberta mDNS | +| Flag | Descrição | +| ------------ | ----------------------------------------------------- | +| `--port` | Porta para escutar | +| `--hostname` | Nome do host para escutar | +| `--mdns` | Habilitar descoberta mDNS | | `--cors` | Origem(ns) de navegador adicionais para permitir CORS | --- @@ -391,9 +391,9 @@ opencode session list ##### Flags -| Flag | Curto | Descrição | -| ------------- | ----- | ---------------------------------- | -| `--max-count` | `-n` | Limitar às N sessões mais recentes | +| Flag | Curto | Descrição | +| ------------- | ----- | ----------------------------------------- | +| `--max-count` | `-n` | Limitar às N sessões mais recentes | | `--format` | | Formato de saída: tabela ou json (tabela) | --- @@ -408,12 +408,12 @@ opencode stats #### Flags -| Flag | Descrição | -| ----------- | ------------------------------------------------------------------------- | -| `--days` | Mostre estatísticas dos últimos N dias (todo o tempo) | -| `--tools` | Número de ferramentas a serem mostradas (todas) | +| Flag | Descrição | +| ----------- | ---------------------------------------------------------------------------------------------------- | +| `--days` | Mostre estatísticas dos últimos N dias (todo o tempo) | +| `--tools` | Número de ferramentas a serem mostradas (todas) | | `--models` | Mostre a divisão do uso de modelos (oculto por padrão). Passe um número para mostrar os N principais | -| `--project` | Filtrar por projeto (todos os projetos, string vazia: projeto atual) | +| `--project` | Filtrar por projeto (todos os projetos, string vazia: projeto atual) | --- @@ -458,11 +458,11 @@ Isso inicia um servidor HTTP e abre um navegador para acessar o OpenCode atravé #### Flags -| Flag | Descrição | -| ------------ | ------------------------------------------- | -| `--port` | Porta para escutar | -| `--hostname` | Nome do host para escutar | -| `--mdns` | Habilitar descoberta mDNS | +| Flag | Descrição | +| ------------ | ----------------------------------------------------- | +| `--port` | Porta para escutar | +| `--hostname` | Nome do host para escutar | +| `--mdns` | Habilitar descoberta mDNS | | `--cors` | Origem(ns) de navegador adicionais para permitir CORS | --- @@ -479,10 +479,10 @@ Este comando inicia um servidor ACP que se comunica via stdin/stdout usando nd-J #### Flags -| Flag | Descrição | -| ------------ | ------------------- | -| `--cwd` | Diretório de trabalho | -| `--port` | Porta para escutar | +| Flag | Descrição | +| ------------ | ------------------------- | +| `--cwd` | Diretório de trabalho | +| `--port` | Porta para escutar | | `--hostname` | Nome do host para escutar | --- @@ -497,12 +497,12 @@ opencode uninstall #### Flags -| Flag | Curto | Descrição | -| --------------- | ----- | ----------------------------------------- | -| `--keep-config` | `-c` | Manter arquivos de configuração | +| Flag | Curto | Descrição | +| --------------- | ----- | ---------------------------------------- | +| `--keep-config` | `-c` | Manter arquivos de configuração | | `--keep-data` | `-d` | Manter dados de sessão e snapshots | | `--dry-run` | | Mostrar o que seria removido sem remover | -| `--force` | `-f` | Pular prompts de confirmação | +| `--force` | `-f` | Pular prompts de confirmação | --- @@ -528,8 +528,8 @@ opencode upgrade v0.1.48 #### Flags -| Flag | Curto | Descrição | -| ---------- | ----- | --------------------------------------------------------------- | +| Flag | Curto | Descrição | +| ---------- | ----- | ---------------------------------------------------------------- | | `--method` | `-m` | O método de instalação que foi usado; curl, npm, pnpm, bun, brew | --- @@ -538,11 +538,11 @@ opencode upgrade v0.1.48 A CLI do opencode aceita as seguintes flags globais. -| Flag | Curto | Descrição | -| -------------- | ----- | ---------------------------------- | -| `--help` | `-h` | Exibir ajuda | -| `--version` | `-v` | Imprimir número da versão | -| `--print-logs` | | Imprimir logs no stderr | +| Flag | Curto | Descrição | +| -------------- | ----- | --------------------------------------- | +| `--help` | `-h` | Exibir ajuda | +| `--version` | `-v` | Imprimir número da versão | +| `--print-logs` | | Imprimir logs no stderr | | `--log-level` | | Nível de log (DEBUG, INFO, WARN, ERROR) | --- @@ -551,32 +551,32 @@ A CLI do opencode aceita as seguintes flags globais. O OpenCode pode ser configurado usando variáveis de ambiente. -| Variável | Tipo | Descrição | -| ------------------------------------- | ------- | ------------------------------------------------- | -| `OPENCODE_AUTO_SHARE` | boolean | Compartilhar sessões automaticamente | -| `OPENCODE_GIT_BASH_PATH` | string | Caminho para o executável do Git Bash no Windows | -| `OPENCODE_CONFIG` | string | Caminho para o arquivo de configuração | -| `OPENCODE_CONFIG_DIR` | string | Caminho para o diretório de configuração | -| `OPENCODE_CONFIG_CONTENT` | string | Conteúdo de configuração json inline | -| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Desabilitar verificações de atualização automática | -| `OPENCODE_DISABLE_PRUNE` | boolean | Desabilitar a poda de dados antigos | -| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | Desabilitar atualizações automáticas do título do terminal | -| `OPENCODE_PERMISSION` | string | Configuração de permissões json inline | -| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | Desabilitar plugins padrão | -| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | Desabilitar downloads automáticos do servidor LSP | -| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Habilitar modelos experimentais | -| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Desabilitar compactação automática de contexto | -| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | Desabilitar leitura de `.claude` (prompt + habilidades) | -| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | Desabilitar leitura de `~/.claude/CLAUDE.md` | -| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | Desabilitar carregamento de `.claude/skills` | -| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | Desabilitar busca de modelos de fontes remotas | -| `OPENCODE_FAKE_VCS` | string | Provedor VCS falso para fins de teste | -| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | Desabilitar verificação de tempo de arquivo para otimização | -| `OPENCODE_CLIENT` | string | Identificador do cliente (padrão é `cli`) | -| `OPENCODE_ENABLE_EXA` | boolean | Habilitar ferramentas de busca web Exa | -| `OPENCODE_SERVER_PASSWORD` | string | Habilitar autenticação básica para `serve`/`web` | +| Variável | Tipo | Descrição | +| ------------------------------------- | ------- | --------------------------------------------------------------------- | +| `OPENCODE_AUTO_SHARE` | boolean | Compartilhar sessões automaticamente | +| `OPENCODE_GIT_BASH_PATH` | string | Caminho para o executável do Git Bash no Windows | +| `OPENCODE_CONFIG` | string | Caminho para o arquivo de configuração | +| `OPENCODE_CONFIG_DIR` | string | Caminho para o diretório de configuração | +| `OPENCODE_CONFIG_CONTENT` | string | Conteúdo de configuração json inline | +| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Desabilitar verificações de atualização automática | +| `OPENCODE_DISABLE_PRUNE` | boolean | Desabilitar a poda de dados antigos | +| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | Desabilitar atualizações automáticas do título do terminal | +| `OPENCODE_PERMISSION` | string | Configuração de permissões json inline | +| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | Desabilitar plugins padrão | +| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | Desabilitar downloads automáticos do servidor LSP | +| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Habilitar modelos experimentais | +| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Desabilitar compactação automática de contexto | +| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | Desabilitar leitura de `.claude` (prompt + habilidades) | +| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | Desabilitar leitura de `~/.claude/CLAUDE.md` | +| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | Desabilitar carregamento de `.claude/skills` | +| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | Desabilitar busca de modelos de fontes remotas | +| `OPENCODE_FAKE_VCS` | string | Provedor VCS falso para fins de teste | +| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | Desabilitar verificação de tempo de arquivo para otimização | +| `OPENCODE_CLIENT` | string | Identificador do cliente (padrão é `cli`) | +| `OPENCODE_ENABLE_EXA` | boolean | Habilitar ferramentas de busca web Exa | +| `OPENCODE_SERVER_PASSWORD` | string | Habilitar autenticação básica para `serve`/`web` | | `OPENCODE_SERVER_USERNAME` | string | Substituir nome de usuário de autenticação básica (padrão `opencode`) | -| `OPENCODE_MODELS_URL` | string | URL personalizada para buscar configuração de modelos | +| `OPENCODE_MODELS_URL` | string | URL personalizada para buscar configuração de modelos | --- @@ -584,18 +584,18 @@ O OpenCode pode ser configurado usando variáveis de ambiente. Essas variáveis de ambiente habilitam recursos experimentais que podem mudar ou ser removidos. -| Variável | Tipo | Descrição | -| ----------------------------------------------- | ------- | ------------------------------------- | -| `OPENCODE_EXPERIMENTAL` | boolean | Habilitar todos os recursos experimentais | -| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Habilitar descoberta de ícones | -| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | Desabilitar cópia ao selecionar no TUI | -| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | Tempo limite padrão para comandos bash em ms | -| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | Máximo de tokens de saída para respostas LLM | +| Variável | Tipo | Descrição | +| ----------------------------------------------- | ------- | --------------------------------------------------------- | +| `OPENCODE_EXPERIMENTAL` | boolean | Habilitar todos os recursos experimentais | +| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Habilitar descoberta de ícones | +| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | Desabilitar cópia ao selecionar no TUI | +| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | Tempo limite padrão para comandos bash em ms | +| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | Máximo de tokens de saída para respostas LLM | | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | Habilitar monitoramento de arquivos para todo o diretório | -| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | Habilitar formatador oxfmt | -| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | Habilitar ferramenta LSP experimental | -| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | Desabilitar monitoramento de arquivos | -| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Habilitar recursos experimentais do Exa | -| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Habilitar verificação de tipo LSP experimental | -| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Habilitar recursos experimentais de markdown | -| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Habilitar modo de plano |
\ No newline at end of file +| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | Habilitar formatador oxfmt | +| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | Habilitar ferramenta LSP experimental | +| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | Desabilitar monitoramento de arquivos | +| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Habilitar recursos experimentais do Exa | +| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Habilitar verificação de tipo LSP experimental | +| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Habilitar recursos experimentais de markdown | +| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Habilitar modo de plano | diff --git a/packages/web/src/content/docs/pt-br/commands.mdx b/packages/web/src/content/docs/pt-br/commands.mdx index 8da6e5023..8db9da030 100644 --- a/packages/web/src/content/docs/pt-br/commands.mdx +++ b/packages/web/src/content/docs/pt-br/commands.mdx @@ -319,4 +319,4 @@ opencode inclui vários comandos integrados como `/init`, `/undo`, `/redo`, `/sh Comandos personalizados podem substituir comandos integrados. ::: -Se você definir um comando personalizado com o mesmo nome, ele substituirá o comando integrado.
\ No newline at end of file +Se você definir um comando personalizado com o mesmo nome, ele substituirá o comando integrado. diff --git a/packages/web/src/content/docs/pt-br/config.mdx b/packages/web/src/content/docs/pt-br/config.mdx index b9ef6f237..5e8d57c12 100644 --- a/packages/web/src/content/docs/pt-br/config.mdx +++ b/packages/web/src/content/docs/pt-br/config.mdx @@ -678,4 +678,4 @@ Esses são úteis para: - Manter dados sensíveis, como chaves de API, em arquivos separados. - Incluir grandes arquivos de instrução sem sobrecarregar sua configuração. -- Compartilhar trechos de configuração comuns entre vários arquivos de configuração.
\ No newline at end of file +- Compartilhar trechos de configuração comuns entre vários arquivos de configuração. diff --git a/packages/web/src/content/docs/pt-br/custom-tools.mdx b/packages/web/src/content/docs/pt-br/custom-tools.mdx index 6d2ad163e..2ef1e5d37 100644 --- a/packages/web/src/content/docs/pt-br/custom-tools.mdx +++ b/packages/web/src/content/docs/pt-br/custom-tools.mdx @@ -167,4 +167,4 @@ export default tool({ }) ``` -Aqui estamos usando o utilitário [`Bun.$`](https://bun.com/docs/runtime/shell) para executar o script Python.
\ No newline at end of file +Aqui estamos usando o utilitário [`Bun.$`](https://bun.com/docs/runtime/shell) para executar o script Python. diff --git a/packages/web/src/content/docs/pt-br/ecosystem.mdx b/packages/web/src/content/docs/pt-br/ecosystem.mdx index 1913a4563..7071e89e1 100644 --- a/packages/web/src/content/docs/pt-br/ecosystem.mdx +++ b/packages/web/src/content/docs/pt-br/ecosystem.mdx @@ -15,62 +15,62 @@ Você também pode conferir [awesome-opencode](https://github.com/awesome-openco ## Plugins -| Nome | Descrição | -| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| Nome | Descrição | +| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Execute automaticamente sessões do OpenCode em sandboxes isoladas do Daytona com sincronização git e pré-visualizações ao vivo | -| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injete automaticamente cabeçalhos de sessão Helicone para agrupamento de requisições | -| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Auto-injetar tipos TypeScript/Svelte em leituras de arquivos com ferramentas de busca | -| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Use sua assinatura ChatGPT Plus/Pro em vez de créditos de API | -| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Use seu plano Gemini existente em vez de cobrança de API | -| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Use os modelos gratuitos do Antigravity em vez de cobrança de API | -| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Isolamento de devcontainer multi-branch com clones rasos e portas atribuídas automaticamente | -| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Plugin Google Antigravity OAuth, com suporte para Google Search e manuseio de API mais robusto | -| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Otimize o uso de tokens podando saídas de ferramentas obsoletas | -| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Adicione suporte nativo de pesquisa na web para provedores suportados com estilo fundamentado no Google | -| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permite que agentes de IA executem processos em segundo plano em um PTY, enviando entrada interativa para eles. | -| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Instruções para comandos de shell não interativos - evita travamentos de operações dependentes de TTY | -| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Acompanhe o uso do OpenCode com Wakatime | -| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Limpe tabelas markdown produzidas por LLMs | -| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Edição de código 10x mais rápida com a API Morph Fast Apply e marcadores de edição preguiçosos | -| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agentes em segundo plano, ferramentas LSP/AST/MCP pré-construídas, agentes curados, compatível com Claude Code | -| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Notificações de desktop e alertas sonoros para sessões do OpenCode | -| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Notificações de desktop e alertas sonoros para eventos de permissão, conclusão e erro | -| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Nomeação automática de sessões Zellij com suporte de IA com base no contexto do OpenCode | -| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | Permite que agentes do OpenCode carreguem prompts sob demanda com descoberta e injeção de habilidades | -| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Memória persistente entre sessões usando Supermemory | -| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Revisão de plano interativa com anotação visual e compartilhamento privado/offline | -| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Estenda opencode /commands em um poderoso sistema de orquestração com controle de fluxo granular | -| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Agende trabalhos recorrentes usando launchd (Mac) ou systemd (Linux) com sintaxe cron | -| [micode](https://github.com/vtemian/micode) | Fluxo de trabalho Estruturado Brainstorm → Planejar → Implementar com continuidade de sessão | -| [octto](https://github.com/vtemian/octto) | UI interativa do navegador para brainstorming de IA com formulários de múltiplas perguntas | -| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Agentes em segundo plano estilo Claude Code com delegação assíncrona e persistência de contexto | -| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Notificações nativas do OS para OpenCode – saiba quando as tarefas são concluídas | -| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Conjunto de orquestração multi-agente – 16 componentes, uma instalação | -| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Worktrees git sem atrito para OpenCode | +| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injete automaticamente cabeçalhos de sessão Helicone para agrupamento de requisições | +| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Auto-injetar tipos TypeScript/Svelte em leituras de arquivos com ferramentas de busca | +| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Use sua assinatura ChatGPT Plus/Pro em vez de créditos de API | +| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Use seu plano Gemini existente em vez de cobrança de API | +| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Use os modelos gratuitos do Antigravity em vez de cobrança de API | +| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Isolamento de devcontainer multi-branch com clones rasos e portas atribuídas automaticamente | +| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Plugin Google Antigravity OAuth, com suporte para Google Search e manuseio de API mais robusto | +| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Otimize o uso de tokens podando saídas de ferramentas obsoletas | +| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Adicione suporte nativo de pesquisa na web para provedores suportados com estilo fundamentado no Google | +| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permite que agentes de IA executem processos em segundo plano em um PTY, enviando entrada interativa para eles. | +| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Instruções para comandos de shell não interativos - evita travamentos de operações dependentes de TTY | +| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Acompanhe o uso do OpenCode com Wakatime | +| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Limpe tabelas markdown produzidas por LLMs | +| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Edição de código 10x mais rápida com a API Morph Fast Apply e marcadores de edição preguiçosos | +| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agentes em segundo plano, ferramentas LSP/AST/MCP pré-construídas, agentes curados, compatível com Claude Code | +| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Notificações de desktop e alertas sonoros para sessões do OpenCode | +| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Notificações de desktop e alertas sonoros para eventos de permissão, conclusão e erro | +| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Nomeação automática de sessões Zellij com suporte de IA com base no contexto do OpenCode | +| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | Permite que agentes do OpenCode carreguem prompts sob demanda com descoberta e injeção de habilidades | +| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Memória persistente entre sessões usando Supermemory | +| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Revisão de plano interativa com anotação visual e compartilhamento privado/offline | +| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Estenda opencode /commands em um poderoso sistema de orquestração com controle de fluxo granular | +| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Agende trabalhos recorrentes usando launchd (Mac) ou systemd (Linux) com sintaxe cron | +| [micode](https://github.com/vtemian/micode) | Fluxo de trabalho Estruturado Brainstorm → Planejar → Implementar com continuidade de sessão | +| [octto](https://github.com/vtemian/octto) | UI interativa do navegador para brainstorming de IA com formulários de múltiplas perguntas | +| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Agentes em segundo plano estilo Claude Code com delegação assíncrona e persistência de contexto | +| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Notificações nativas do OS para OpenCode – saiba quando as tarefas são concluídas | +| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Conjunto de orquestração multi-agente – 16 componentes, uma instalação | +| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Worktrees git sem atrito para OpenCode | --- ## Projetos -| Nome | Descrição | -| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | +| Nome | Descrição | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | | [kimaki](https://github.com/remorses/kimaki) | Bot do Discord para controlar sessões do OpenCode, construído sobre o SDK | -| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Plugin Neovim para prompts cientes do editor, construído sobre a API | -| [portal](https://github.com/hosenur/portal) | UI web mobile-first para OpenCode sobre Tailscale/VPN | -| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | Template para construir plugins do OpenCode | -| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Frontend Neovim para opencode - um agente de codificação AI baseado em terminal | -| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Provedor Vercel AI SDK para usar OpenCode via @opencode-ai/sdk | -| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Aplicativo Web / Desktop e Extensão do VS Code para OpenCode | -| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Plugin Obsidian que incorpora OpenCode na UI do Obsidian | -| [OpenWork](https://github.com/different-ai/openwork) | Uma alternativa de código aberto ao Claude Cowork, alimentada pelo OpenCode | -| [ocx](https://github.com/kdcokenny/ocx) | Gerenciador de extensões OpenCode com perfis portáteis e isolados. | -| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplicativo Desktop, Web, Mobile e Cliente Remoto para OpenCode | +| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Plugin Neovim para prompts cientes do editor, construído sobre a API | +| [portal](https://github.com/hosenur/portal) | UI web mobile-first para OpenCode sobre Tailscale/VPN | +| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | Template para construir plugins do OpenCode | +| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Frontend Neovim para opencode - um agente de codificação AI baseado em terminal | +| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Provedor Vercel AI SDK para usar OpenCode via @opencode-ai/sdk | +| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Aplicativo Web / Desktop e Extensão do VS Code para OpenCode | +| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Plugin Obsidian que incorpora OpenCode na UI do Obsidian | +| [OpenWork](https://github.com/different-ai/openwork) | Uma alternativa de código aberto ao Claude Cowork, alimentada pelo OpenCode | +| [ocx](https://github.com/kdcokenny/ocx) | Gerenciador de extensões OpenCode com perfis portáteis e isolados. | +| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplicativo Desktop, Web, Mobile e Cliente Remoto para OpenCode | --- ## Agentes -| Nome | Descrição | -| ----------------------------------------------------------------- | ------------------------------------------------------------ | -| [Agentic](https://github.com/Cluster444/agentic) | Agentes e comandos de IA modulares para desenvolvimento estruturado | -| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Configurações, prompts, agentes e plugins para fluxos de trabalho aprimorados |
\ No newline at end of file +| Nome | Descrição | +| ----------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| [Agentic](https://github.com/Cluster444/agentic) | Agentes e comandos de IA modulares para desenvolvimento estruturado | +| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Configurações, prompts, agentes e plugins para fluxos de trabalho aprimorados | diff --git a/packages/web/src/content/docs/pt-br/enterprise.mdx b/packages/web/src/content/docs/pt-br/enterprise.mdx index 95671cfde..ef395f640 100644 --- a/packages/web/src/content/docs/pt-br/enterprise.mdx +++ b/packages/web/src/content/docs/pt-br/enterprise.mdx @@ -163,4 +163,4 @@ registry=https://your-company.jfrog.io/api/npm/npm-virtual/ Os desenvolvedores devem estar logados no registro privado antes de executar o OpenCode para garantir que os pacotes possam ser instalados a partir do seu registro empresarial. -</details>
\ No newline at end of file +</details> diff --git a/packages/web/src/content/docs/pt-br/formatters.mdx b/packages/web/src/content/docs/pt-br/formatters.mdx index 10f77b913..7fe2d84f7 100644 --- a/packages/web/src/content/docs/pt-br/formatters.mdx +++ b/packages/web/src/content/docs/pt-br/formatters.mdx @@ -11,32 +11,32 @@ OpenCode formata automaticamente arquivos após serem escritos ou editados usand OpenCode vem com vários formatadores integrados para linguagens e frameworks populares. Abaixo está uma lista dos formatadores, extensões de arquivo suportadas e comandos ou opções de configuração necessárias. -| Formatador | Extensões | Requisitos | -| ------------------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| gofmt | .go | Comando `gofmt` disponível | -| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Comando `mix` disponível | -| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, e [mais](https://prettier.io/docs/en/index.html) | Dependência `prettier` em `package.json` | -| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, e [mais](https://biomejs.dev/) | Arquivo de configuração `biome.json(c)` | -| zig | .zig, .zon | Comando `zig` disponível | -| clang-format | .c, .cpp, .h, .hpp, .ino, e [mais](https://clang.llvm.org/docs/ClangFormat.html) | Arquivo de configuração `.clang-format` | -| ktlint | .kt, .kts | Comando `ktlint` disponível | -| ruff | .py, .pyi | Comando `ruff` disponível com configuração | -| rustfmt | .rs | Comando `rustfmt` disponível | -| cargofmt | .rs | Comando `cargo fmt` disponível | -| uv | .py, .pyi | Comando `uv` disponível | -| rubocop | .rb, .rake, .gemspec, .ru | Comando `rubocop` disponível | -| standardrb | .rb, .rake, .gemspec, .ru | Comando `standardrb` disponível | -| htmlbeautifier | .erb, .html.erb | Comando `htmlbeautifier` disponível | -| air | .R | Comando `air` disponível | -| dart | .dart | Comando `dart` disponível | -| ocamlformat | .ml, .mli | Comando `ocamlformat` disponível e arquivo de configuração `.ocamlformat` | -| terraform | .tf, .tfvars | Comando `terraform` disponível | -| gleam | .gleam | Comando `gleam` disponível | -| nixfmt | .nix | Comando `nixfmt` disponível | -| shfmt | .sh, .bash | Comando `shfmt` disponível | -| pint | .php | Dependência `laravel/pint` em `composer.json` | -| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | Dependência `oxfmt` em `package.json` e uma [variável de ambiente experimental](/docs/cli/#experimental) | -| ormolu | .hs | Comando `ormolu` disponível | +| Formatador | Extensões | Requisitos | +| -------------------- | ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | +| gofmt | .go | Comando `gofmt` disponível | +| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Comando `mix` disponível | +| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, e [mais](https://prettier.io/docs/en/index.html) | Dependência `prettier` em `package.json` | +| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, e [mais](https://biomejs.dev/) | Arquivo de configuração `biome.json(c)` | +| zig | .zig, .zon | Comando `zig` disponível | +| clang-format | .c, .cpp, .h, .hpp, .ino, e [mais](https://clang.llvm.org/docs/ClangFormat.html) | Arquivo de configuração `.clang-format` | +| ktlint | .kt, .kts | Comando `ktlint` disponível | +| ruff | .py, .pyi | Comando `ruff` disponível com configuração | +| rustfmt | .rs | Comando `rustfmt` disponível | +| cargofmt | .rs | Comando `cargo fmt` disponível | +| uv | .py, .pyi | Comando `uv` disponível | +| rubocop | .rb, .rake, .gemspec, .ru | Comando `rubocop` disponível | +| standardrb | .rb, .rake, .gemspec, .ru | Comando `standardrb` disponível | +| htmlbeautifier | .erb, .html.erb | Comando `htmlbeautifier` disponível | +| air | .R | Comando `air` disponível | +| dart | .dart | Comando `dart` disponível | +| ocamlformat | .ml, .mli | Comando `ocamlformat` disponível e arquivo de configuração `.ocamlformat` | +| terraform | .tf, .tfvars | Comando `terraform` disponível | +| gleam | .gleam | Comando `gleam` disponível | +| nixfmt | .nix | Comando `nixfmt` disponível | +| shfmt | .sh, .bash | Comando `shfmt` disponível | +| pint | .php | Dependência `laravel/pint` em `composer.json` | +| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | Dependência `oxfmt` em `package.json` e uma [variável de ambiente experimental](/docs/cli/#experimental) | +| ormolu | .hs | Comando `ormolu` disponível | Portanto, se seu projeto tiver `prettier` em seu `package.json`, o OpenCode o usará automaticamente. @@ -67,12 +67,12 @@ Você pode personalizar os formatadores através da seção `formatter` em sua c Cada configuração de formatador suporta o seguinte: -| Propriedade | Tipo | Descrição | -| ---------------- | -------- | ----------------------------------------------------- | -| `disabled` | boolean | Defina como `true` para desabilitar o formatador | -| `command` | string[] | O comando a ser executado para formatação | -| `environment` | object | Variáveis de ambiente a serem definidas ao executar o formatador | -| `extensions` | string[] | Extensões de arquivo que este formatador deve tratar | +| Propriedade | Tipo | Descrição | +| ------------- | -------- | ---------------------------------------------------------------- | +| `disabled` | boolean | Defina como `true` para desabilitar o formatador | +| `command` | string[] | O comando a ser executado para formatação | +| `environment` | object | Variáveis de ambiente a serem definidas ao executar o formatador | +| `extensions` | string[] | Extensões de arquivo que este formatador deve tratar | Vamos ver alguns exemplos. @@ -127,4 +127,4 @@ Você pode substituir os formatadores integrados ou adicionar novos especificand } ``` -O **placeholder `$FILE`** no comando será substituído pelo caminho do arquivo que está sendo formatado.
\ No newline at end of file +O **placeholder `$FILE`** no comando será substituído pelo caminho do arquivo que está sendo formatado. diff --git a/packages/web/src/content/docs/pt-br/github.mdx b/packages/web/src/content/docs/pt-br/github.mdx index 738361d75..a304d6cfa 100644 --- a/packages/web/src/content/docs/pt-br/github.mdx +++ b/packages/web/src/content/docs/pt-br/github.mdx @@ -105,14 +105,14 @@ Ou você pode configurá-lo manualmente. O OpenCode pode ser acionado pelos seguintes eventos do GitHub: -| Tipo de Evento | Acionado Por | Detalhes | -| --------------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `issue_comment` | Comentário em um problema ou PR | Mencione `/opencode` ou `/oc` em seu comentário. O OpenCode lê o contexto e pode criar branches, abrir PRs ou responder. | -| `pull_request_review_comment` | Comentário em linhas de código específicas em um PR | Mencione `/opencode` ou `/oc` enquanto revisa o código. O OpenCode recebe o caminho do arquivo, números das linhas e contexto do diff. | -| `issues` | Problema aberto ou editado | Aciona automaticamente o OpenCode quando problemas são criados ou modificados. Requer entrada de `prompt`. | -| `pull_request` | PR aberto ou atualizado | Aciona automaticamente o OpenCode quando PRs são abertos, sincronizados ou reabertos. Útil para revisões automatizadas. | -| `schedule` | Cron baseado em agendamento | Execute o OpenCode em um cronograma. Requer entrada de `prompt`. A saída vai para logs e PRs (sem problema para comentar). | -| `workflow_dispatch` | Acionamento manual pela interface do GitHub | Acione o OpenCode sob demanda através da aba Ações. Requer entrada de `prompt`. A saída vai para logs e PRs. | +| Tipo de Evento | Acionado Por | Detalhes | +| ----------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `issue_comment` | Comentário em um problema ou PR | Mencione `/opencode` ou `/oc` em seu comentário. O OpenCode lê o contexto e pode criar branches, abrir PRs ou responder. | +| `pull_request_review_comment` | Comentário em linhas de código específicas em um PR | Mencione `/opencode` ou `/oc` enquanto revisa o código. O OpenCode recebe o caminho do arquivo, números das linhas e contexto do diff. | +| `issues` | Problema aberto ou editado | Aciona automaticamente o OpenCode quando problemas são criados ou modificados. Requer entrada de `prompt`. | +| `pull_request` | PR aberto ou atualizado | Aciona automaticamente o OpenCode quando PRs são abertos, sincronizados ou reabertos. Útil para revisões automatizadas. | +| `schedule` | Cron baseado em agendamento | Execute o OpenCode em um cronograma. Requer entrada de `prompt`. A saída vai para logs e PRs (sem problema para comentar). | +| `workflow_dispatch` | Acionamento manual pela interface do GitHub | Acione o OpenCode sob demanda através da aba Ações. Requer entrada de `prompt`. A saída vai para logs e PRs. | ### Exemplo de Agendamento @@ -318,4 +318,4 @@ Aqui estão alguns exemplos de como você pode usar o OpenCode no GitHub. - O contexto do diff ao redor - Informações sobre números de linha - Isso permite solicitações mais direcionadas sem precisar especificar caminhos de arquivos ou números de linhas manualmente.
\ No newline at end of file + Isso permite solicitações mais direcionadas sem precisar especificar caminhos de arquivos ou números de linhas manualmente. diff --git a/packages/web/src/content/docs/pt-br/gitlab.mdx b/packages/web/src/content/docs/pt-br/gitlab.mdx index 0905b9bb2..a7091323d 100644 --- a/packages/web/src/content/docs/pt-br/gitlab.mdx +++ b/packages/web/src/content/docs/pt-br/gitlab.mdx @@ -192,4 +192,4 @@ Você pode configurar para usar uma frase de gatilho diferente de `@opencode`. @opencode review this merge request ``` - O OpenCode revisará a solicitação de mesclagem e fornecerá feedback.
\ No newline at end of file + O OpenCode revisará a solicitação de mesclagem e fornecerá feedback. diff --git a/packages/web/src/content/docs/pt-br/ide.mdx b/packages/web/src/content/docs/pt-br/ide.mdx index 9c6f3ee2d..cf671f4e6 100644 --- a/packages/web/src/content/docs/pt-br/ide.mdx +++ b/packages/web/src/content/docs/pt-br/ide.mdx @@ -45,4 +45,4 @@ Se a extensão falhar ao instalar automaticamente: - Para Windsurf: comando `windsurf` - Para VSCodium: comando `codium` - Se não, execute `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux) e procure por "Shell Command: Install 'code' command in PATH" (ou o equivalente para sua IDE) -- Certifique-se de que o VS Code tem permissão para instalar extensões
\ No newline at end of file +- Certifique-se de que o VS Code tem permissão para instalar extensões diff --git a/packages/web/src/content/docs/pt-br/index.mdx b/packages/web/src/content/docs/pt-br/index.mdx index cdc5f7d09..cbd164f0f 100644 --- a/packages/web/src/content/docs/pt-br/index.mdx +++ b/packages/web/src/content/docs/pt-br/index.mdx @@ -338,4 +338,4 @@ Aqui está uma [conversa de exemplo](https://opencode.ai/s/4XP1fce5) com o OpenC E é isso! Agora você é um profissional em usar o OpenCode. -Para torná-lo seu, recomendamos [escolher um tema](/docs/themes), [personalizar os atalhos de teclado](/docs/keybinds), [configurar formatadores de código](/docs/formatters), [criar comandos personalizados](/docs/commands) ou brincar com a [configuração do OpenCode](/docs/config).
\ No newline at end of file +Para torná-lo seu, recomendamos [escolher um tema](/docs/themes), [personalizar os atalhos de teclado](/docs/keybinds), [configurar formatadores de código](/docs/formatters), [criar comandos personalizados](/docs/commands) ou brincar com a [configuração do OpenCode](/docs/config). diff --git a/packages/web/src/content/docs/pt-br/keybinds.mdx b/packages/web/src/content/docs/pt-br/keybinds.mdx index 36480510d..351456871 100644 --- a/packages/web/src/content/docs/pt-br/keybinds.mdx +++ b/packages/web/src/content/docs/pt-br/keybinds.mdx @@ -134,20 +134,20 @@ Você pode desativar um atalho adicionando a tecla à sua configuração com um O prompt de entrada do aplicativo desktop OpenCode suporta atalhos comuns de estilo Readline/Emacs para edição de texto. Estes são embutidos e atualmente não são configuráveis via `opencode.json`. -| Atalho | Ação | -| -------- | ---------------------------------------- | -| `ctrl+a` | Mover para o início da linha atual | -| `ctrl+e` | Mover para o final da linha atual | -| `ctrl+b` | Mover o cursor uma posição para trás | -| `ctrl+f` | Mover o cursor uma posição para frente | -| `alt+b` | Mover o cursor uma palavra para trás | -| `alt+f` | Mover o cursor uma palavra para frente | -| `ctrl+d` | Deletar o caractere sob o cursor | -| `ctrl+k` | Matar até o final da linha | -| `ctrl+u` | Matar até o início da linha | -| `ctrl+w` | Matar a palavra anterior | -| `alt+d` | Matar a próxima palavra | -| `ctrl+t` | Transpor caracteres | +| Atalho | Ação | +| -------- | ------------------------------------------------ | +| `ctrl+a` | Mover para o início da linha atual | +| `ctrl+e` | Mover para o final da linha atual | +| `ctrl+b` | Mover o cursor uma posição para trás | +| `ctrl+f` | Mover o cursor uma posição para frente | +| `alt+b` | Mover o cursor uma palavra para trás | +| `alt+f` | Mover o cursor uma palavra para frente | +| `ctrl+d` | Deletar o caractere sob o cursor | +| `ctrl+k` | Matar até o final da linha | +| `ctrl+u` | Matar até o início da linha | +| `ctrl+w` | Matar a palavra anterior | +| `alt+d` | Matar a próxima palavra | +| `ctrl+t` | Transpor caracteres | | `ctrl+g` | Cancelar popovers / abortar resposta em execução | --- @@ -189,4 +189,4 @@ Adicione isso ao array `keybindings` de nível raiz: ] ``` -Salve o arquivo e reinicie o Windows Terminal ou abra uma nova aba.
\ No newline at end of file +Salve o arquivo e reinicie o Windows Terminal ou abra uma nova aba. diff --git a/packages/web/src/content/docs/pt-br/lsp.mdx b/packages/web/src/content/docs/pt-br/lsp.mdx index 640de7901..447f8dd42 100644 --- a/packages/web/src/content/docs/pt-br/lsp.mdx +++ b/packages/web/src/content/docs/pt-br/lsp.mdx @@ -11,40 +11,40 @@ OpenCode integra-se ao seu Protocolo de Servidor de Linguagem (LSP) para ajudar OpenCode vem com vários servidores LSP integrados para linguagens populares: -| Servidor LSP | Extensões | Requisitos | -| ------------------ | ------------------------------------------------------------------- | ---------------------------------------------------------- | -| astro | .astro | Instala automaticamente para projetos Astro | -| bash | .sh, .bash, .zsh, .ksh | Instala automaticamente bash-language-server | -| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Instala automaticamente para projetos C/C++ | -| csharp | .cs | `.NET SDK` instalado | -| clojure-lsp | .clj, .cljs, .cljc, .edn | Comando `clojure-lsp` disponível | -| dart | .dart | Comando `dart` disponível | +| Servidor LSP | Extensões | Requisitos | +| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------ | +| astro | .astro | Instala automaticamente para projetos Astro | +| bash | .sh, .bash, .zsh, .ksh | Instala automaticamente bash-language-server | +| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Instala automaticamente para projetos C/C++ | +| csharp | .cs | `.NET SDK` instalado | +| clojure-lsp | .clj, .cljs, .cljc, .edn | Comando `clojure-lsp` disponível | +| dart | .dart | Comando `dart` disponível | | deno | .ts, .tsx, .js, .jsx, .mjs | Comando `deno` disponível (detecta automaticamente deno.json/deno.jsonc) | -| elixir-ls | .ex, .exs | Comando `elixir` disponível | -| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | Dependência `eslint` no projeto | -| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instalado | -| gleam | .gleam | Comando `gleam` disponível | -| gopls | .go | Comando `go` disponível | -| hls | .hs, .lhs | Comando `haskell-language-server-wrapper` disponível | -| jdtls | .java | `Java SDK (versão 21+)` instalado | -| kotlin-ls | .kt, .kts | Instala automaticamente para projetos Kotlin | -| lua-ls | .lua | Instala automaticamente para projetos Lua | -| nixd | .nix | Comando `nixd` disponível | -| ocaml-lsp | .ml, .mli | Comando `ocamllsp` disponível | -| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | Dependência `oxlint` no projeto | -| php intelephense | .php | Instala automaticamente para projetos PHP | -| prisma | .prisma | Comando `prisma` disponível | -| pyright | .py, .pyi | Dependência `pyright` instalada | -| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Comandos `ruby` e `gem` disponíveis | -| rust | .rs | Comando `rust-analyzer` disponível | -| sourcekit-lsp | .swift, .objc, .objcpp | `swift` instalado (`xcode` no macOS) | -| svelte | .svelte | Instala automaticamente para projetos Svelte | -| terraform | .tf, .tfvars | Instala automaticamente a partir de lançamentos do GitHub | -| tinymist | .typ, .typc | Instala automaticamente a partir de lançamentos do GitHub | -| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | Dependência `typescript` no projeto | -| vue | .vue | Instala automaticamente para projetos Vue | -| yaml-ls | .yaml, .yml | Instala automaticamente o servidor yaml-language-server da Red Hat | -| zls | .zig, .zon | Comando `zig` disponível | +| elixir-ls | .ex, .exs | Comando `elixir` disponível | +| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | Dependência `eslint` no projeto | +| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instalado | +| gleam | .gleam | Comando `gleam` disponível | +| gopls | .go | Comando `go` disponível | +| hls | .hs, .lhs | Comando `haskell-language-server-wrapper` disponível | +| jdtls | .java | `Java SDK (versão 21+)` instalado | +| kotlin-ls | .kt, .kts | Instala automaticamente para projetos Kotlin | +| lua-ls | .lua | Instala automaticamente para projetos Lua | +| nixd | .nix | Comando `nixd` disponível | +| ocaml-lsp | .ml, .mli | Comando `ocamllsp` disponível | +| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | Dependência `oxlint` no projeto | +| php intelephense | .php | Instala automaticamente para projetos PHP | +| prisma | .prisma | Comando `prisma` disponível | +| pyright | .py, .pyi | Dependência `pyright` instalada | +| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Comandos `ruby` e `gem` disponíveis | +| rust | .rs | Comando `rust-analyzer` disponível | +| sourcekit-lsp | .swift, .objc, .objcpp | `swift` instalado (`xcode` no macOS) | +| svelte | .svelte | Instala automaticamente para projetos Svelte | +| terraform | .tf, .tfvars | Instala automaticamente a partir de lançamentos do GitHub | +| tinymist | .typ, .typc | Instala automaticamente a partir de lançamentos do GitHub | +| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | Dependência `typescript` no projeto | +| vue | .vue | Instala automaticamente para projetos Vue | +| yaml-ls | .yaml, .yml | Instala automaticamente o servidor yaml-language-server da Red Hat | +| zls | .zig, .zon | Comando `zig` disponível | Os servidores LSP são habilitados automaticamente quando uma das extensões de arquivo acima é detectada e os requisitos são atendidos. @@ -76,13 +76,13 @@ Você pode personalizar os servidores LSP através da seção `lsp` na sua confi Cada servidor LSP suporta o seguinte: -| Propriedade | Tipo | Descrição | -| ------------------ | -------- | ------------------------------------------------- | -| `disabled` | boolean | Defina como `true` para desabilitar o servidor LSP | -| `command` | string[] | O comando para iniciar o servidor LSP | -| `extensions` | string[] | Extensões de arquivo que este servidor LSP deve manipular | -| `env` | object | Variáveis de ambiente a serem definidas ao iniciar o servidor | -| `initialization` | object | Opções de inicialização a serem enviadas ao servidor LSP | +| Propriedade | Tipo | Descrição | +| ---------------- | -------- | ------------------------------------------------------------- | +| `disabled` | boolean | Defina como `true` para desabilitar o servidor LSP | +| `command` | string[] | O comando para iniciar o servidor LSP | +| `extensions` | string[] | Extensões de arquivo que este servidor LSP deve manipular | +| `env` | object | Variáveis de ambiente a serem definidas ao iniciar o servidor | +| `initialization` | object | Opções de inicialização a serem enviadas ao servidor LSP | Vamos ver alguns exemplos. @@ -185,4 +185,4 @@ PHP Intelephense oferece recursos premium através de uma chave de licença. Voc - No macOS/Linux: `$HOME/intelephense/licence.txt` - No Windows: `%USERPROFILE%/intelephense/licence.txt` -O arquivo deve conter apenas a chave de licença sem conteúdo adicional.
\ No newline at end of file +O arquivo deve conter apenas a chave de licença sem conteúdo adicional. diff --git a/packages/web/src/content/docs/pt-br/mcp-servers.mdx b/packages/web/src/content/docs/pt-br/mcp-servers.mdx index 894734443..ddc2211e1 100644 --- a/packages/web/src/content/docs/pt-br/mcp-servers.mdx +++ b/packages/web/src/content/docs/pt-br/mcp-servers.mdx @@ -116,13 +116,13 @@ use the mcp_tudo tool to add the number 3 and 4 Aqui estão todas as opções para configurar um servidor MCP local. -| Opção | Tipo | Requerido | Descrição | -| ------------ | ------- | --------- | --------------------------------------------------------------------------------- | -| `type` | String | S | Tipo de conexão do servidor MCP, deve ser `"local"`. | -| `command` | Array | S | Comando e argumentos para executar o servidor MCP. | -| `environment`| Object | | Variáveis de ambiente a serem definidas ao executar o servidor. | -| `enabled` | Boolean | | Habilitar ou desabilitar o servidor MCP na inicialização. | -| `timeout` | Number | | Tempo limite em ms para buscar ferramentas do servidor MCP. O padrão é 5000 (5 segundos). | +| Opção | Tipo | Requerido | Descrição | +| ------------- | ------- | --------- | ----------------------------------------------------------------------------------------- | +| `type` | String | S | Tipo de conexão do servidor MCP, deve ser `"local"`. | +| `command` | Array | S | Comando e argumentos para executar o servidor MCP. | +| `environment` | Object | | Variáveis de ambiente a serem definidas ao executar o servidor. | +| `enabled` | Boolean | | Habilitar ou desabilitar o servidor MCP na inicialização. | +| `timeout` | Number | | Tempo limite em ms para buscar ferramentas do servidor MCP. O padrão é 5000 (5 segundos). | --- @@ -152,14 +152,14 @@ O `url` é a URL do servidor MCP remoto e com a opção `headers` você pode pas #### Opções -| Opção | Tipo | Requerido | Descrição | -| -------- | ------- | --------- | --------------------------------------------------------------------------------- | -| `type` | String | S | Tipo de conexão do servidor MCP, deve ser `"remote"`. | -| `url` | String | S | URL do servidor MCP remoto. | -| `enabled`| Boolean | | Habilitar ou desabilitar o servidor MCP na inicialização. | -| `headers`| Object | | Cabeçalhos a serem enviados com a solicitação. | -| `oauth` | Object | | Configuração de autenticação OAuth. Veja a seção [OAuth](#oauth) abaixo. | -| `timeout`| Number | | Tempo limite em ms para buscar ferramentas do servidor MCP. O padrão é 5000 (5 segundos). | +| Opção | Tipo | Requerido | Descrição | +| --------- | ------- | --------- | ----------------------------------------------------------------------------------------- | +| `type` | String | S | Tipo de conexão do servidor MCP, deve ser `"remote"`. | +| `url` | String | S | URL do servidor MCP remoto. | +| `enabled` | Boolean | | Habilitar ou desabilitar o servidor MCP na inicialização. | +| `headers` | Object | | Cabeçalhos a serem enviados com a solicitação. | +| `oauth` | Object | | Configuração de autenticação OAuth. Veja a seção [OAuth](#oauth) abaixo. | +| `timeout` | Number | | Tempo limite em ms para buscar ferramentas do servidor MCP. O padrão é 5000 (5 segundos). | --- @@ -266,12 +266,12 @@ Se você quiser desabilitar o OAuth automático para um servidor (por exemplo, p #### Opções de OAuth -| Opção | Tipo | Descrição | -| -------------- | ----------------- | ------------------------------------------------------------------------------- | -| `oauth` | Object \| false | Objeto de configuração OAuth, ou `false` para desabilitar a detecção automática de OAuth. | -| `clientId` | String | ID do cliente OAuth. Se não fornecido, o registro dinâmico do cliente será tentado. | -| `clientSecret` | String | Segredo do cliente OAuth, se necessário pelo servidor de autorização. | -| `scope` | String | Escopos OAuth a serem solicitados durante a autorização. | +| Opção | Tipo | Descrição | +| -------------- | --------------- | ----------------------------------------------------------------------------------------- | +| `oauth` | Object \| false | Objeto de configuração OAuth, ou `false` para desabilitar a detecção automática de OAuth. | +| `clientId` | String | ID do cliente OAuth. Se não fornecido, o registro dinâmico do cliente será tentado. | +| `clientSecret` | String | Segredo do cliente OAuth, se necessário pelo servidor de autorização. | +| `scope` | String | Escopos OAuth a serem solicitados durante a autorização. | #### Depuração @@ -508,4 +508,4 @@ Alternativamente, você pode adicionar algo assim ao seu [AGENTS.md](/docs/rules ```md title="AGENTS.md" If you are unsure how to do something, use `gh_grep` to search code examples from GitHub. -```
\ No newline at end of file +``` diff --git a/packages/web/src/content/docs/pt-br/models.mdx b/packages/web/src/content/docs/pt-br/models.mdx index 808ca031e..26c61689a 100644 --- a/packages/web/src/content/docs/pt-br/models.mdx +++ b/packages/web/src/content/docs/pt-br/models.mdx @@ -219,4 +219,4 @@ Quando o OpenCode é iniciado, ele verifica modelos na seguinte ordem de priorid 3. O último modelo usado. -4. O primeiro modelo usando uma prioridade interna.
\ No newline at end of file +4. O primeiro modelo usando uma prioridade interna. diff --git a/packages/web/src/content/docs/pt-br/modes.mdx b/packages/web/src/content/docs/pt-br/modes.mdx index 02fb1e876..7198f6b93 100644 --- a/packages/web/src/content/docs/pt-br/modes.mdx +++ b/packages/web/src/content/docs/pt-br/modes.mdx @@ -222,19 +222,19 @@ Se nenhuma ferramenta for especificada, todas as ferramentas estão habilitadas Aqui estão todas as ferramentas que podem ser controladas através da configuração do modo. -| Ferramenta | Descrição | -| ------------ | -------------------------- | -| `bash` | Executar comandos de shell | -| `edit` | Modificar arquivos existentes | -| `write` | Criar novos arquivos | -| `read` | Ler conteúdos de arquivos | +| Ferramenta | Descrição | +| ----------- | ------------------------------- | +| `bash` | Executar comandos de shell | +| `edit` | Modificar arquivos existentes | +| `write` | Criar novos arquivos | +| `read` | Ler conteúdos de arquivos | | `grep` | Pesquisar conteúdos de arquivos | -| `glob` | Encontrar arquivos por padrão | -| `list` | Listar conteúdos de diretório | -| `patch` | Aplicar patches a arquivos | -| `todowrite` | Gerenciar listas de tarefas | -| `todoread` | Ler listas de tarefas | -| `webfetch` | Buscar conteúdo da web | +| `glob` | Encontrar arquivos por padrão | +| `list` | Listar conteúdos de diretório | +| `patch` | Aplicar patches a arquivos | +| `todowrite` | Gerenciar listas de tarefas | +| `todoread` | Ler listas de tarefas | +| `webfetch` | Buscar conteúdo da web | --- @@ -325,4 +325,4 @@ Aqui estão alguns casos de uso comuns para diferentes modos. - **Modo Debug**: Focado em investigação com ferramentas bash e de leitura habilitadas - **Modo Docs**: Redação de documentação com operações de arquivo, mas sem comandos do sistema -Você também pode descobrir que diferentes modelos são bons para diferentes casos de uso.
\ No newline at end of file +Você também pode descobrir que diferentes modelos são bons para diferentes casos de uso. diff --git a/packages/web/src/content/docs/pt-br/network.mdx b/packages/web/src/content/docs/pt-br/network.mdx index 0931b2b5b..7303569f8 100644 --- a/packages/web/src/content/docs/pt-br/network.mdx +++ b/packages/web/src/content/docs/pt-br/network.mdx @@ -54,4 +54,4 @@ Se sua empresa usa CAs personalizadas para conexões HTTPS, configure o OpenCode export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem ``` -Isso funciona tanto para conexões de proxy quanto para acesso direto à API.
\ No newline at end of file +Isso funciona tanto para conexões de proxy quanto para acesso direto à API. diff --git a/packages/web/src/content/docs/pt-br/permissions.mdx b/packages/web/src/content/docs/pt-br/permissions.mdx index 994e83de8..106450eba 100644 --- a/packages/web/src/content/docs/pt-br/permissions.mdx +++ b/packages/web/src/content/docs/pt-br/permissions.mdx @@ -234,4 +234,4 @@ Apenas analise o código e sugira alterações. :::tip Use correspondência de padrões para comandos com argumentos. `"grep *"` permite `grep pattern file.txt`, enquanto `"grep"` sozinho o bloquearia. Comandos como `git status` funcionam para o comportamento padrão, mas requerem permissão explícita (como `"git status *"`) quando argumentos são passados. -:::
\ No newline at end of file +::: diff --git a/packages/web/src/content/docs/pt-br/plugins.mdx b/packages/web/src/content/docs/pt-br/plugins.mdx index af33e0777..46d610416 100644 --- a/packages/web/src/content/docs/pt-br/plugins.mdx +++ b/packages/web/src/content/docs/pt-br/plugins.mdx @@ -381,4 +381,4 @@ Formate como um prompt estruturado que um novo agente pode usar para retomar o t } ``` -Quando `output.prompt` é definido, ele substitui completamente o prompt de compactação padrão. O array `output.context` é ignorado neste caso.
\ No newline at end of file +Quando `output.prompt` é definido, ele substitui completamente o prompt de compactação padrão. O array `output.context` é ignorado neste caso. diff --git a/packages/web/src/content/docs/pt-br/providers.mdx b/packages/web/src/content/docs/pt-br/providers.mdx index f10702e6f..b4a9afc33 100644 --- a/packages/web/src/content/docs/pt-br/providers.mdx +++ b/packages/web/src/content/docs/pt-br/providers.mdx @@ -1016,12 +1016,12 @@ O plugin injeta os cabeçalhos `Helicone-Session-Id` e `Helicone-Session-Name` e ##### Cabeçalhos Comuns do Helicone -| Cabeçalho | Descrição | -| ----------------------------- | ----------------------------------------------------------- | -| `Helicone-Cache-Enabled` | Habilitar cache de resposta (`true`/`false`) | -| `Helicone-User-Id` | Rastrear métricas por usuário | -| `Helicone-Property-[Nome]` | Adicionar propriedades personalizadas (ex: `Helicone-Property-Environment`) | -| `Helicone-Prompt-Id` | Associar solicitações com versões de prompt | +| Cabeçalho | Descrição | +| -------------------------- | --------------------------------------------------------------------------- | +| `Helicone-Cache-Enabled` | Habilitar cache de resposta (`true`/`false`) | +| `Helicone-User-Id` | Rastrear métricas por usuário | +| `Helicone-Property-[Nome]` | Adicionar propriedades personalizadas (ex: `Helicone-Property-Environment`) | +| `Helicone-Prompt-Id` | Associar solicitações com versões de prompt | Consulte o [Diretório de Cabeçalhos do Helicone](https://docs.helicone.ai/helicone-headers/header-directory) para todos os cabeçalhos disponíveis. @@ -1630,11 +1630,11 @@ Você também pode personalizar modelos através da sua configuração do openco Algumas opções de roteamento úteis: -| Opção | Descrição | -| -------------------- | -------------------------------------------------- | -| `order` | Sequência de provedores a serem tentados | -| `only` | Restringir a provedores específicos | -| `zeroDataRetention` | Usar apenas provedores com políticas de retenção de dados zero | +| Opção | Descrição | +| ------------------- | -------------------------------------------------------------- | +| `order` | Sequência de provedores a serem tentados | +| `only` | Restringir a provedores específicos | +| `zeroDataRetention` | Usar apenas provedores com políticas de retenção de dados zero | --- diff --git a/packages/web/src/content/docs/pt-br/rules.mdx b/packages/web/src/content/docs/pt-br/rules.mdx index 8860db15e..45b361bd0 100644 --- a/packages/web/src/content/docs/pt-br/rules.mdx +++ b/packages/web/src/content/docs/pt-br/rules.mdx @@ -177,4 +177,4 @@ Essa abordagem permite que você: :::tip Para monorepos ou projetos com padrões compartilhados, usar `opencode.json` com padrões glob (como `packages/*/AGENTS.md`) é mais sustentável do que instruções manuais. -:::
\ No newline at end of file +::: diff --git a/packages/web/src/content/docs/pt-br/sdk.mdx b/packages/web/src/content/docs/pt-br/sdk.mdx index ec86081ce..7a33ddafd 100644 --- a/packages/web/src/content/docs/pt-br/sdk.mdx +++ b/packages/web/src/content/docs/pt-br/sdk.mdx @@ -37,13 +37,13 @@ Isso inicia tanto um servidor quanto um cliente. #### Opções -| Opção | Tipo | Descrição | Padrão | -|------------|--------------|---------------------------------|-------------| -| `hostname` | `string` | Nome do host do servidor | `127.0.0.1` | -| `port` | `number` | Porta do servidor | `4096` | -| `signal` | `AbortSignal`| Sinal de abortar para cancelamento | `undefined` | -| `timeout` | `number` | Tempo limite em ms para iniciar o servidor | `5000` | -| `config` | `Config` | Objeto de configuração | `{}` | +| Opção | Tipo | Descrição | Padrão | +| ---------- | ------------- | ------------------------------------------ | ----------- | +| `hostname` | `string` | Nome do host do servidor | `127.0.0.1` | +| `port` | `number` | Porta do servidor | `4096` | +| `signal` | `AbortSignal` | Sinal de abortar para cancelamento | `undefined` | +| `timeout` | `number` | Tempo limite em ms para iniciar o servidor | `5000` | +| `config` | `Config` | Objeto de configuração | `{}` | --- @@ -81,13 +81,13 @@ const client = createOpencodeClient({ #### Opções -| Opção | Tipo | Descrição | Padrão | -|----------------|------------|---------------------------------|---------------------------| -| `baseUrl` | `string` | URL do servidor | `http://localhost:4096` | -| `fetch` | `function` | Implementação de fetch personalizada | `globalThis.fetch` | -| `parseAs` | `string` | Método de análise da resposta | `auto` | -| `responseStyle`| `string` | Estilo de retorno: `data` ou `fields` | `fields` | -| `throwOnError` | `boolean` | Lançar erros em vez de retornar | `false` | +| Opção | Tipo | Descrição | Padrão | +| --------------- | ---------- | ------------------------------------- | ----------------------- | +| `baseUrl` | `string` | URL do servidor | `http://localhost:4096` | +| `fetch` | `function` | Implementação de fetch personalizada | `globalThis.fetch` | +| `parseAs` | `string` | Método de análise da resposta | `auto` | +| `responseStyle` | `string` | Estilo de retorno: `data` ou `fields` | `fields` | +| `throwOnError` | `boolean` | Lançar erros em vez de retornar | `false` | --- @@ -125,9 +125,9 @@ O SDK expõe todas as APIs do servidor através de um cliente seguro em tipos. ### Global -| Método | Descrição | Resposta | -|-------------------|-------------------------------|--------------------------------------| -| `global.health()` | Verificar a saúde e versão do servidor | `{ healthy: true, version: string }` | +| Método | Descrição | Resposta | +| ----------------- | -------------------------------------- | ------------------------------------ | +| `global.health()` | Verificar a saúde e versão do servidor | `{ healthy: true, version: string }` | --- @@ -142,10 +142,10 @@ console.log(health.data.version) ### App -| Método | Descrição | Resposta | -|-----------------|-------------------------|---------------------------------------------| -| `app.log()` | Escrever uma entrada de log | `boolean` | -| `app.agents()` | Listar todos os agentes disponíveis | <a href={typesUrl}><code>Agent[]</code></a> | +| Método | Descrição | Resposta | +| -------------- | ----------------------------------- | ------------------------------------------- | +| `app.log()` | Escrever uma entrada de log | `boolean` | +| `app.agents()` | Listar todos os agentes disponíveis | <a href={typesUrl}><code>Agent[]</code></a> | --- @@ -169,10 +169,10 @@ const agents = await client.app.agents() ### Projeto -| Método | Descrição | Resposta | -|---------------------|-------------------|-----------------------------------------------| +| Método | Descrição | Resposta | +| ------------------- | ------------------------ | --------------------------------------------- | | `project.list()` | Listar todos os projetos | <a href={typesUrl}><code>Project[]</code></a> | -| `project.current()` | Obter projeto atual | <a href={typesUrl}><code>Project</code></a> | +| `project.current()` | Obter projeto atual | <a href={typesUrl}><code>Project</code></a> | --- @@ -190,8 +190,8 @@ const currentProject = await client.project.current() ### Caminho -| Método | Descrição | Resposta | -|--------------|----------------|------------------------------------------| +| Método | Descrição | Resposta | +| ------------ | ------------------- | ---------------------------------------- | | `path.get()` | Obter caminho atual | <a href={typesUrl}><code>Path</code></a> | --- @@ -207,10 +207,10 @@ const pathInfo = await client.path.get() ### Configuração -| Método | Descrição | Resposta | -|----------------------|---------------------------------|-------------------------------------------------------------------------------------------------------| -| `config.get()` | Obter informações de configuração | <a href={typesUrl}><code>Config</code></a> | -| `config.providers()` | Listar provedores e modelos padrão | `{ providers: `<a href={typesUrl}><code>Provider[]</code></a>`, default: { [key: string]: string } }` | +| Método | Descrição | Resposta | +| -------------------- | ---------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `config.get()` | Obter informações de configuração | <a href={typesUrl}><code>Config</code></a> | +| `config.providers()` | Listar provedores e modelos padrão | `{ providers: `<a href={typesUrl}><code>Provider[]</code></a>`, default: { [key: string]: string } }` | --- @@ -226,27 +226,27 @@ const { providers, default: defaults } = await client.config.providers() ### Sessões -| Método | Descrição | Notas | -|-----------------------------------------------------------|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| -| `session.list()` | Listar sessões | Retorna <a href={typesUrl}><code>Session[]</code></a> | -| `session.get({ path })` | Obter sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `session.children({ path })` | Listar sessões filhas | Retorna <a href={typesUrl}><code>Session[]</code></a> | -| `session.create({ body })` | Criar sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `session.delete({ path })` | Deletar sessão | Retorna `boolean` | -| `session.update({ path, body })` | Atualizar propriedades da sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `session.init({ path, body })` | Analisar app e criar `AGENTS.md` | Retorna `boolean` | -| `session.abort({ path })` | Abortar uma sessão em execução | Retorna `boolean` | -| `session.share({ path })` | Compartilhar sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `session.unshare({ path })` | Descompartilhar sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `session.summarize({ path, body })` | Resumir sessão | Retorna `boolean` | -| `session.messages({ path })` | Listar mensagens em uma sessão | Retorna `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` | -| `session.message({ path })` | Obter detalhes da mensagem | Retorna `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` | -| `session.prompt({ path, body })` | Enviar mensagem de prompt | `body.noReply: true` retorna UserMessage (apenas contexto). O padrão retorna <a href={typesUrl}><code>AssistantMessage</code></a> com resposta da IA | -| `session.command({ path, body })` | Enviar comando para a sessão | Retorna `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` | -| `session.shell({ path, body })` | Executar um comando shell | Retorna <a href={typesUrl}><code>AssistantMessage</code></a> | -| `session.revert({ path, body })` | Reverter uma mensagem | Retorna <a href={typesUrl}><code>Session</code></a> | -| `session.unrevert({ path })` | Restaurar mensagens revertidas | Retorna <a href={typesUrl}><code>Session</code></a> | -| `postSessionByIdPermissionsByPermissionId({ path, body })` | Responder a um pedido de permissão | Retorna `boolean` | +| Método | Descrição | Notas | +| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `session.list()` | Listar sessões | Retorna <a href={typesUrl}><code>Session[]</code></a> | +| `session.get({ path })` | Obter sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `session.children({ path })` | Listar sessões filhas | Retorna <a href={typesUrl}><code>Session[]</code></a> | +| `session.create({ body })` | Criar sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `session.delete({ path })` | Deletar sessão | Retorna `boolean` | +| `session.update({ path, body })` | Atualizar propriedades da sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `session.init({ path, body })` | Analisar app e criar `AGENTS.md` | Retorna `boolean` | +| `session.abort({ path })` | Abortar uma sessão em execução | Retorna `boolean` | +| `session.share({ path })` | Compartilhar sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `session.unshare({ path })` | Descompartilhar sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `session.summarize({ path, body })` | Resumir sessão | Retorna `boolean` | +| `session.messages({ path })` | Listar mensagens em uma sessão | Retorna `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` | +| `session.message({ path })` | Obter detalhes da mensagem | Retorna `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` | +| `session.prompt({ path, body })` | Enviar mensagem de prompt | `body.noReply: true` retorna UserMessage (apenas contexto). O padrão retorna <a href={typesUrl}><code>AssistantMessage</code></a> com resposta da IA | +| `session.command({ path, body })` | Enviar comando para a sessão | Retorna `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` | +| `session.shell({ path, body })` | Executar um comando shell | Retorna <a href={typesUrl}><code>AssistantMessage</code></a> | +| `session.revert({ path, body })` | Reverter uma mensagem | Retorna <a href={typesUrl}><code>Session</code></a> | +| `session.unrevert({ path })` | Restaurar mensagens revertidas | Retorna <a href={typesUrl}><code>Session</code></a> | +| `postSessionByIdPermissionsByPermissionId({ path, body })` | Responder a um pedido de permissão | Retorna `boolean` | --- @@ -283,13 +283,13 @@ await client.session.prompt({ ### Arquivos -| Método | Descrição | Resposta | -|---------------------------|----------------------------------|---------------------------------------------------------------------------------------------| -| `find.text({ query })` | Pesquisar texto em arquivos | Array de objetos de correspondência com `path`, `lines`, `line_number`, `absolute_offset`, `submatches` | -| `find.files({ query })` | Encontrar arquivos e diretórios por nome | `string[]` (caminhos) | -| `find.symbols({ query })` | Encontrar símbolos no workspace | <a href={typesUrl}><code>Symbol[]</code></a> | -| `file.read({ query })` | Ler um arquivo | `{ type: "raw" \| "patch", content: string }` | -| `file.status({ query? })` | Obter status para arquivos rastreados | <a href={typesUrl}><code>File[]</code></a> | +| Método | Descrição | Resposta | +| ------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `find.text({ query })` | Pesquisar texto em arquivos | Array de objetos de correspondência com `path`, `lines`, `line_number`, `absolute_offset`, `submatches` | +| `find.files({ query })` | Encontrar arquivos e diretórios por nome | `string[]` (caminhos) | +| `find.symbols({ query })` | Encontrar símbolos no workspace | <a href={typesUrl}><code>Symbol[]</code></a> | +| `file.read({ query })` | Ler um arquivo | `{ type: "raw" \| "patch", content: string }` | +| `file.status({ query? })` | Obter status para arquivos rastreados | <a href={typesUrl}><code>File[]</code></a> | `find.files` suporta alguns campos de consulta opcionais: @@ -324,17 +324,17 @@ const content = await client.file.read({ ### TUI -| Método | Descrição | Resposta | -|-------------------------------|-------------------------|-----------| -| `tui.appendPrompt({ body })` | Adicionar texto ao prompt | `boolean` | -| `tui.openHelp()` | Abrir o diálogo de ajuda | `boolean` | +| Método | Descrição | Resposta | +| ------------------------------ | -------------------------- | --------- | +| `tui.appendPrompt({ body })` | Adicionar texto ao prompt | `boolean` | +| `tui.openHelp()` | Abrir o diálogo de ajuda | `boolean` | | `tui.openSessions()` | Abrir o seletor de sessões | `boolean` | | `tui.openThemes()` | Abrir o seletor de temas | `boolean` | -| `tui.openModels()` | Abrir o seletor de modelos | `boolean` | +| `tui.openModels()` | Abrir o seletor de modelos | `boolean` | | `tui.submitPrompt()` | Enviar o prompt atual | `boolean` | | `tui.clearPrompt()` | Limpar o prompt | `boolean` | | `tui.executeCommand({ body })` | Executar um comando | `boolean` | -| `tui.showToast({ body })` | Mostrar notificação toast | `boolean` | +| `tui.showToast({ body })` | Mostrar notificação toast | `boolean` | --- @@ -355,8 +355,8 @@ await client.tui.showToast({ ### Autenticação -| Método | Descrição | Resposta | -|---------------------|------------------------------|-----------| +| Método | Descrição | Resposta | +| ------------------- | ----------------------------------- | --------- | | `auth.set({ ... })` | Definir credenciais de autenticação | `boolean` | --- @@ -374,8 +374,8 @@ await client.auth.set({ ### Eventos -| Método | Descrição | Resposta | -|---------------------|-------------------------|---------------------------| +| Método | Descrição | Resposta | +| ------------------- | --------------------------------------- | --------------------------------------- | | `event.subscribe()` | Fluxo de eventos enviados pelo servidor | Fluxo de eventos enviados pelo servidor | --- @@ -388,4 +388,4 @@ const events = await client.event.subscribe() for await (const event of events.stream) { console.log("Evento:", event.type, event.properties) } -```
\ No newline at end of file +``` diff --git a/packages/web/src/content/docs/pt-br/server.mdx b/packages/web/src/content/docs/pt-br/server.mdx index 433b38fe4..8e2919158 100644 --- a/packages/web/src/content/docs/pt-br/server.mdx +++ b/packages/web/src/content/docs/pt-br/server.mdx @@ -18,13 +18,13 @@ opencode serve [--port <número>] [--hostname <string>] [--cors <origem>] #### Opções -| Flag | Descrição | Padrão | -| --------------- | ----------------------------------- | ---------------- | -| `--port` | Porta para escutar | `4096` | -| `--hostname` | Nome do host para escutar | `127.0.0.1` | -| `--mdns` | Habilitar descoberta mDNS | `false` | +| Flag | Descrição | Padrão | +| --------------- | ------------------------------------------------- | ---------------- | +| `--port` | Porta para escutar | `4096` | +| `--hostname` | Nome do host para escutar | `127.0.0.1` | +| `--mdns` | Habilitar descoberta mDNS | `false` | | `--mdns-domain` | Nome de domínio personalizado para o serviço mDNS | `opencode.local` | -| `--cors` | Origens adicionais de navegador a permitir | `[]` | +| `--cors` | Origens adicionais de navegador a permitir | `[]` | `--cors` pode ser passado várias vezes: @@ -86,116 +86,116 @@ O servidor opencode expõe as seguintes APIs. ### Global -| Método | Caminho | Descrição | Resposta | -| ------ | ------------------- | ------------------------------ | -------------------------------------- | -| `GET` | `/global/health` | Obter saúde e versão do servidor | `{ healthy: true, version: string }` | -| `GET` | `/global/event` | Obter eventos globais (fluxo SSE) | Fluxo de eventos | +| Método | Caminho | Descrição | Resposta | +| ------ | ---------------- | --------------------------------- | ------------------------------------ | +| `GET` | `/global/health` | Obter saúde e versão do servidor | `{ healthy: true, version: string }` | +| `GET` | `/global/event` | Obter eventos globais (fluxo SSE) | Fluxo de eventos | --- ### Projeto -| Método | Caminho | Descrição | Resposta | -| ------ | --------------------- | --------------------------- | --------------------------------------------- | -| `GET` | `/project` | Listar todos os projetos | <a href={typesUrl}><code>Project[]</code></a> | -| `GET` | `/project/current` | Obter o projeto atual | <a href={typesUrl}><code>Project</code></a> | +| Método | Caminho | Descrição | Resposta | +| ------ | ------------------ | ------------------------ | --------------------------------------------- | +| `GET` | `/project` | Listar todos os projetos | <a href={typesUrl}><code>Project[]</code></a> | +| `GET` | `/project/current` | Obter o projeto atual | <a href={typesUrl}><code>Project</code></a> | --- ### Caminho & VCS -| Método | Caminho | Descrição | Resposta | -| ------ | ---------- | ------------------------------------- | ------------------------------------------- | -| `GET` | `/path` | Obter o caminho atual | <a href={typesUrl}><code>Path</code></a> | -| `GET` | `/vcs` | Obter informações do VCS para o projeto atual | <a href={typesUrl}><code>VcsInfo</code></a> | +| Método | Caminho | Descrição | Resposta | +| ------ | ------- | --------------------------------------------- | ------------------------------------------- | +| `GET` | `/path` | Obter o caminho atual | <a href={typesUrl}><code>Path</code></a> | +| `GET` | `/vcs` | Obter informações do VCS para o projeto atual | <a href={typesUrl}><code>VcsInfo</code></a> | --- ### Instância -| Método | Caminho | Descrição | Resposta | -| ------ | ---------------------- | ----------------------------- | --------- | -| `POST` | `/instance/dispose` | Descartar a instância atual | `boolean` | +| Método | Caminho | Descrição | Resposta | +| ------ | ------------------- | --------------------------- | --------- | +| `POST` | `/instance/dispose` | Descartar a instância atual | `boolean` | --- ### Configuração -| Método | Caminho | Descrição | Resposta | -| ------- | ---------------------- | -------------------------------- | ---------------------------------------------------------------------------------------- | -| `GET` | `/config` | Obter informações de configuração | <a href={typesUrl}><code>Config</code></a> | -| `PATCH` | `/config` | Atualizar configuração | <a href={typesUrl}><code>Config</code></a> | -| `GET` | `/config/providers` | Listar provedores e modelos padrão | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` | +| Método | Caminho | Descrição | Resposta | +| ------- | ------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------- | +| `GET` | `/config` | Obter informações de configuração | <a href={typesUrl}><code>Config</code></a> | +| `PATCH` | `/config` | Atualizar configuração | <a href={typesUrl}><code>Config</code></a> | +| `GET` | `/config/providers` | Listar provedores e modelos padrão | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` | --- ### Provedor -| Método | Caminho | Descrição | Resposta | -| ------ | ----------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------- | -| `GET` | `/provider` | Listar todos os provedores | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` | -| `GET` | `/provider/auth` | Obter métodos de autenticação do provedor | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` | -| `POST` | `/provider/{id}/oauth/authorize` | Autorizar um provedor usando OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> | -| `POST` | `/provider/{id}/oauth/callback` | Lidar com o callback OAuth para um provedor | `boolean` | +| Método | Caminho | Descrição | Resposta | +| ------ | -------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------- | +| `GET` | `/provider` | Listar todos os provedores | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` | +| `GET` | `/provider/auth` | Obter métodos de autenticação do provedor | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` | +| `POST` | `/provider/{id}/oauth/authorize` | Autorizar um provedor usando OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> | +| `POST` | `/provider/{id}/oauth/callback` | Lidar com o callback OAuth para um provedor | `boolean` | --- ### Sessões -| Método | Caminho | Descrição | Notas | -| -------- | -------------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- | -| `GET` | `/session` | Listar todas as sessões | Retorna <a href={typesUrl}><code>Session[]</code></a> | -| `POST` | `/session` | Criar uma nova sessão | corpo: `{ parentID?, title? }`, retorna <a href={typesUrl}><code>Session</code></a> | -| `GET` | `/session/status` | Obter status da sessão para todas as sessões | Retorna `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` | -| `GET` | `/session/:id` | Obter detalhes da sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `DELETE` | `/session/:id` | Deletar uma sessão e todos os seus dados | Retorna `boolean` | -| `PATCH` | `/session/:id` | Atualizar propriedades da sessão | corpo: `{ title? }`, retorna <a href={typesUrl}><code>Session</code></a> | -| `GET` | `/session/:id/children` | Obter as sessões filhas de uma sessão | Retorna <a href={typesUrl}><code>Session[]</code></a> | -| `GET` | `/session/:id/todo` | Obter a lista de tarefas para uma sessão | Retorna <a href={typesUrl}><code>Todo[]</code></a> | -| `POST` | `/session/:id/init` | Analisar o app e criar `AGENTS.md` | corpo: `{ messageID, providerID, modelID }`, retorna `boolean` | -| `POST` | `/session/:id/fork` | Fazer um fork de uma sessão existente em uma mensagem | corpo: `{ messageID? }`, retorna <a href={typesUrl}><code>Session</code></a> | -| `POST` | `/session/:id/abort` | Abortar uma sessão em execução | Retorna `boolean` | -| `POST` | `/session/:id/share` | Compartilhar uma sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `DELETE` | `/session/:id/share` | Descompartilhar uma sessão | Retorna <a href={typesUrl}><code>Session</code></a> | -| `GET` | `/session/:id/diff` | Obter a diferença para esta sessão | query: `messageID?`, retorna <a href={typesUrl}><code>FileDiff[]</code></a> | -| `POST` | `/session/:id/summarize` | Resumir a sessão | corpo: `{ providerID, modelID }`, retorna `boolean` | -| `POST` | `/session/:id/revert` | Reverter uma mensagem | corpo: `{ messageID, partID? }`, retorna `boolean` | -| `POST` | `/session/:id/unrevert` | Restaurar todas as mensagens revertidas | Retorna `boolean` | -| `POST` | `/session/:id/permissions/:permissionID` | Responder a um pedido de permissão | corpo: `{ response, remember? }`, retorna `boolean` | +| Método | Caminho | Descrição | Notas | +| -------- | ---------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `GET` | `/session` | Listar todas as sessões | Retorna <a href={typesUrl}><code>Session[]</code></a> | +| `POST` | `/session` | Criar uma nova sessão | corpo: `{ parentID?, title? }`, retorna <a href={typesUrl}><code>Session</code></a> | +| `GET` | `/session/status` | Obter status da sessão para todas as sessões | Retorna `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` | +| `GET` | `/session/:id` | Obter detalhes da sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `DELETE` | `/session/:id` | Deletar uma sessão e todos os seus dados | Retorna `boolean` | +| `PATCH` | `/session/:id` | Atualizar propriedades da sessão | corpo: `{ title? }`, retorna <a href={typesUrl}><code>Session</code></a> | +| `GET` | `/session/:id/children` | Obter as sessões filhas de uma sessão | Retorna <a href={typesUrl}><code>Session[]</code></a> | +| `GET` | `/session/:id/todo` | Obter a lista de tarefas para uma sessão | Retorna <a href={typesUrl}><code>Todo[]</code></a> | +| `POST` | `/session/:id/init` | Analisar o app e criar `AGENTS.md` | corpo: `{ messageID, providerID, modelID }`, retorna `boolean` | +| `POST` | `/session/:id/fork` | Fazer um fork de uma sessão existente em uma mensagem | corpo: `{ messageID? }`, retorna <a href={typesUrl}><code>Session</code></a> | +| `POST` | `/session/:id/abort` | Abortar uma sessão em execução | Retorna `boolean` | +| `POST` | `/session/:id/share` | Compartilhar uma sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `DELETE` | `/session/:id/share` | Descompartilhar uma sessão | Retorna <a href={typesUrl}><code>Session</code></a> | +| `GET` | `/session/:id/diff` | Obter a diferença para esta sessão | query: `messageID?`, retorna <a href={typesUrl}><code>FileDiff[]</code></a> | +| `POST` | `/session/:id/summarize` | Resumir a sessão | corpo: `{ providerID, modelID }`, retorna `boolean` | +| `POST` | `/session/:id/revert` | Reverter uma mensagem | corpo: `{ messageID, partID? }`, retorna `boolean` | +| `POST` | `/session/:id/unrevert` | Restaurar todas as mensagens revertidas | Retorna `boolean` | +| `POST` | `/session/:id/permissions/:permissionID` | Responder a um pedido de permissão | corpo: `{ response, remember? }`, retorna `boolean` | --- ### Mensagens -| Método | Caminho | Descrição | Notas | -| ------ | ------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `GET` | `/session/:id/message` | Listar mensagens em uma sessão | query: `limit?`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` | -| `POST` | `/session/:id/message` | Enviar uma mensagem e aguardar resposta | corpo: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | -| `GET` | `/session/:id/message/:messageID` | Obter detalhes da mensagem | Retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | -| `POST` | `/session/:id/prompt_async` | Enviar uma mensagem assíncrona (sem espera) | corpo: igual a `/session/:id/message`, retorna `204 No Content` | -| `POST` | `/session/:id/command` | Executar um comando de barra | corpo: `{ messageID?, agent?, model?, command, arguments }`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | -| `POST` | `/session/:id/shell` | Executar um comando shell | corpo: `{ agent, model?, command }`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | +| Método | Caminho | Descrição | Notas | +| ------ | --------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `GET` | `/session/:id/message` | Listar mensagens em uma sessão | query: `limit?`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` | +| `POST` | `/session/:id/message` | Enviar uma mensagem e aguardar resposta | corpo: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | +| `GET` | `/session/:id/message/:messageID` | Obter detalhes da mensagem | Retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | +| `POST` | `/session/:id/prompt_async` | Enviar uma mensagem assíncrona (sem espera) | corpo: igual a `/session/:id/message`, retorna `204 No Content` | +| `POST` | `/session/:id/command` | Executar um comando de barra | corpo: `{ messageID?, agent?, model?, command, arguments }`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | +| `POST` | `/session/:id/shell` | Executar um comando shell | corpo: `{ agent, model?, command }`, retorna `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` | --- ### Comandos -| Método | Caminho | Descrição | Resposta | -| ------ | ------------- | ----------------- | --------------------------------------------- | -| `GET` | `/command` | Listar todos os comandos | <a href={typesUrl}><code>Command[]</code></a> | +| Método | Caminho | Descrição | Resposta | +| ------ | ---------- | ------------------------ | --------------------------------------------- | +| `GET` | `/command` | Listar todos os comandos | <a href={typesUrl}><code>Command[]</code></a> | --- ### Arquivos -| Método | Caminho | Descrição | Resposta | -| ------ | ---------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- | -| `GET` | `/find?pattern=<pat>` | Pesquisar texto em arquivos | Array de objetos de correspondência com `path`, `lines`, `line_number`, `absolute_offset`, `submatches` | -| `GET` | `/find/file?query=<q>` | Encontrar arquivos e diretórios por nome | `string[]` (caminhos) | -| `GET` | `/find/symbol?query=<q>` | Encontrar símbolos do workspace | <a href={typesUrl}><code>Symbol[]</code></a> | -| `GET` | `/file?path=<path>` | Listar arquivos e diretórios | <a href={typesUrl}><code>FileNode[]</code></a> | -| `GET` | `/file/content?path=<p>` | Ler um arquivo | <a href={typesUrl}><code>FileContent</code></a> | -| `GET` | `/file/status` | Obter status para arquivos rastreados | <a href={typesUrl}><code>File[]</code></a> | +| Método | Caminho | Descrição | Resposta | +| ------ | ------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `GET` | `/find?pattern=<pat>` | Pesquisar texto em arquivos | Array de objetos de correspondência com `path`, `lines`, `line_number`, `absolute_offset`, `submatches` | +| `GET` | `/find/file?query=<q>` | Encontrar arquivos e diretórios por nome | `string[]` (caminhos) | +| `GET` | `/find/symbol?query=<q>` | Encontrar símbolos do workspace | <a href={typesUrl}><code>Symbol[]</code></a> | +| `GET` | `/file?path=<path>` | Listar arquivos e diretórios | <a href={typesUrl}><code>FileNode[]</code></a> | +| `GET` | `/file/content?path=<p>` | Ler um arquivo | <a href={typesUrl}><code>FileContent</code></a> | +| `GET` | `/file/status` | Obter status para arquivos rastreados | <a href={typesUrl}><code>File[]</code></a> | #### Parâmetros de consulta `/find/file` @@ -209,76 +209,76 @@ O servidor opencode expõe as seguintes APIs. ### Ferramentas (Experimental) -| Método | Caminho | Descrição | Resposta | -| ------ | ----------------------------------------------- | -------------------------------------- | -------------------------------------------- | -| `GET` | `/experimental/tool/ids` | Listar todos os IDs de ferramentas | <a href={typesUrl}><code>ToolIDs</code></a> | -| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Listar ferramentas com esquemas JSON para um modelo | <a href={typesUrl}><code>ToolList</code></a> | +| Método | Caminho | Descrição | Resposta | +| ------ | ------------------------------------------- | --------------------------------------------------- | -------------------------------------------- | +| `GET` | `/experimental/tool/ids` | Listar todos os IDs de ferramentas | <a href={typesUrl}><code>ToolIDs</code></a> | +| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Listar ferramentas com esquemas JSON para um modelo | <a href={typesUrl}><code>ToolList</code></a> | --- ### LSP, Formatadores & MCP -| Método | Caminho | Descrição | Resposta | -| ------ | ---------------- | ------------------------ | -------------------------------------------------------- | -| `GET` | `/lsp` | Obter status do servidor LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> | -| `GET` | `/formatter` | Obter status do formatador | <a href={typesUrl}><code>FormatterStatus[]</code></a> | -| `GET` | `/mcp` | Obter status do servidor MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` | -| `POST` | `/mcp` | Adicionar servidor MCP dinamicamente | corpo: `{ name, config }`, retorna objeto de status MCP | +| Método | Caminho | Descrição | Resposta | +| ------ | ------------ | ------------------------------------ | -------------------------------------------------------- | +| `GET` | `/lsp` | Obter status do servidor LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> | +| `GET` | `/formatter` | Obter status do formatador | <a href={typesUrl}><code>FormatterStatus[]</code></a> | +| `GET` | `/mcp` | Obter status do servidor MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` | +| `POST` | `/mcp` | Adicionar servidor MCP dinamicamente | corpo: `{ name, config }`, retorna objeto de status MCP | --- ### Agentes -| Método | Caminho | Descrição | Resposta | -| ------ | ----------- | ----------------------- | ------------------------------------------- | -| `GET` | `/agent` | Listar todos os agentes disponíveis | <a href={typesUrl}><code>Agent[]</code></a> | +| Método | Caminho | Descrição | Resposta | +| ------ | -------- | ----------------------------------- | ------------------------------------------- | +| `GET` | `/agent` | Listar todos os agentes disponíveis | <a href={typesUrl}><code>Agent[]</code></a> | --- ### Registro -| Método | Caminho | Descrição | Resposta | -| ------ | --------- | ---------------------------------------------------------- | --------- | -| `POST` | `/log` | Escrever entrada de log. Corpo: `{ service, level, message, extra? }` | `boolean` | +| Método | Caminho | Descrição | Resposta | +| ------ | ------- | --------------------------------------------------------------------- | --------- | +| `POST` | `/log` | Escrever entrada de log. Corpo: `{ service, level, message, extra? }` | `boolean` | --- ### TUI -| Método | Caminho | Descrição | Resposta | -| ------ | --------------------------- | ----------------------------------------- | ---------------------- | -| `POST` | `/tui/append-prompt` | Anexar texto ao prompt | `boolean` | -| `POST` | `/tui/open-help` | Abrir o diálogo de ajuda | `boolean` | -| `POST` | `/tui/open-sessions` | Abrir o seletor de sessões | `boolean` | -| `POST` | `/tui/open-themes` | Abrir o seletor de temas | `boolean` | -| `POST` | `/tui/open-models` | Abrir o seletor de modelos | `boolean` | -| `POST` | `/tui/submit-prompt` | Enviar o prompt atual | `boolean` | -| `POST` | `/tui/clear-prompt` | Limpar o prompt | `boolean` | -| `POST` | `/tui/execute-command` | Executar um comando (`{ command }`) | `boolean` | -| `POST` | `/tui/show-toast` | Mostrar toast (`{ title?, message, variant }`) | `boolean` | -| `GET` | `/tui/control/next` | Aguardar o próximo pedido de controle | Objeto de pedido de controle | -| `POST` | `/tui/control/response` | Responder a um pedido de controle (`{ body }`) | `boolean` | +| Método | Caminho | Descrição | Resposta | +| ------ | ----------------------- | ---------------------------------------------- | ---------------------------- | +| `POST` | `/tui/append-prompt` | Anexar texto ao prompt | `boolean` | +| `POST` | `/tui/open-help` | Abrir o diálogo de ajuda | `boolean` | +| `POST` | `/tui/open-sessions` | Abrir o seletor de sessões | `boolean` | +| `POST` | `/tui/open-themes` | Abrir o seletor de temas | `boolean` | +| `POST` | `/tui/open-models` | Abrir o seletor de modelos | `boolean` | +| `POST` | `/tui/submit-prompt` | Enviar o prompt atual | `boolean` | +| `POST` | `/tui/clear-prompt` | Limpar o prompt | `boolean` | +| `POST` | `/tui/execute-command` | Executar um comando (`{ command }`) | `boolean` | +| `POST` | `/tui/show-toast` | Mostrar toast (`{ title?, message, variant }`) | `boolean` | +| `GET` | `/tui/control/next` | Aguardar o próximo pedido de controle | Objeto de pedido de controle | +| `POST` | `/tui/control/response` | Responder a um pedido de controle (`{ body }`) | `boolean` | --- ### Auth -| Método | Caminho | Descrição | Resposta | -| ------ | --------------- | ------------------------------------------------------------- | --------- | -| `PUT` | `/auth/:id` | Definir credenciais de autenticação. O corpo deve corresponder ao esquema do provedor | `boolean` | +| Método | Caminho | Descrição | Resposta | +| ------ | ----------- | ------------------------------------------------------------------------------------- | --------- | +| `PUT` | `/auth/:id` | Definir credenciais de autenticação. O corpo deve corresponder ao esquema do provedor | `boolean` | --- ### Eventos -| Método | Caminho | Descrição | Resposta | -| ------ | ----------- | --------------------------------------------------------------------------- | ------------------------- | -| `GET` | `/event` | Fluxo de eventos enviados pelo servidor. O primeiro evento é `server.connected`, depois eventos de bus | Fluxo de eventos enviados pelo servidor | +| Método | Caminho | Descrição | Resposta | +| ------ | -------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------- | +| `GET` | `/event` | Fluxo de eventos enviados pelo servidor. O primeiro evento é `server.connected`, depois eventos de bus | Fluxo de eventos enviados pelo servidor | --- ### Docs -| Método | Caminho | Descrição | Resposta | -| ------ | --------- | ----------------------- | --------------------------- | -| `GET` | `/doc` | Especificação OpenAPI 3.1 | Página HTML com a especificação OpenAPI |
\ No newline at end of file +| Método | Caminho | Descrição | Resposta | +| ------ | ------- | ------------------------- | --------------------------------------- | +| `GET` | `/doc` | Especificação OpenAPI 3.1 | Página HTML com a especificação OpenAPI | diff --git a/packages/web/src/content/docs/pt-br/share.mdx b/packages/web/src/content/docs/pt-br/share.mdx index bb0d29e68..a4669e2f5 100644 --- a/packages/web/src/content/docs/pt-br/share.mdx +++ b/packages/web/src/content/docs/pt-br/share.mdx @@ -124,4 +124,4 @@ Para implantações empresariais, o recurso de compartilhamento pode ser: - **Restrito** a usuários autenticados apenas através de SSO - **Auto-hospedado** em sua própria infraestrutura -[Saiba mais](/docs/enterprise) sobre como usar o opencode em sua organização.
\ No newline at end of file +[Saiba mais](/docs/enterprise) sobre como usar o opencode em sua organização. diff --git a/packages/web/src/content/docs/pt-br/skills.mdx b/packages/web/src/content/docs/pt-br/skills.mdx index 76f7c3b81..14bbfa7ac 100644 --- a/packages/web/src/content/docs/pt-br/skills.mdx +++ b/packages/web/src/content/docs/pt-br/skills.mdx @@ -139,11 +139,11 @@ Controle quais habilidades os agentes podem acessar usando permissões baseadas } ``` -| Permissão | Comportamento | -|------------|--------------------------------------------| -| `allow` | Habilidade carrega imediatamente | -| `deny` | Habilidade oculta do agente, acesso rejeitado | -| `ask` | Usuário solicitado para aprovação antes de carregar | +| Permissão | Comportamento | +| --------- | --------------------------------------------------- | +| `allow` | Habilidade carrega imediatamente | +| `deny` | Habilidade oculta do agente, acesso rejeitado | +| `ask` | Usuário solicitado para aprovação antes de carregar | Padrões suportam curingas: `internal-*` corresponde a `internal-docs`, `internal-tools`, etc. @@ -219,4 +219,4 @@ Se uma habilidade não aparecer: 1. Verifique se `SKILL.md` está escrito em letras maiúsculas 2. Verifique se o frontmatter inclui `name` e `description` 3. Certifique-se de que os nomes das habilidades sejam únicos em todos os locais -4. Verifique as permissões—habilidades com `deny` estão ocultas dos agentes
\ No newline at end of file +4. Verifique as permissões—habilidades com `deny` estão ocultas dos agentes diff --git a/packages/web/src/content/docs/pt-br/themes.mdx b/packages/web/src/content/docs/pt-br/themes.mdx index c0e789d04..67f4701f4 100644 --- a/packages/web/src/content/docs/pt-br/themes.mdx +++ b/packages/web/src/content/docs/pt-br/themes.mdx @@ -25,18 +25,18 @@ Sem suporte a truecolor, os temas podem aparecer com precisão de cor reduzida o O OpenCode vem com vários temas embutidos. -| Nome | Descrição | -| ---------------------- | ---------------------------------------------------------------------------- | -| `system` | Adapta-se à cor de fundo do seu terminal | -| `tokyonight` | Baseado no tema [Tokyonight](https://github.com/folke/tokyonight.nvim) | -| `everforest` | Baseado no tema [Everforest](https://github.com/sainnhe/everforest) | -| `ayu` | Baseado no tema escuro [Ayu](https://github.com/ayu-theme) | -| `catppuccin` | Baseado no tema [Catppuccin](https://github.com/catppuccin) | -| `catppuccin-macchiato` | Baseado no tema [Catppuccin](https://github.com/catppuccin) | -| `gruvbox` | Baseado no tema [Gruvbox](https://github.com/morhetz/gruvbox) | -| `kanagawa` | Baseado no tema [Kanagawa](https://github.com/rebelot/kanagawa.nvim) | -| `nord` | Baseado no tema [Nord](https://github.com/nordtheme/nord) | -| `matrix` | Tema verde estilo hacker sobre fundo preto | +| Nome | Descrição | +| ---------------------- | --------------------------------------------------------------------------- | +| `system` | Adapta-se à cor de fundo do seu terminal | +| `tokyonight` | Baseado no tema [Tokyonight](https://github.com/folke/tokyonight.nvim) | +| `everforest` | Baseado no tema [Everforest](https://github.com/sainnhe/everforest) | +| `ayu` | Baseado no tema escuro [Ayu](https://github.com/ayu-theme) | +| `catppuccin` | Baseado no tema [Catppuccin](https://github.com/catppuccin) | +| `catppuccin-macchiato` | Baseado no tema [Catppuccin](https://github.com/catppuccin) | +| `gruvbox` | Baseado no tema [Gruvbox](https://github.com/morhetz/gruvbox) | +| `kanagawa` | Baseado no tema [Kanagawa](https://github.com/rebelot/kanagawa.nvim) | +| `nord` | Baseado no tema [Nord](https://github.com/nordtheme/nord) | +| `matrix` | Tema verde estilo hacker sobre fundo preto | | `one-dark` | Baseado no tema escuro [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) | E mais, estamos constantemente adicionando novos temas. @@ -366,4 +366,4 @@ Aqui está um exemplo de um tema personalizado: } } } -```
\ No newline at end of file +``` diff --git a/packages/web/src/content/docs/pt-br/tools.mdx b/packages/web/src/content/docs/pt-br/tools.mdx index dd1c26a87..0267b3e7f 100644 --- a/packages/web/src/content/docs/pt-br/tools.mdx +++ b/packages/web/src/content/docs/pt-br/tools.mdx @@ -376,4 +376,4 @@ Para incluir arquivos que normalmente seriam ignorados, crie um arquivo `.ignore !build/ ``` -Por exemplo, este arquivo `.ignore` permite que o ripgrep busque dentro dos diretórios `node_modules/`, `dist/` e `build/`, mesmo que estejam listados em `.gitignore`.
\ No newline at end of file +Por exemplo, este arquivo `.ignore` permite que o ripgrep busque dentro dos diretórios `node_modules/`, `dist/` e `build/`, mesmo que estejam listados em `.gitignore`. diff --git a/packages/web/src/content/docs/pt-br/troubleshooting.mdx b/packages/web/src/content/docs/pt-br/troubleshooting.mdx index 2a6f4a576..cf63b7c0e 100644 --- a/packages/web/src/content/docs/pt-br/troubleshooting.mdx +++ b/packages/web/src/content/docs/pt-br/troubleshooting.mdx @@ -296,4 +296,4 @@ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & export DISPLAY=:99.0 ``` -opencode detectará se você está usando Wayland e preferirá `wl-clipboard`, caso contrário, tentará encontrar ferramentas de área de transferência na ordem: `xclip` e `xsel`.
\ No newline at end of file +opencode detectará se você está usando Wayland e preferirá `wl-clipboard`, caso contrário, tentará encontrar ferramentas de área de transferência na ordem: `xclip` e `xsel`. diff --git a/packages/web/src/content/docs/pt-br/tui.mdx b/packages/web/src/content/docs/pt-br/tui.mdx index adee8ef1c..d019c2922 100644 --- a/packages/web/src/content/docs/pt-br/tui.mdx +++ b/packages/web/src/content/docs/pt-br/tui.mdx @@ -384,4 +384,4 @@ Você pode personalizar vários aspectos da visualização do TUI usando a palet Alternar se seu nome de usuário aparece nas mensagens de chat. Acesse isso através de: - Paleta de comandos: Pesquise por "username" ou "hide username" -- A configuração persiste automaticamente e será lembrada entre as sessões do TUI
\ No newline at end of file +- A configuração persiste automaticamente e será lembrada entre as sessões do TUI diff --git a/packages/web/src/content/docs/pt-br/web.mdx b/packages/web/src/content/docs/pt-br/web.mdx index 393f683c2..6a97b2bfa 100644 --- a/packages/web/src/content/docs/pt-br/web.mdx +++ b/packages/web/src/content/docs/pt-br/web.mdx @@ -139,4 +139,4 @@ Você também pode configurar as configurações do servidor no seu arquivo de c } ``` -As flags de linha de comando têm precedência sobre as configurações do arquivo de configuração.
\ No newline at end of file +As flags de linha de comando têm precedência sobre as configurações do arquivo de configuração. diff --git a/packages/web/src/content/docs/pt-br/zen.mdx b/packages/web/src/content/docs/pt-br/zen.mdx index fe7d5d33b..3376f89f1 100644 --- a/packages/web/src/content/docs/pt-br/zen.mdx +++ b/packages/web/src/content/docs/pt-br/zen.mdx @@ -53,7 +53,7 @@ Você é cobrado por solicitação e pode adicionar créditos à sua conta. Você também pode acessar nossos modelos através dos seguintes endpoints da API. -| Modelo | ID do Modelo | Endpoint | Pacote AI SDK | +| Modelo | ID do Modelo | Endpoint | Pacote AI SDK | | ------------------ | ------------------ | -------------------------------------------------- | --------------------------- | | GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | | GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | @@ -103,41 +103,41 @@ https://opencode.ai/zen/v1/models Nós suportamos um modelo de pagamento conforme o uso. Abaixo estão os preços **por 1M de tokens**. -| Modelo | Entrada | Saída | Leitura em Cache | Escrita em Cache | -| --------------------------------- | ------ | ------ | ---------------- | ---------------- | -| Big Pickle | Grátis | Grátis | Grátis | - | -| MiniMax M2.1 Free | Grátis | Grátis | Grátis | - | -| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - | -| GLM 4.7 Free | Grátis | Grátis | Grátis | - | -| GLM 4.7 | $0.60 | $2.20 | $0.10 | - | -| GLM 4.6 | $0.60 | $2.20 | $0.10 | - | -| Kimi K2.5 Free | Grátis | Grátis | Grátis | - | -| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - | -| Kimi K2 Thinking | $0.40 | $2.50 | - | - | -| Kimi K2 | $0.40 | $2.50 | - | - | -| Qwen3 Coder 480B | $0.45 | $1.50 | - | - | -| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 | -| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 | -| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 | -| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 | -| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 | -| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 | -| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 | -| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 | -| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 | -| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 | -| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - | -| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - | -| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - | -| GPT 5.2 | $1.75 | $14.00 | $0.175 | - | -| GPT 5.2 Codex | $1.75 | $14.00 | $0.175 | - | -| GPT 5.1 | $1.07 | $8.50 | $0.107 | - | -| GPT 5.1 Codex | $1.07 | $8.50 | $0.107 | - | -| GPT 5.1 Codex Max | $1.25 | $10.00 | $0.125 | - | -| GPT 5.1 Codex Mini | $0.25 | $2.00 | $0.025 | - | -| GPT 5 | $1.07 | $8.50 | $0.107 | - | -| GPT 5 Codex | $1.07 | $8.50 | $0.107 | - | -| GPT 5 Nano | Grátis | Grátis | Grátis | - | +| Modelo | Entrada | Saída | Leitura em Cache | Escrita em Cache | +| --------------------------------- | ------- | ------ | ---------------- | ---------------- | +| Big Pickle | Grátis | Grátis | Grátis | - | +| MiniMax M2.1 Free | Grátis | Grátis | Grátis | - | +| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - | +| GLM 4.7 Free | Grátis | Grátis | Grátis | - | +| GLM 4.7 | $0.60 | $2.20 | $0.10 | - | +| GLM 4.6 | $0.60 | $2.20 | $0.10 | - | +| Kimi K2.5 Free | Grátis | Grátis | Grátis | - | +| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - | +| Kimi K2 Thinking | $0.40 | $2.50 | - | - | +| Kimi K2 | $0.40 | $2.50 | - | - | +| Qwen3 Coder 480B | $0.45 | $1.50 | - | - | +| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 | +| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 | +| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 | +| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 | +| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 | +| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 | +| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 | +| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 | +| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 | +| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 | +| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - | +| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - | +| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - | +| GPT 5.2 | $1.75 | $14.00 | $0.175 | - | +| GPT 5.2 Codex | $1.75 | $14.00 | $0.175 | - | +| GPT 5.1 | $1.07 | $8.50 | $0.107 | - | +| GPT 5.1 Codex | $1.07 | $8.50 | $0.107 | - | +| GPT 5.1 Codex Max | $1.25 | $10.00 | $0.125 | - | +| GPT 5.1 Codex Mini | $0.25 | $2.00 | $0.025 | - | +| GPT 5 | $1.07 | $8.50 | $0.107 | - | +| GPT 5 Codex | $1.07 | $8.50 | $0.107 | - | +| GPT 5 Nano | Grátis | Grátis | Grátis | - | Você pode notar _Claude Haiku 3.5_ em seu histórico de uso. Este é um [modelo de baixo custo](/docs/config/#models) que é usado para gerar os títulos de suas sessões. @@ -233,4 +233,4 @@ Criamos o OpenCode Zen para: 1. **Benchmark** os melhores modelos/provedores para agentes de codificação. 2. Ter acesso às opções de **mais alta qualidade** e não degradar o desempenho ou redirecionar para provedores mais baratos. 3. Repassar quaisquer **reduções de preço** vendendo ao custo; assim, a única margem é para cobrir nossas taxas de processamento. -4. Não ter **vinculação** permitindo que você o use com qualquer outro agente de codificação. E sempre permitir que você use qualquer outro provedor com a OpenCode também.
\ No newline at end of file +4. Não ter **vinculação** permitindo que você o use com qualquer outro agente de codificação. E sempre permitir que você use qualquer outro provedor com a OpenCode também. |
