Intermediário 11 minAgentes

OpenCode + Ollama: um agente de código no seu terminal

Resposta direta

OpenCode e Ollama não são concorrentes: OpenCode é o agente de código no terminal, e Ollama é o motor que serve o modelo localmente. Para conectá-los, instale o OpenCode, declare um provedor apontando para http://localhost:11434/v1 no arquivo opencode.json ou execute ollama launch opencode. Defina o contexto em pelo menos 64.000 tokens, uma exigência da documentação do Ollama.

Este guia instala o OpenCode no macOS, Linux ou Windows, conecta-o ao Ollama pelo método oficial e pelo método manual, escolhe um modelo de código que cabe em uma máquina real, explica a configuração do contexto (a principal armadilha) e as permissões, que muitos acreditam ser mais restritas do que realmente são. Ele também compara o OpenCode ao Cline e ao Aider.

Por Mohamed Meguedmi·Atualização 2026-09-29·Testado no Windows, macOS e Linux

#OpenCode com Ollama: quem faz o quê

OpenCode é um agente de código open source que é executado no terminal: ele lê seu projeto, modifica arquivos e executa comandos. Ele não fornece um modelo por si só. Ollama, por sua vez, baixa e executa modelos na sua máquina e expõe uma API local. Os dois se complementam: OpenCode envia suas requisições para Ollama, que responde com um modelo local. Portanto, a pergunta “OpenCode ou Ollama” não se aplica: usamos os dois.

O interesse pelo uso local não é ideológico. Um agente de código vê tudo: a estrutura de arquivos, os arquivos de configuração, a lógica de negócio. Com um modelo local, esse contexto permanece na máquina, sem cobrança por token nem dependência de rede. O preço a pagar é a capacidade: um modelo local com algumas dezenas de bilhões de parâmetros não se iguala aos maiores modelos hospedados, e as tarefas longas são executadas mais lentamente.

i
OpenCode também oferece serviços pagos, sem obrigação de contratá-los
A documentação do OpenCode apresenta OpenCode Zen (uma lista de modelos testados pela equipe) e OpenCode Go (uma assinatura de modelos abertos hospedados) como provedores opcionais. Eles não têm relação com o uso 100% local via Ollama.

#Pré-requisitos: máquina, terminal e Ollama

O kit Copiloto Local

Este guia leva você ao modelo. O kit leva você ao copiloto que programa no seu editor.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias
Ollama em operação
Verifique se um modelo responde antes de configurar qualquer coisa: ollama list, depois ollama run com um modelo de código. Se funcionar, resta apenas a configuração do OpenCode.
Um terminal moderno
A documentação do OpenCode menciona WezTerm, Alacritty, Ghostty e Kitty. No Windows, ela recomenda usar WSL para obter melhor desempenho e compatibilidade completa.
Memória para contexto
Um agente lê arquivos e acumula o histórico. Ollama indica que o OpenCode exige um comprimento de contexto de pelo menos 64.000 tokens, o que aumenta a memória necessária além dos pesos do modelo.
Um repositório Git
Opcional, mas recomendado: um git diff ou um git restore anula corretamente uma sessão falha.

#Instalar OpenCode e conectá-lo ao Ollama

OpenCode instala-se por meio de um script ou dos gerenciadores de pacotes. A documentação lista o script oficial, npm, bun, pnpm, yarn, Homebrew, Arch, Chocolatey, Scoop, Mise e Docker. Para macOS e Linux com Homebrew, recomenda o tap oficial em vez da fórmula básica, que é atualizada com menos frequência.

Instalação por script (macOS, Linux)
curl -fsSL https://opencode.ai/install | bash
Instalação via npm (todas as plataformas)
npm install -g opencode-ai
Homebrew, tap oficial
brew install anomalyco/tap/opencode
Windows, Chocolatey ou Scoop
choco install opencode
scoop install opencode

#Método rápido: ollama launch opencode

Ollama sabe iniciar o OpenCode com um modelo escolhido. O comando ollama launch opencode inicia o OpenCode com uma configuração passada por linha de comando, sem sobrescrever seu arquivo ~/.config/opencode/opencode.json; as configurações existentes do OpenCode continuam em vigor. Com a opção --config, Ollama configura o OpenCode sem abrir uma sessão interativa. Modelos definidos apenas no opencode.json não aparecem no seletor do comando ollama launch.

Iniciar OpenCode com um modelo Ollama
ollama launch opencode

#Método manual: declarar Ollama como fornecedor

Se você prefere manter o controle, adicione um provedor ao arquivo opencode.json, seja o global (~/.config/opencode/opencode.json), seja o da raiz do projeto. O endpoint do Ollama compatível com OpenAI é http://localhost:11434/v1. Cada chave em models deve reproduzir exatamente o nome do modelo como exibido por ollama list.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama",
      "options": { "baseURL": "http://localhost:11434/v1" },
      "models": {
        "qwen3-coder:30b": { "name": "Qwen3-Coder 30B" },
        "devstral-small-2:24b": { "name": "Devstral Small 2" }
      }
    }
  }
}

Reinicie o OpenCode: o seletor de modelos apresenta os modelos declarados na configuração do provedor Ollama.

#A armadilha número um: o comprimento do contexto

Muitos dos primeiros testes falham porque o contexto é muito curto: o agente perde o início da tarefa, repete leituras de arquivos ou produz modificações incoerentes. Ollama não define um contexto único: o documento indica 4k tokens abaixo de 24 GB de VRAM, 32k entre 24 e 48 GB e 256k a partir de 48 GB. Ele especifica que tarefas que exigem um grande contexto, como agentes e ferramentas de código, devem ser configuradas para pelo menos 64.000 tokens.

Contexto padrão do Ollama de acordo com a VRAM e ação a tomar
VRAM disponívelContexto padrãoPara OpenCode
Menos de 24 GB4 000 tokensPassar para no mínimo 64 000
24 a 48 GB32 000 tokensPassar para no mínimo 64 000
48 GB ou mais256 000 tokensSuficiente; monitorar a memória

Para alterar o valor, existem duas opções. No aplicativo Ollama, um controle deslizante nas configurações define o contexto. Na linha de comando, a variável OLLAMA_CONTEXT_LENGTH se aplica ao iniciar o servidor. Um contexto maior consome mais memória: verifique com ollama ps se o modelo cabe inteiramente na GPU, pois um modelo que passa a usar também a CPU fica muito lento.

Contexto de 64.000 tokens ao iniciar o servidor
OLLAMA_CONTEXT_LENGTH=64000 ollama serve

#Qual modelo local para um agente de código

Um agente deve chamar ferramentas de forma confiável: ler, escrever, executar. Escolha um modelo que exiba a capacidade tools na biblioteca Ollama. Aqui estão candidatos cujas tags e tamanhos foram registrados em ollama.com.

Modelos com suporte a ferramentas adequados para agentes de código (biblioteca Ollama, setembro de 2026)
ModeloTagTamanho do downloadObservação
Qwen3-Coder 30Bqwen3-coder:30b19 GBContexto nativo anunciado de 256K; suporte a ferramentas
Devstral Small 2devstral-small-2:24b15 GBContexto anunciado de 384K; ferramentas e imagens
Qwen3.5qwen3.5:9b, 27b, 35bde acordo com o tamanhoFerramentas, visão e reflexão conforme o tamanho
gpt-ossgpt-oss:20b, 120bde acordo com o tamanhoFerramentas e reflexão

Esses tamanhos são os dos arquivos; acrescente o cache de contexto, que cresce com os 64.000 tokens solicitados. O modelo de 15 GB (Devstral Small 2) é o mais acessível em uma máquina de 24 GB; o de 19 GB (Qwen3-Coder 30B) exige mais margem. Em uma máquina mais modesta, um modelo menor executa tarefas simples e específicas, mas perde desempenho mais rapidamente em uma refatoração que afeta vários arquivos.

!
Um modelo 7B "Qwen3-Coder" não existe na biblioteca Ollama
Nessa biblioteca, o Qwen3-Coder está disponível apenas em 30B e 480B. Para um modelo pequeno com ferramentas, escolha uma variante menor de uma família generalista, como o Qwen3.5, e aceite tarefas mais curtas.

#Um workflow real: adicionar uma rota e seu teste

Caso prático: adicionar uma rota GET /health a uma pequena API Express e cobri-la com um teste. A documentação do OpenCode recomenda começar com /init, que analisa o projeto e cria um arquivo AGENTS.md na raiz, a ser commitado no git para ajudar o agente a entender a estrutura.

  1. 01
    Abrir o projeto
    Acesse a raiz do repositório, execute opencode e, na primeira vez, execute /init em seguida. Verifique na parte inferior se o modelo selecionado é realmente um modelo Ollama.
  2. 02
    Mudar para o modo Plan
    A tecla Tab alterna entre os modos Plan e Build. O modo Plan desativa as alterações: o agente sugere apenas como procederia. Peça a ele um plano antes de qualquer mudança.
  3. 03
    Descrever a tarefa
    Dê o contexto como se estivesse falando com um desenvolvedor iniciante: «Adicione uma rota GET /health em src/server.js que retorne status ok, depois um teste em test/health.test.js.» O caractere @ permite buscar um arquivo no projeto.
  4. 04
    Mudar para o modo Build
    Quando o plano atender às suas necessidades, pressione Tab novamente e peça que as alterações sejam aplicadas.
  5. 05
    Executar e iterar
    O agente pode executar npm test, ler a saída e corrigir o problema. Esse ciclo de executar, observar e corrigir é o núcleo da abordagem agêntica.
  6. 06
    Verificar e commitar
    Revise o git diff antes de fazer o commit. Se a sessão saiu do rumo, git restore restaura os arquivos ao estado anterior.

Com um modelo local, cada etapa é mais lenta do que com um modelo hospedado, e uma instrução ambígua às vezes exige reformulação. O ganho é o controle: o código e o contexto permanecem na sua máquina, e você escolhe o modelo, sua quantização e o tamanho do contexto de acordo com seu hardware.

#Permissões: o que o agente pode fazer sem pedir sua autorização

Uma ideia comum é que o agente não modifica nada sem seu consentimento. Esse não é o comportamento padrão. A documentação do OpenCode indica que, sem configuração, a maioria das permissões tem o valor allow, ou seja, as ações correspondentes são executadas sem pedir autorização; apenas algumas, como external_directory e doom_loop, têm o valor ask. A leitura de arquivos .env é bloqueada por padrão, exceto a de .env.example.

Para um agente que controla um modelo local menos confiável, é prudente adotar uma configuração mais rigorosa. O arquivo opencode.json aceita uma seção permission em que cada ação recebe o valor allow, ask ou deny, inclusive com uma regra global * definida como ask.

Solicitar confirmação para qualquer ação
{
  "$schema": "https://opencode.ai/config.json",
  "permission": { "*": "ask" }
}
→
Antes de qualquer sessão em um repositório importante
Faça commit ou guarde suas alterações antes de iniciar o agente, mantenha a regra * definida como ask enquanto não tiver confiança no modelo e releia os comandos shell propostos. A opção --auto aprova automaticamente tudo o que não é explicitamente recusado: reserve-a para um repositório descartável.

#OpenCode, Cline ou Aider: qual escolher?

Três agentes de código que se conectam a Ollama
FerramentaFormatoPonto forteEscolher se
OpenCodeInterface de terminal, também disponível como aplicativo e extensão IDEIndependente do editor, compatível com vários provedores, modos Plan e BuildVocê vive no terminal ou trabalha em servidores remotos
ClineExtensão do VS CodeDiffs exibidos no editorSeu fluxo de trabalho gira em torno do VS Code
AiderLinha de comandoIntegração forte com git, commits automáticosVocê quer um controle preciso dos arquivos adicionados ao contexto

Os três usam a API do Ollama; experimentar os dois mais próximos dos seus hábitos leva uma hora e vale mais do que um comparativo. Para autocompletar diretamente na linha de código em vez de usar um agente, veja o Tabby.

#Solução de problemas

O modelo não aparece
O nome no opencode.json não corresponde ao nome listado por ollama list. Copie o nome exato, incluindo a tag. Com ollama launch, um modelo definido apenas no opencode.json não aparece no seu seletor.
O agente esquece o que acabou de ler
O contexto é muito curto: passe para 64.000 tokens (OLLAMA_CONTEXT_LENGTH) e verifique com ollama ps.
Conexão recusada
O servidor Ollama não está rodando ou não está ouvindo na porta padrão 11434. Teste o comando ollama list, depois a URL de baseURL.
Chamadas de ferramentas que falham
O modelo não lida bem com ferramentas. Escolha um modelo marcado com tools na biblioteca Ollama.
Respostas muito lentas
O modelo e seu contexto ultrapassam a VRAM e parte do processamento é feito no processador. Reduza o contexto, o tamanho do modelo ou a quantização.
Perguntas frequentes sobre OpenCode e Ollama
Como usar o OpenCode com o Ollama?+
Instale o OpenCode, depois execute ollama launch opencode, ou adicione ao opencode.json um provedor do tipo openai-compatible com a baseURL http://localhost:11434/v1 e seus modelos. Ajuste o contexto do Ollama para pelo menos 64.000 tokens; caso contrário, o agente perde rapidamente o fio da tarefa. Por fim, verifique com ollama ps se o modelo cabe na GPU.
Qual a diferença entre OpenCode e Ollama?+
OpenCode é um agente de código que funciona no terminal e lê e modifica seu projeto. Ollama é um motor que executa modelos de linguagem em sua máquina e expõe uma API. Eles se complementam: OpenCode envia suas requisições ao modelo servido por Ollama.
O OpenCode funciona no Windows com o Ollama?+
Sim. A documentação do OpenCode sugere Chocolatey, Scoop, npm ou Docker e recomenda WSL para melhorar o desempenho. O Ollama funciona nativamente no Windows e disponibiliza a API em localhost:11434: no Windows nativo, a mesma baseURL funciona. Se você usar WSL, certifique-se de que o OpenCode consiga acessar o servidor Ollama a partir dele e instale o Ollama no WSL caso tenha dúvidas.
Qual contexto configurar no Ollama para o OpenCode?+
A documentação do Ollama indica que o OpenCode exige pelo menos 64.000 tokens de contexto. A configuração padrão do Ollama vai de 4.000 tokens com menos de 24 GB de VRAM até 256.000 tokens a partir de 48 GB. Defina o valor pelo aplicativo ou pela variável OLLAMA_CONTEXT_LENGTH, depois verifique a memória usada com o comando ollama ps.
OpenCode modifica meus arquivos sem pedir?+
Por padrão, sim para a maioria das ações: a documentação indica que a maioria das permissões tem o valor allow. Para ser avisado antes de cada ação, adicione uma regra global * com o valor ask na seção permission de opencode.json e faça um commit do seu trabalho antes de cada sessão.
Qual modelo local escolher para OpenCode?+
Escolha um modelo que exiba a capacidade tools na biblioteca Ollama: Qwen3-Coder 30B (19 GB) ou Devstral Small 2 24B (15 GB) são dois pontos de partida para uma máquina com 24 GB ou mais. Em uma máquina mais modesta, teste uma versão menor do Qwen3.5 em tarefas curtas.

#Para se aprofundar

Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.