API
Middleware (público)
Compatível com OpenAI
| Rota | Autenticação | |
|---|---|---|
GET /v1/models | Bearer rk_… | auto (quando mais de um agente está ligado) e cada agente ligado, com sua descrição |
POST /v1/chat/completions | Bearer rk_… | Chat completions da OpenAI. model: o id de um agente ou auto; stream: true para server-sent events |
Cabeçalho opcional: X-Session-Id guarda memória por sessão e agente, então só a mensagem nova precisa ser enviada.
Os erros seguem o formato da OpenAI, { "error": { "message", "type", "code" } }: 401 invalid_api_key, 404 model_not_found, 429 demo_limit (modo de demonstração), 502 agent_failed.
Configurações
Todas com Authorization: Bearer <ADMIN_TOKEN>.
| Rota | Corpo | |
|---|---|---|
GET /api/config | endpoint, provedor (sem a chave), agentes, chaves de API | |
PUT /api/provider | { baseURL, model, apiKey? } | define o provedor; omita apiKey para manter a salva |
DELETE /api/provider | volta ao modelo embutido | |
PUT /api/agents | { disabled: ["id", …] } | desliga agentes |
POST /api/keys | { name } | cria uma chave: { id, name, key }, mostrada só aqui |
DELETE /api/keys/:id | revoga uma chave | |
GET /api/demo | (sem autenticação) | { demo, adminToken? }: o token publicado no modo de demonstração |
Agents Worker
Privado: alcançado só pelo service binding do middleware. Mesmas rotas /v1, mais GET / (health e ids dos agentes). O middleware define estes cabeçalhos em cada chamada:
| Cabeçalho | |
|---|---|
X-Provider-Base-URL, X-Provider-Key, X-Provider-Model | o provedor de modelo desta requisição (ausentes: o modelo embutido) |
X-Agents | ids, separados por vírgula, dos agentes ligados |
X-Session-Id | repassado do cliente |
Authorization: Bearer <AGENTS_API_KEY> | quando definido |