Como usar o OpenCode com sua chave GPTAll
O OpenCode aceita provedores compatíveis com a API da OpenAI. Declarando a GPTAll 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 teste 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 GPTAll 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 gptall 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": {
"gptall": {
"npm": "@ai-sdk/openai-compatible",
"name": "GPTAll",
"options": {
"baseURL": "https://api.tn1.top/v1",
"apiKey": "{env:GPTALL_API_KEY}"
},
"models": {
"gpt-5.6-luna": { "name": "gpt-5.6-luna" }
}
}
}
}
- Exporte a chave no ambiente:
export GPTALL_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 "gptall/gpt-5.6-luna" "responda apenas: OK".
De onde vem esta configuração. Ela foi extraída do código do OmniRoute, o roteador que a GPTAll 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 GPTAll anuncia 3 nomes, todos 100% Codex: gpt-5.6-luna (rápido, dia a dia), gpt-5.6-sol (raciocínio profundo) e gpt-5.6-terra (equilíbrio entre custo e qualidade). O gateway responde igual em todos — é o mesmo nome nos planos pagos e no trial.
No OpenCode o modelo é informado por -m gptall/<modelo> na linha de comando.
O identificador leva prefixo: gptall/gpt-5.6-luna, gptall/gpt-5.6-sol ou gptall/gpt-5.6-terra.
| Modelo | Como escrever |
|---|---|
gpt-5.6-luna | gptall/gpt-5.6-luna |
gpt-5.6-sol | gptall/gpt-5.6-sol |
gpt-5.6-terra | gptall/gpt-5.6-terra |
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 gptall/<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: gptall/gpt-5.6-luna (ou gptall/gpt-5.6-sol / gptall/gpt-5.6-terra), não gpt-5.6-luna sozinho. |
401 Acesso inativo: sua chave está ausente, inválida ou expirada | Duas causas possíveis, nesta ordem: (1) a variável GPTALL_API_KEY não está exportada no shell que roda o OpenCode — confira com echo $GPTALL_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. O mesmo modelo em qualquer ferramenta
O GPTAll não é a chave de "tanto faz qual modelo responde". No OpenCode, como em qualquer outra ferramenta compatível, o nome que você configura é sempre um dos 3 — gpt-5.6-luna, gpt-5.6-sol ou gpt-5.6-terra — todos 100% Codex.
Isso significa que trocar de ferramenta não muda o que você recebe: a mesma chave, o mesmo nome de modelo, o mesmo comportamento — só a interface muda.
Outras ferramentas com o mesmo modelo travado, na mesma chave: