--- 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 ``` --- ### 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 ``` 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 |