Como usar o OpenCode com sua chave CodeAll
O OpenCode aceita provedores compatíveis com a API da OpenAI. Declarando a CodeAll como provedor, o agente de terminal inteiro roda na sua assinatura, pagando em reais.
Se você ainda não tem chave, escolha um plano ou peça um trial de 24h grátis.
O detalhe que mais gera chamado: o endereço da API termina em https://api.tn1.top/v1. O /v1 no fim não é opcional — sem ele o gateway responde 401 dizendo que a chave está inválida, e você vai procurar o problema no lugar errado.
1. Pré-requisitos
- Uma chave CodeAll ativa.
- O OpenCode instalado:
npm install -g opencode-ai
2. Configurar o OpenCode
Crie (ou edite) o arquivo de configuração com o bloco abaixo. Ele declara o provedor codejato e lista os modelos que você quer ver no seletor.
| Sistema | Onde fica |
|---|---|
| macOS | ~/.config/opencode/opencode.json |
| Linux | ~/.config/opencode/opencode.json |
| Windows | %USERPROFILE%\.config\opencode\opencode.json |
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"codejato": {
"npm": "@ai-sdk/openai-compatible",
"name": "CodeAll",
"options": {
"baseURL": "https://api.tn1.top/v1",
"apiKey": "{env:CODEALL_API_KEY}"
},
"models": {
"gpt-5.5": { "name": "gpt-5.5" },
"Opus 4.8": { "name": "Opus 4.8" },
"Sonnet": { "name": "Sonnet" },
"Haiku": { "name": "Haiku" }
}
}
}
}
- Exporte a chave no ambiente:
export CODEALL_API_KEY="sua-chave". O config guarda só o nome da variável, então a chave não fica no disco. - Rode
opencodena pasta do projeto e escolha o modelo pelo seletor. - Sem abrir a interface:
opencode run -m "codejato/gpt-5.5" "responda apenas: OK".
De onde vem esta configuração. Ela foi extraída do código do OmniRoute, o roteador que a CodeAll usa por baixo (comando omniroute setup-opencode). Nós ainda não executamos o OpenCode contra o gateway para conferir de ponta a ponta. Se algo divergir, escreva para suporte@tn1.top: corrigimos e creditamos o aviso.
3. Modelos disponíveis
O CodeAll junta as duas famílias na mesma chave: gpt-5.5 da OpenAI e os modelos da Anthropic (Opus 4.8, Sonnet, Haiku). Trocar de modelo é trocar uma linha do config.
No OpenCode o modelo é informado por -m codejato/<modelo> na linha de comando.
O identificador leva prefixo: codejato/gpt-5.5.
| Modelo | Como escrever |
|---|---|
gpt-5.5 | codejato/gpt-5.5 |
Opus 4.8 | codejato/Opus 4.8 |
Sonnet | codejato/Sonnet |
Haiku | codejato/Haiku |
4. O que funciona
| Recurso | Status | Observação |
|---|---|---|
Execução direta (opencode run) | Não testamos | Não rodamos o OpenCode com uma chave desta marca. A configuração é a mesma das outras. |
| Modo agente (TUI) | Não testamos | Usa exatamente a mesma configuração, mas não abrimos a interface para verificar. |
| Vários modelos no seletor | Não testamos | Cada chave do bloco models vira uma opção. |
| Nome do modelo sem prefixo | Não | Tem que ser codejato/<modelo>. O prefixo é o nome do provedor. |
5. Troubleshooting
| Sintoma | O que fazer |
|---|---|
O modelo não aparece / model not found | O identificador tem que levar o prefixo do provedor: codejato/gpt-5.5, não gpt-5.5 sozinho. |
| Modelo com espaço no nome quebra o comando | Ponha entre aspas: -m "codejato/Opus 4.8". Sem aspas o terminal corta no espaço. |
401 Acesso inativo: sua chave está ausente, inválida ou expirada | Duas causas possíveis, nesta ordem: (1) a variável CODEALL_API_KEY não está exportada no shell que roda o OpenCode — confira com echo $CODEALL_API_KEY; (2) o baseURL está sem o /v1 no fim. O endereço correto é https://api.tn1.top/v1. A mensagem é a mesma nos dois casos, por isso cheque as duas. |
Unexpected token '<' is not valid JSON | O gateway devolveu HTML de login em vez de JSON, o que acontece quando a requisição chega sem o cabeçalho de autorização. Mesma checagem da variável de ambiente acima. |
| O comando termina com código 0 mesmo tendo dado erro | O OpenCode sai com 0 mesmo quando o provedor responde erro. Leia a saída, não confie só no código de saída. |
6. FAQ
Por que npm dentro do config?
O OpenCode baixa o adaptador @ai-sdk/openai-compatible sozinho na primeira execução. Você não precisa instalar nada a mais.
Posso usar outros provedores junto?
Sim. O bloco provider aceita vários; o prefixo do modelo diz qual usar.
Onde fica a chave?
Numa variável de ambiente, referenciada por {env:...}. O arquivo de config não guarda o segredo.
Dúvida que não está aqui? Fale com a gente em suporte@tn1.top.
7. A mesma chave na próxima ferramenta
A sua chave CodeAll não é só do OpenCode. Ela responde nos dois formatos — o da OpenAI e o da Anthropic — então a ferramenta que fala GPT e a que fala Claude usam a mesma chave e a mesma assinatura.
Na prática: você deixa o OpenCode no modelo que preferir para a tarefa de agora e abre outra ferramenta com o modelo nativo dela, sem trocar de chave, sem uma segunda mensalidade e sem refazer configuração.
Ferramentas próximas do OpenCode, cobertas pela mesma chave: