Files
opencode/packages/web/src/content/docs/pt-br/cli.mdx

604 lines
19 KiB
Plaintext

---
title: CLI
description: Opções e comandos da CLI do opencode.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
A CLI do opencode, por padrão, inicia o [TUI](/docs/tui) quando executada sem argumentos.
```bash
opencode
```
Mas também aceita comandos conforme documentado nesta página. Isso permite que você interaja com o opencode programaticamente.
```bash
opencode run "Explain how closures work in JavaScript"
```
---
### tui
Inicie a interface de usuário do terminal do opencode.
```bash
opencode [project]
```
#### Opções
| Flag | Curto | Descrição |
| ------------ | ----- | -------------------------------------------------------------------------- |
| `--continue` | `-c` | Continue a última sessão |
| `--session` | `-s` | ID da sessão para continuar |
| `--fork` | | Criar um fork da sessão ao continuar (use com `--continue` ou `--session`) |
| `--prompt` | | Prompt a ser usado |
| `--model` | `-m` | Modelo a ser usado na forma de provider/model |
| `--agent` | | Agente a ser usado |
| `--port` | | Porta para escutar |
| `--hostname` | | Nome do host para escutar |
---
## Comandos
A CLI do opencode também possui os seguintes comandos.
---
### agent
Gerencie agentes para o opencode.
```bash
opencode agent [command]
```
---
### attach
Anexe um terminal a um servidor backend do opencode já em execução, iniciado via comandos `serve` ou `web`.
```bash
opencode attach [url]
```
Isso permite usar o TUI com um backend opencode remoto. Por exemplo:
```bash
# Inicie o servidor backend para acesso web/mobile
opencode web --port 4096 --hostname 0.0.0.0
# Em outro terminal, anexe o TUI ao backend em execução
opencode attach http://10.20.30.40:4096
```
#### Opções
| Flag | Curto | Descrição |
| ----------- | ----- | ---------------------------------------- |
| `--dir` | | Diretório de trabalho para iniciar o TUI |
| `--session` | `-s` | ID da sessão para continuar |
---
#### create
Crie um novo agente com configuração personalizada.
```bash
opencode agent create
```
Este comando irá guiá-lo na criação de um novo agente com um prompt de sistema personalizado e configuração de ferramentas.
---
#### list
Liste todos os agentes disponíveis.
```bash
opencode agent list
```
---
### auth
Comando para gerenciar credenciais e login para provedores.
```bash
opencode auth [command]
```
---
#### login
O opencode é alimentado pela lista de provedores em [Models.dev](https://models.dev), então você pode usar `opencode auth login` para configurar chaves de API para qualquer provedor que você gostaria de usar. Isso é armazenado em `~/.local/share/opencode/auth.json`.
```bash
opencode auth login
```
Quando o opencode é iniciado, ele carrega os provedores do arquivo de credenciais. E se houver chaves definidas em seus ambientes ou em um arquivo `.env` em seu projeto.
---
#### list
Lista todos os provedores autenticados conforme armazenado no arquivo de credenciais.
```bash
opencode auth list
```
Ou a versão curta.
```bash
opencode auth ls
```
---
#### logout
Desconecta você de um provedor limpando-o do arquivo de credenciais.
```bash
opencode auth logout
```
---
### github
Gerencie o agente do GitHub para automação de repositórios.
```bash
opencode github [command]
```
---
#### install
Instale o agente do GitHub em seu repositório.
```bash
opencode github install
```
Isso configura o fluxo de trabalho necessário do GitHub Actions e o guia pelo processo de configuração. [Saiba mais](/docs/github).
---
#### run
Execute o agente do GitHub. Isso é tipicamente usado em GitHub Actions.
```bash
opencode github run
```
##### Opções
| Flag | Descrição |
| --------- | ------------------------------------------------ |
| `--event` | Evento simulado do GitHub para executar o agente |
| `--token` | Token de acesso pessoal do GitHub |
---
### mcp
Gerencie servidores do Model Context Protocol.
```bash
opencode mcp [command]
```
---
#### add
Adicione um servidor MCP à sua configuração.
```bash
opencode mcp add
```
Este comando irá guiá-lo na adição de um servidor MCP local ou remoto.
---
#### list
Liste todos os servidores MCP configurados e seu status de conexão.
```bash
opencode mcp list
```
Ou use a versão curta.
```bash
opencode mcp ls
```
---
#### auth
Autentique-se com um servidor MCP habilitado para OAuth.
```bash
opencode mcp auth [name]
```
Se você não fornecer um nome de servidor, será solicitado que você selecione entre os servidores disponíveis habilitados para OAuth.
Você também pode listar servidores habilitados para OAuth e seu status de autenticação.
```bash
opencode mcp auth list
```
Ou use a versão curta.
```bash
opencode mcp auth ls
```
---
#### logout
Remova credenciais OAuth para um servidor MCP.
```bash
opencode mcp logout [name]
```
---
#### debug
Depure problemas de conexão OAuth para um servidor MCP.
```bash
opencode mcp debug <name>
```
---
### models
Liste todos os modelos disponíveis dos provedores configurados.
```bash
opencode models [provider]
```
Este comando exibe todos os modelos disponíveis entre seus provedores configurados no formato `provider/model`.
Isso é útil para descobrir o nome exato do modelo a ser usado em [sua configuração](/docs/config/).
Você pode opcionalmente passar um ID de provedor para filtrar modelos por esse provedor.
```bash
opencode models anthropic
```
#### Opções
| 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.
```bash
opencode models --refresh
```
---
### run
Execute o opencode em modo não interativo passando um prompt diretamente.
```bash
opencode run [message..]
```
Isso é útil para scripts, automação ou quando você deseja uma resposta rápida sem iniciar o TUI completo. Por exemplo.
```bash "opencode run"
opencode run Explique o uso de context em Go
```
Você também pode se anexar a uma instância em execução do `opencode serve` para evitar tempos de inicialização a frio do servidor MCP em cada execução:
```bash
# Inicie um servidor sem cabeça em um terminal
opencode serve
# Em outro terminal, execute comandos que se anexam a ele
opencode run --attach http://localhost:4096 "Explique async/await em JavaScript"
```
#### Opções
| 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 |
| `--fork` | | Criar um fork da sessão ao continuar (use com `--continue` ou `--session`) |
| `--share` | | Compartilhe a sessão |
| `--model` | `-m` | Modelo a ser usado na forma de provider/model |
| `--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) |
---
### serve
Inicie um servidor opencode sem cabeça para acesso à API. Confira a [documentação do servidor](/docs/server) para a interface HTTP completa.
```bash
opencode serve
```
Isso inicia um servidor HTTP que fornece acesso à funcionalidade do opencode sem a interface TUI. Defina `OPENCODE_SERVER_PASSWORD` para habilitar a autenticação básica HTTP (o nome de usuário padrão é `opencode`).
#### Opções
| 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 |
---
### session
Gerencie sessões do opencode.
```bash
opencode session [command]
```
---
#### list
Liste todas as sessões do opencode.
```bash
opencode session list
```
##### Opções
| Flag | Curto | Descrição |
| ------------- | ----- | ----------------------------------------- |
| `--max-count` | `-n` | Limitar às N sessões mais recentes |
| `--format` | | Formato de saída: tabela ou json (tabela) |
---
### stats
Mostre o uso de tokens e estatísticas de custo para suas sessões do opencode.
```bash
opencode stats
```
#### Opções
| 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) |
---
### export
Exporte dados da sessão como JSON.
```bash
opencode export [sessionID]
```
Se você não fornecer um ID de sessão, será solicitado que você selecione entre as sessões disponíveis.
---
### import
Importe dados da sessão de um arquivo JSON ou URL de compartilhamento do opencode.
```bash
opencode import <file>
```
Você pode importar de um arquivo local ou de uma URL de compartilhamento do opencode.
```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```
---
### web
Inicie um servidor opencode sem cabeça com uma interface web.
```bash
opencode web
```
Isso inicia um servidor HTTP e abre um navegador para acessar o opencode através de uma interface web. Defina `OPENCODE_SERVER_PASSWORD` para habilitar a autenticação básica HTTP (o nome de usuário padrão é `opencode`).
#### Opções
| 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 |
---
### acp
Inicie um servidor ACP (Agent Client Protocol).
```bash
opencode acp
```
Este comando inicia um servidor ACP que se comunica via stdin/stdout usando nd-JSON.
#### Opções
| Flag | Descrição |
| ------------ | ------------------------- |
| `--cwd` | Diretório de trabalho |
| `--port` | Porta para escutar |
| `--hostname` | Nome do host para escutar |
---
### uninstall
Desinstale o opencode e remova todos os arquivos relacionados.
```bash
opencode uninstall
```
#### Opções
| 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 |
---
### upgrade
Atualiza o opencode para a versão mais recente ou uma versão específica.
```bash
opencode upgrade [target]
```
Para atualizar para a versão mais recente.
```bash
opencode upgrade
```
Para atualizar para uma versão específica.
```bash
opencode upgrade v0.1.48
```
#### Opções
| Flag | Curto | Descrição |
| ---------- | ----- | ---------------------------------------------------------------- |
| `--method` | `-m` | O método de instalação que foi usado; curl, npm, pnpm, bun, brew |
---
## Opções Globais
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 |
| `--log-level` | | Nível de log (DEBUG, INFO, WARN, ERROR) |
---
## Variáveis de ambiente
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` |
| `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 |
---
### Experimental
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 |
| `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 |