Introdução
O Kafox fala o mesmo protocolo da OpenAI. Troque a base URL e a chave, mantenha seu SDK e o mesmo corpo de requisição — o saldo é debitado em reais a cada resposta.
Fluxo de uma requisição
Primeira requisição
-
Gere uma chave
Em API Keys, crie uma chave
kafox_live_.... O segredo aparece uma única vez — guarde-o antes de fechar o painel. -
Aponte a base URL
Use
http://127.0.0.1:8080/v1no lugar dehttps://api.openai.com/v1. Nada mais muda. -
Envie a chamada
Um
POST /chat/completionscommodelemessagesjá devolve a resposta e debita os tokens.
CLI no terminal
O Kafox também vive no terminal. A CLI é uma TUI completa: streaming, raciocínio, edição de arquivos com diff, ferramentas de shell, MCP e subagentes — tudo na sua conta e cobrado como tokens.
Instalação
npm install -g kafox-cli
Requer Node.js 22.5 ou superior. Sem instalação global:
npx kafox-cli
O tarball também fica em /downloads/kafox-cli-0.9.9.tgz
para instalar offline: npm install -g ./kafox-cli-0.9.9.tgz.
Primeiros passos
-
Entre na conta
kafox loginabre o fluxo de device code: um código curto e um link. Confirme no navegador e a sessão fica gravada em~/.kafox/token.json. -
Abra a TUI
Só
kafoxjá abre a interface no diretório atual. Escolha o modelo com/modele o projeto é ocwd. -
Ou rode sem interface
kafox agent "revise src/ e aponte bugs"roda headless — bom para CI, script e auditoria automática.
Comandos
kafox abre a TUI
kafox login autentica a conta (device code)
kafox logout remove a sessão local
kafox agent "objetivo" roda o agente headless
kafox --version versão instalada
kafox --help todos os comandos
A sessão e as preferências ficam em ~/.kafox/
(ou na pasta apontada por KAFOX_HOME).
Atualize com npm install -g kafox-cli@latest.
API Tester
Rode uma chamada real sem sair do navegador. A chave fica só na memória desta aba — não é salva nem registrada em log.
Crie em API Keys. A chave só é usada nesta chamada.
curl
// preencha a chave e clique em Executar
Autenticação
Toda chamada leva a chave no header Authorization. É a chave
que identifica qual conta paga a requisição.
Authorization: Bearer kafox_live_...
Content-Type: application/json
- Chave revogada ou inválida responde
401com o códigoinvalid_api_key. - Sem saldo responde
402antes de chamar o modelo — nada é debatido da conta. - Uma chave por projeto deixa o histórico separado e permite revogar sem trocar a senha.
Chat completions
/chat/completions
Mesmo corpo da OpenAI. Aceita streaming por SSE e devolve o custo já calculado em reais no painel.
| Campo | Tipo | Descrição |
|---|---|---|
model | string | Modelo da tabela ou um alias (fast, smart). |
messages | array | Lista { role, content } com o histórico da conversa. |
stream | boolean | Devolve a resposta em eventos SSE, token a token. |
temperature | number | De 0 a 2. Quanto menor, mais previsível. |
max_tokens | number | Teto de tokens gerados na resposta. |
{
"id": "chatcmpl_9f2c1e",
"object": "chat.completion",
"model": "deepseek-ai/DeepSeek-V4.1-Flash",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "Olá! Como posso ajudar?" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 18, "completion_tokens": 9, "total_tokens": 27 }
}
- Fallback: se uma rota falhar, a próxima assume em silêncio. A resposta continua vindo da mesma chave, no mesmo formato.
- Cache: prompt repetido devolve a resposta guardada e cobra pela taxa de cache, não pela entrada.
Models
/models
Lista os modelos disponíveis com os preços vigentes por milhão de tokens.
{
"object": "list",
"data": [
{
"id": "deepseek-ai/DeepSeek-V4.1-Flash",
"object": "model",
"owned_by": "kafox",
"pricing": { "input_per_1m": 0.72, "cached_per_1m": 0.0144, "output_per_1m": 2.88 }
}
]
}
Erros e limites
Os erros chegam como JSON com error e code. O
status HTTP diz o que fazer.
| Status | Code | O que significa |
|---|---|---|
401 | invalid_api_key | Chave ausente, revogada ou de outra conta. |
402 | insufficient_balance | Saldo insuficiente. Recarregue em Créditos. |
404 | model_not_found | Modelo fora da tabela. Use GET /models. |
429 | rate_limited | Muitas requisições. Respeite o header Retry-After. |
502 | provider_unavailable | Nenhuma rota conseguiu responder. Tente de novo em instantes. |
Modelos e preços
Valores em reais por 1 milhão de tokens. O painel usa esta mesma tabela para calcular o custo de cada chamada.
| Modelo | Entrada / 1M | Cache / 1M | Saída / 1M |
|---|---|---|---|
| Carregando tabela... | |||
Free tier: modelos marcados como free não
descontam saldo. Cada conta tem 5 milhões de tokens grátis por
dia somando todos os modelos grátis (não é por modelo), com
renovação à meia-noite UTC. Use "model": "free" no
/api/chat para a Kafox rotacionar entre eles e trocar de
rota quando uma estiver limitada.
Node.js
SDK oficial da OpenAI para JavaScript e TypeScript. Instale, troque a base URL e a chave.
npm install openai
Python
SDK oficial da OpenAI para Python 3.8+. O mesmo client.chat.completions da OpenAI.
pip install openai
PHP
openai-php/client, o cliente comunitário mais usado. Funciona com PHP 8.2+.
composer require openai-php/client