Skip to content

Latest commit

 

History

History
198 lines (149 loc) · 3.23 KB

File metadata and controls

198 lines (149 loc) · 3.23 KB

Administrative API

Base URL padrão:

http://127.0.0.1:3005

Estado

GET /health
GET /api/admin/overview
GET /api/admin/settings
PATCH /api/admin/settings

PATCH /api/admin/settings aceita:

{ "port": 3005, "apiEnabled": true }

apiEnabled=false para apenas a superficie OpenAI-compatible. As rotas administrativas continuam respondendo para o painel Wails.

Contas

GET    /api/admin/accounts
GET    /api/admin/accounts/{id}
POST   /api/admin/accounts/{id}/activate
PUT    /api/admin/accounts/order
DELETE /api/admin/accounts/{id}
GET    /api/admin/queue

A listagem consulta a cota de todas as contas em paralelo. Tokens e segredos nunca são retornados.

Reordenar a fila:

{ "accountIds": ["account-1", "account-2"] }

A ordem salva define Conta 1, Conta 2 e tambem a ordem usada pela rotacao automatica quando a cota da conta ativa esgota.

GET /api/admin/queue mostra requests em execucao e aguardando por chave conta:modelo. O proxy serializa requests da mesma conta e do mesmo modelo para evitar model concurrency limit exceeded no ZCode.

Login

POST /api/admin/auth/login/start
GET  /api/admin/auth/login/poll?flow_id={flowId}

Resposta inicial:

{
  "flowId": "...",
  "authorizeUrl": "https://...",
  "expiresAt": "...",
  "pollIntervalSec": 2,
  "status": "pending"
}

O frontend deve abrir authorizeUrl no navegador e consultar o endpoint de poll respeitando pollIntervalSec.

Cota

GET /zcode/quota
GET /zcode/quota/accounts?model=glm-5.2

Cada balance retorna números da nuvem e usagePercent, calculado como:

used / total * 100

GET /api/admin/accounts embute o snapshot de cota de cada conta em account.quota.balances[], incluindo GLM-5.2 e GLM-5-Turbo quando a nuvem retorna os dois saldos.

Modelos

GET /api/admin/models/capabilities
GET /v1/models

O endpoint administrativo retorna capacidades completas. /v1/models segue o formato OpenAI.

Thinking

Global:

GET /api/admin/thinking
PUT /api/admin/thinking

Por conta:

GET    /api/admin/accounts/{id}/thinking
PUT    /api/admin/accounts/{id}/thinking
DELETE /api/admin/accounts/{id}/thinking

Payload:

{
  "enabled": true,
  "budgetTokens": 32000,
  "effort": "max"
}

Valores de effort:

none
low
medium
high
max

API keys

GET    /api/admin/api-keys
POST   /api/admin/api-keys
DELETE /api/admin/api-keys/{id}

Criação:

{ "name": "Roo Code" }

Resposta:

{
  "apiKey": {
    "id": "...",
    "name": "Roo Code",
    "prefix": "zkp_...",
    "createdAt": "..."
  },
  "secret": "zkp_...",
  "warning": "The secret is returned only once."
}

OpenAI-compatible

POST /v1/chat/completions
POST /chat/completions
GET  /v1/models

Suporta:

  • streaming e non-streaming;
  • tools/function calling;
  • system/developer messages;
  • resultados de tools;
  • imagens data URL;
  • temperature, top_p e stop;
  • aliases dos dois modelos;
  • API key local.

Captcha

GET  /zcode/captcha/config
GET  /zcode/captcha/browser
GET  /zcode/captcha/poll
POST /zcode/captcha/submit
POST /zcode/captcha/test

Os endpoints poll e submit são internos ao broker.