opencode, Cline, Aider e Continue
Todo agente de terminal que fala OpenAI entende a Tokia: você troca a base URL e a API key. O que costuma dar errado não é a conexão, é o nome do modelo — por isso esta página começa por ele.
1. Descubra o id exato antes de configurar
Não digite o nome do modelo de cabeça nem copie da documentação do provedor. Pergunte para a própria API qual id ela aceita:
curl -H "Authorization: Bearer sk-SUA_CHAVE" \ https://api.usetokia.com/v1/models
A resposta é a lista dos ids que a sua chave pode pedir, no formato OpenAI ({"data": [{"id": "..."}]}). Cole o id exatamente como aparece ali. Para filtrar só os de texto:
curl -H "Authorization: Bearer sk-SUA_CHAVE" \ "https://api.usetokia.com/v1/models" | grep -o '"id":"[^"]*"'
A mesma lista, com preço em real e descrição, está em /docs/models.
Se o modelo não existir, a API te diz qual usar
Pedir um id que não existe devolve 404 com o parecido mais próximo — não um erro genérico nem uma resposta vazia:
{
"error": {
"code": "model_not_found",
"requested_model": "z-ai/glm-5.3-flash",
"did_you_mean": ["openrouter/z-ai/glm-5.3", "openrouter/z-ai/glm-4.7-flash"],
"models_endpoint": "https://api.usetokia.com/v1/models"
}
}Se aparecer isso, troque o id pelo de did_you_mean e repita. Não adianta insistir no mesmo nome: id que não está na lista não é servido.
2. Configure o agente
opencode
No opencode.json do projeto (ou em ~/.config/opencode/opencode.json):
{
"provider": {
"tokia": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://api.usetokia.com/v1",
"apiKey": "sk-SUA_CHAVE"
},
"models": {
"openrouter/z-ai/glm-5.3": { "name": "GLM 5.3 (Tokia)" }
}
}
}
}A chave dentro de models é o id que vai no corpo da requisição — use um que veio do /v1/models.
Cline (VS Code)
- API Provider: OpenAI Compatible
- Base URL:
https://api.usetokia.com/v1 - API Key: sua chave
sk-… - Model ID: o id copiado da lista
Aider
export OPENAI_API_BASE=https://api.usetokia.com/v1 export OPENAI_API_KEY=sk-SUA_CHAVE aider --model openai/openrouter/z-ai/glm-5.3
O prefixo openai/ é do Aider (diz qual SDK usar); o resto é o id da Tokia.
Continue
models:
- name: GLM 5.3 via Tokia
provider: openai
model: openrouter/z-ai/glm-5.3
apiBase: https://api.usetokia.com/v1
apiKey: sk-SUA_CHAVE3. Teste antes de usar no editor
Uma chamada direta prova chave, base URL e id de uma vez:
curl https://api.usetokia.com/v1/chat/completions \
-H "Authorization: Bearer sk-SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"model": "openrouter/z-ai/glm-5.3",
"messages": [{"role": "user", "content": "responda ok"}]
}'Problemas comuns
- 404 model_not_found — o id não existe aqui. Use o que vem em
did_you_meanou liste de novo. - 401 — chave revogada ou copiada pela metade. Pegue uma ativa em /dashboard/keys e não crie uma nova a cada erro.
- 402 — sem saldo ou sem plano. Recarregue em /dashboard/saldo.
- 429 — limite por minuto da chave. Espere os segundos do header
retry-afterou use uma segunda chave.
Se travar em algo que não está aqui, abra um chamado em /suporte — a resposta sai em horas, em português.