Como Instalar e Usar o OpenCode: Um Guia Completo
Como Instalar e Usar o OpenCode: Um Guia Completo
O OpenCode é um agente de codificação AI open-source que traz o poder da inteligência artificial diretamente para o seu terminal. Diferente das ferramentas tradicionais de codificação AI que vivem em editores ou navegadores, o OpenCode oferece uma interface baseada em terminal, aplicativo desktop e extensão para IDE—tudo projetado para tornar você mais produtivo como desenvolvedor. Este guia completo vai te acompanhar em tudo que você precisa saber para instalar, configurar e usar o OpenCode de forma eficaz.
O que é o OpenCode?
O OpenCode é um assistente de codificação com AI que ajuda você a:
- Escrever código mais rápido com geração e completamento inteligente de código
- Depurar eficientemente analisando erros e sugerindo correções
- Entender bases de código através de consultas em linguagem natural
- Adicionar funcionalidades com planejamento e implementação automatizados
- Revisar código com análise e sugestões alimentadas por AI
- Automatizar fluxos de trabalho usando agentes AI e ferramentas customizadas
Ele suporta múltiplos provedores de LLM incluindo Anthropic, OpenAI, Google e outros, dando flexibilidade para escolher os modelos que melhor atendem suas necessidades.
Requisitos do Sistema
Pré-requisitos
Antes de instalar o OpenCode, certifique-se de ter:
Emulador de Terminal Moderno (para uso do TUI):
Node.js (para instalação via npm/bun/pnpm/yarn):
- Node.js v18 ou superior recomendado
Chaves API para provedores de LLM:
- Chave da API Anthropic (para modelos Claude)
- Chave da API OpenAI (para modelos GPT)
- Ou chaves de outros provedores suportados
Métodos de Instalação
Método 1: Script de Instalação (Recomendado)
A forma mais rápida de instalar o OpenCode é usando o script oficial de instalação:
curl -fsSL https://opencode.ai/install | bashEste método funciona em macOS, Linux e Windows (com Git Bash ou WSL).
Método 2: Usando Gerenciadores de Pacotes Node.js
Usando npm:
npm install -g opencode-aiUsando Bun:
bun install -g opencode-aiUsando pnpm:
pnpm install -g opencode-aiUsando Yarn:
yarn global add opencode-aiMétodo 3: Usando Homebrew (macOS & Linux)
brew install opencodeMétodo 4: Usando Paru (Arch Linux)
paru -S opencode-binMétodo 5: Instalações para Windows
Usando Chocolatey:
choco install opencodeUsando Scoop:
scoop bucket add extras
scoop install extras/opencodeUsando Mise:
mise use -g github:sst/opencodeMétodo 6: Docker
Para uso conteinerizado:
docker run -it --rm ghcr.io/sst/opencodeMétodo 7: Download do Binário
Você pode baixar o binário pré-compilado diretamente na página de GitHub Releases.
Verificar a Instalação
Após a instalação, verifique se está funcionando:
opencode --versionVocê deve ver o número da versão exibido.
Configuração Inicial
Conectando ao OpenCode Zen (Recomendado para Iniciantes)
OpenCode Zen é uma lista selecionada de modelos testados e verificados pela equipe OpenCode. É a forma mais fácil de começar.
- Inicie o OpenCode:
cd /caminho/do/seu/projeto
opencode- Execute o comando connect no TUI:
/connectSelecione "opencode" na lista de provedores
Visite a URL de autenticação: opencode.ai/auth
Faça login e adicione dados de pagamento (ou use créditos gratuitos, se disponíveis)
Copie sua chave API e cole no terminal quando solicitado
Conectando a Outros Provedores
Você também pode conectar o OpenCode a outros provedores de LLM:
Usando o comando /connect:
/connectSelecione seu provedor preferido (Anthropic, OpenAI, Google, etc.) e siga o fluxo de autenticação.
Usando autenticação CLI:
opencode auth loginEste comando guia você na configuração das chaves API para qualquer provedor disponível em Models.dev.
Listar provedores configurados:
opencode auth listou versão curta:
opencode auth lsLogout de um provedor:
opencode auth logoutConfigurando o Contexto do Projeto
Depois de configurar um provedor, inicialize o OpenCode para seu projeto:
- Navegue até seu projeto:
cd /caminho/do/seu/projeto- Inicie o OpenCode:
opencode- Execute o comando init:
/initIsso analisa a estrutura do projeto e cria um arquivo AGENTS.md na raiz. Esse arquivo ajuda o OpenCode a entender seus padrões de codificação, frameworks e arquitetura do projeto.
Dica: Faça commit do arquivo AGENTS.md no Git. Isso ajuda a manter a consistência na equipe e melhora o entendimento do OpenCode sobre seu projeto com o tempo.
Usando a Interface de Usuário no Terminal (TUI)
O TUI do OpenCode oferece uma experiência interativa no terminal.
Iniciando o TUI
Basta executar:
opencodeOu com flags opcionais:
# Continuar a última sessão
opencode --continue
# Continuar uma sessão específica
opencode --session <session-id>
# Iniciar com um prompt
opencode --prompt "Explique esta base de código"
# Usar um modelo específico
opencode --model anthropic/claude-sonnet-4-5
# Usar um agente específico
opencode --agent planNavegação Básica no TUI
- Scroll: Use a roda do mouse ou as setas do teclado
- Alternar modos: Pressione
Tabpara alternar entre modo Plan e modo Build - Executar comandos: Digite
/para acessar a paleta de comandos - Buscar arquivos: Use
@para busca fuzzy em arquivos do projeto - Sair: Pressione
Ctrl+Cou use/exit
Fazendo Perguntas
Você pode fazer perguntas ao OpenCode sobre seu código:
Como a autenticação é tratada em @packages/functions/src/api/index.tsUse o símbolo @ para referenciar arquivos específicos. O OpenCode vai analisar esses arquivos e fornecer explicações detalhadas.
Adicionando Funcionalidades
O OpenCode é ótimo para adicionar novas funcionalidades por meio do seu fluxo de trabalho em dois modos:
Passo 1: Modo Plan
- Troque para o modo Plan pressionando
Tab - Descreva o que você deseja:
Quando um usuário deletar uma nota, queremos marcá-la como deletada no banco de dados.
Depois criar uma tela que mostre todas as notas deletadas recentemente.
Dessa tela, o usuário pode restaurar uma nota ou deletá-la permanentemente.- Revise o plano sugerido
- Faça iterações com feedback:
Gostaríamos de desenhar essa nova tela usando um design que já usei antes.
[Imagem #1] Veja essa imagem e use como referência.Dica: É possível arrastar e soltar imagens no terminal. O OpenCode irá escanear e analisar as imagens.
Passo 2: Modo Build
- Troque para o modo Build pressionando
Tabnovamente - Aprove a implementação:
Perfeito! Pode seguir e fazer as alterações.O OpenCode então implementará a funcionalidade, criando e modificando arquivos conforme necessário.
Fazendo Alterações Diretas
Para mudanças simples, você pode pular a fase de planejamento:
Precisamos adicionar autenticação na rota /settings.
Veja como isso é tratado na rota /notes
em @packages/functions/src/notes.ts e implemente a mesma lógica
em @packages/functions/src/settings.tsDesfazer e Refazer Alterações
Cometeu um erro? Use o comando desfazer:
/undoIsso reverte o último conjunto de alterações e permite refinar seu prompt.
Para refazer alterações desfeitas:
/redoVocê pode usar /undo várias vezes para reverter múltiplas alterações.
Comandos CLI
O OpenCode oferece um CLI poderoso para acesso programático e automação.
Executando Prompts Diretos
Execute o OpenCode de forma não interativa:
opencode run "Explique como closures funcionam em JavaScript"Útil para scripts, automação, ou respostas rápidas sem abrir o TUI.
Gerenciando Modelos
Liste todos os modelos disponíveis:
opencode modelsFiltre por provedor:
opencode models anthropicAtualize o cache de modelos (útil quando novos modelos são adicionados):
opencode models --refreshMostre informações detalhadas dos modelos incluindo custos:
opencode models --verboseIniciando um Servidor Headless
Inicie um servidor HTTP para acesso via API:
opencode serveCom porta customizada:
opencode serve --port 3000Útil para integrar o OpenCode em aplicações web ou para respostas mais rápidas em scripts (evitando cold boot do servidor MCP).
Conectando a um Servidor
Em um terminal, inicie o servidor:
opencode serveEm outro terminal, conecte-se para execução mais rápida:
opencode run --attach http://localhost:4096 "Explique async/await em JavaScript"Gerenciando Agentes
Crie um novo agente customizado:
opencode agent createEste comando guia você na criação de um agente com prompts de sistema customizados e configuração de ferramentas.
Integração com GitHub
Instale o agente GitHub para automação no repositório:
opencode github installIsso configura workflows GitHub Actions para revisão automática de código e manipulação de issues.
Atualizando o OpenCode
Atualize para a versão mais recente:
opencode upgradeOu para uma versão específica:
opencode upgrade v0.1.48Especifique o método de instalação se necessário:
opencode upgrade --method brewConfiguração
O OpenCode suporta configuração flexível por meio de arquivos JSON.
Locais de Configuração
Arquivos config são mesclados (não substituídos), permitindo configs globais, específicas do projeto e customizadas.
Config Global:
~/.config/opencode/opencode.json- Para temas, provedores, keybinds e configurações gerais
Config de Projeto:
opencode.jsonna raiz do projeto- Para provedores, agentes ou configurações específicas do projeto
- Seguro para versionar no Git
Config Customizada por Path: Definida pela variável de ambiente
OPENCODE_CONFIGConfig Customizada por Diretório: Definida pela variável de ambiente
OPENCODE_CONFIG_DIR
Exemplo Básico de Configuração
Crie um arquivo config com esta estrutura:
{
"$schema": "https://opencode.ai/config.json",
// Seleção do tema
"theme": "opencode",
// Modelo principal a ser usado
"model": "anthropic/claude-sonnet-4-5",
// Modelo menor para tarefas leves
"small_model": "anthropic/claude-haiku-4-5",
// Configuração de auto-atualização
"autoupdate": true
}Configurando Provedores
Configure chaves API diretamente na config:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}Recomenda-se usar variáveis de ambiente para segurança. Use a sintaxe {env:NOME_VARIAVEL}.
Usando Referências a Arquivos
Também é possível referenciar arquivos para dados sensíveis:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}Comandos Customizados
Defina comandos customizados para tarefas repetitivas:
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Execute a suíte completa de testes com relatório de cobertura e mostre falhas.\nFoque nos testes que falham e sugira correções.",
"description": "Executar testes com cobertura",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Crie um novo componente React chamado $ARGUMENTS com suporte a TypeScript.\nInclua tipagem adequada e estrutura básica.",
"description": "Criar um novo componente"
}
}
}Use comandos customizados no TUI digitando /test ou /component MeuComponente.
Agentes Customizados
Crie agentes especializados:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "Revisa código procurando boas práticas e problemas potenciais",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Você é um revisor de código. Foque em segurança, performance e manutenibilidade.",
"tools": {
"write": false,
"edit": false
}
}
}
}Configuração de Permissões
Controle o que o OpenCode pode fazer sem pedir permissão:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Isso exige aprovação do usuário para operações de edição e bash.
Formatadores de Código
Configure formatadores para formatar o código automaticamente:
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}Configurações do TUI
Customize a interface do terminal:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}Recursos Avançados
Compartilhando Conversas
Compartilhe suas conversas com a equipe:
/shareIsso cria um link compartilhável e copia para seu clipboard. Conversas não são compartilhadas por padrão.
Configure o comportamento do compartilhamento:
{
"share": "manual" // "manual", "auto" ou "disabled"
}Servidores MCP
Servidores Model Context Protocol (MCP) ampliam as capacidades do OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/caminho/para/arquivos/autorizados"]
}
}
}Instruções e Regras
Forneça instruções específicas do projeto:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}O OpenCode usará esses arquivos para entender padrões e convenções de codificação do projeto.
Variáveis de Ambiente
Configure o OpenCode usando variáveis de ambiente:
# Compartilhar sessões automaticamente
export OPENCODE_AUTO_SHARE=true
# Caminho para config customizada
export OPENCODE_CONFIG=/caminho/para/config.json
# Caminho para diretório de configs
export OPENCODE_CONFIG_DIR=/caminho/para/config-dir
# Desabilitar auto-atualização
export OPENCODE_DISABLE_AUTOUPDATE=true
# Desabilitar plugins padrão
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# Habilitar modelos experimentais
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# Habilitar busca web Exa
export OPENCODE_ENABLE_EXA=trueRecursos Experimentais
Ative recursos experimentais:
export OPENCODE_EXPERIMENTAL=trueRecursos experimentais específicos:
# Habilitar descoberta de ícones
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# Desabilitar cópia ao selecionar no TUI
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# Definir limite máximo para saída de comandos bash
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# Definir timeout padrão para comandos bash (ms)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000Melhores Práticas
Prompting Eficaz
- Seja específico: Dê instruções claras e detalhadas
- Use contexto: Referencie arquivos com
@para melhor entendimento - Forneça exemplos: Mostre exemplos do que deseja
- Divida em etapas: Tarefas complexas funcionam melhor em passos
Trabalhando com Projetos Grandes
- Use
/init: Deixe o OpenCode entender a estrutura do projeto - Referencie arquivos específicos: Use
@para limitar contexto - Use modo Plan: Revise planos antes da implementação
- Mudanças incrementais: Faça alterações pequenas e gerenciáveis
Otimização de Custos
- Use modelos menores: Configure
small_modelpara tarefas leves - Planeje antes de construir: Revise no modo Plan para reduzir iterações
- Comandos customizados: Defina fluxos eficientes para tarefas comuns
- Monitore uso: Confira os dashboards dos provedores para estatísticas de uso
Melhores Práticas de Segurança
- Nunca versionar chaves API: Use variáveis de ambiente
- Use permissões: Configure
permissionpara exigir aprovação em operações sensíveis - Revise mudanças: Sempre revise as alterações sugeridas pelo OpenCode
- Use chaves separadas: Crie chaves API específicas para o OpenCode com limites apropriados
Solução de Problemas
Problemas de Instalação
Problema: Comando não encontrado após a instalação
Solução:
- Verifique a instalação:
which opencode - Cheque o PATH:
echo $PATH - Tente caminho completo:
~/.local/bin/opencode - Reinstale usando método alternativo
Problemas de Autenticação
Problema: Chave API não reconhecida
Solução:
- Verifique se a chave está correta:
opencode auth list - Cheque variáveis de ambiente:
echo $ANTHROPIC_API_KEY - Reautentique:
opencode auth login
Problemas de Performance
Problema: Respostas lentas
Solução:
- Use
opencode servepara execução mais rápida - Troque para um modelo mais rápido
- Use janelas de contexto menores
- Desabilite ferramentas não utilizadas na config
Problemas no TUI
Problema: Problemas de visualização no terminal
Solução:
- Use um emulador de terminal moderno (WezTerm, Alacritty etc.)
- Verifique se o terminal suporta cores 24-bit
- Tente tema diferente
- Desative aceleração de scroll se houver problemas
Problemas com Modelos
Problema: Modelo não encontrado
Solução:
- Atualize lista de modelos:
opencode models --refresh - Verifique se o provedor está configurado:
opencode auth list - Confira formato do nome do modelo:
provedor/modelo - Veja se o provedor tem o modelo disponível
Integrando o OpenCode no Seu Fluxo de Trabalho
Desenvolvimento Diário
- Manhã: Rode
/initpara sincronizar com as últimas mudanças - Trabalho em funcionalidades: Use modo Plan para design, depois modo Build para implementar
- Depuração: Faça perguntas sobre erros referenciando arquivos
- Revisão de código: Use agente customizado de revisão de código
- Documentação: Gere docs usando comandos customizados
Colaboração em Equipe
- Compartilhe configs: Faça commit de
opencode.jsoneAGENTS.mdno Git - Compartilhe conversas: Use
/sharepara discutir implementações - Comandos customizados: Defina comandos específicos da equipe na configuração do projeto
- Agentes consistentes: Use definições de agentes compartilhadas para uniformidade
Integração CI/CD
- Agente GitHub: Instale para revisões automáticas de PRs
- Testes: Use comandos customizados em CI
- Qualidade de código: Configure formatadores e permissões
Conclusão
O OpenCode representa um novo paradigma no desenvolvimento assistido por AI ao trazer capacidades poderosas de inteligência artificial diretamente para o seu terminal. Com opções flexíveis de configuração, suporte a múltiplos provedores de LLM e uma interface TUI intuitiva, ele foi desenhado para aumentar sua produtividade sem interromper seu fluxo de trabalho atual.
Principais pontos:
- Instale usando o script oficial ou seu gerenciador de pacotes preferido
- Configure chaves API via
/connectouopencode auth login - Inicialize projetos com
/initpara melhor entendimento do contexto - Use o modo Plan para funcionalidades complexas, modo Build para mudanças diretas
- Customize com arquivos config, comandos e agentes
- Aproveite os comandos CLI para automação e scripting
- Pratique bons hábitos de segurança com chaves API e permissões
Próximos passos:
- Explore a documentação do OpenCode para recursos avançados
- Participe da comunidade Discord do OpenCode
- Personalize seu setup com temas e atalhos de teclado
- Experimente diferentes provedores e modelos de LLM
- Integre o OpenCode no fluxo de trabalho da sua equipe
Pronto para turbinar seu fluxo de desenvolvimento?
Confira as soluções de hosting otimizadas para AI da LightNode para deploy de aplicações movimentadas por AI com instâncias dedicadas de GPU e infraestrutura escalável.
O OpenCode é open source e está em constante evolução. Contribua com o projeto, reporte problemas ou compartilhe sua experiência para ajudar a torná-lo ainda melhor para todos. Boas codificações!