Saltar ao contido
Ferramentas de código CLI

Ferramentas de código CLI

Novo

Usa Shannon como o modelo que hai detrás de Claude Code, Codex CLI e outras CLI de axentes.

Unha ferramenta de programación necesita tres axustes para funcionar con Shannon: a URL base da API, a túa clave API e un id de modelo de Shannon. Esta páxina dá os axustes exactos para Claude Code e Codex CLI, explica como se conta o modelo de código shannon-coder-1 e lista os erros que atopan estas ferramentas.

Que endpoint usa cada ferramenta

Ferramenta Endpoint URL base que definir Nota
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com A ferramenta engade /v1/messages á URL base por si mesma.
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 A ferramenta engade /responses á URL base.
Outras ferramentas de axentes que falan o formato de chat de OpenAI POST /v1/chat/completions https://api.shannon-ai.com/v1 Define a URL base, a clave e un id de modelo de Shannon nos axustes da propia ferramenta.

Os tres endpoints aceptan a mesma clave API, como Authorization: Bearer ou como x-api-key. Acéptanse as cabeceiras anthropic-version, anthropic-beta e openai-beta que envían estas ferramentas.

Seleccionar un modelo de Shannon

Cada solicitude debe nomear un id de modelo que Shannon publique. Unha ferramenta de programación envía o nome do seu propio modelo predeterminado a menos que lle indiques outra cousa, e un nome que Shannon non publica recibe 400 e a mensaxe unknown model: <name>. Ningún outro nome se asigna a un modelo de Shannon, así que define o modelo na ferramenta antes da primeira solicitude.

GET /v1/models lista todos os ids coa súa ventá de contexto. Non necesita clave. Modelos e prezos

Modelo Contado como Que achega
shannon-coder-1 Unha chamada por solicitude en /v1/messages e /v1/chat/completions. Tokens en /v1/responses. O modelo de código. Entrada de texto, chamadas a ferramentas, ventá de contexto de 131,072 tokens.
shannon-1.6-lite
shannon-1.6-pro
Tokens do teu saldo. Modelos xerais con chamadas a ferramentas. shannon-1.6-lite é axeitado para as solicitudes curtas en segundo plano que fai unha ferramenta.
Modelos open-weight alojados Tokens do teu saldo, coa entrada en caché ao 25% do prezo de entrada. Chamadas a ferramentas, caché de prompts para sesións longas e recontos exactos desde /v1/messages/count_tokens.

As ferramentas de programación guían o modelo cun system prompt longo. O system prompt aplícano shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro e os modelos open-weight alojados, así que selecciona un destes para unha ferramenta de programación.

Claude Code

Claude Code le a súa conexión de variables de contorna. Defínas no shell que o inicia, ou no bloque env de ~/.claude/settings.json para conservalas en todas as sesións.

# Install Claude Code
npm install -g @anthropic-ai/claude-code

# Where to send requests, and your Shannon API key
export ANTHROPIC_BASE_URL=https://api.shannon-ai.com
export ANTHROPIC_AUTH_TOKEN=YOUR_API_KEY

# Shannon model ids: the session model, and the model behind each built-in name
export ANTHROPIC_MODEL=shannon-coder-1
export ANTHROPIC_DEFAULT_OPUS_MODEL=shannon-coder-1
export ANTHROPIC_DEFAULT_SONNET_MODEL=shannon-coder-1
export ANTHROPIC_DEFAULT_HAIKU_MODEL=shannon-1.6-lite

# The context window of the session model
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=131072

claude
Variable Descrición
ANTHROPIC_BASE_URL Onde Claude Code envía as súas solicitudes. Usa o enderezo sen /v1.
ANTHROPIC_AUTH_TOKEN A túa clave API de Shannon, enviada como Authorization: Bearer. ANTHROPIC_API_KEY tamén funciona: envía a clave como x-api-key, e Claude Code pide unha vez que a aprobes.
ANTHROPIC_MODEL O modelo da sesión. claude --model <id> e /model <id> definen o mesmo.
ANTHROPIC_DEFAULT_HAIKU_MODEL O modelo para solicitudes en segundo plano, como os títulos de sesión, e para todo o que pida haiku.
ANTHROPIC_DEFAULT_SONNET_MODEL O modelo que se usa cando un subagente ou un comando pide sonnet.
ANTHROPIC_DEFAULT_OPUS_MODEL O modelo que se usa cando un subagente ou un comando pide opus.
CLAUDE_CODE_MAX_CONTEXT_TOKENS A ventá de contexto que Claude Code asume para o modelo. Usa o context_window que informa GET /v1/models para o id que seleccionaches.
  • Define as tres variables ANTHROPIC_DEFAULT_…_MODEL. Os subagentes e algúns comandos piden un modelo polo seu nome integrado, e cada nome debe resolverse a un id de Shannon.
  • O exemplo dirixe as solicitudes en segundo plano a shannon-1.6-lite, que se conta en tokens. Así, os títulos de sesión e solicitudes semellantes non usan chamadas de Coder.
  • Claude Code pregunta a POST /v1/messages/count_tokens polo tamaño do contexto. O endpoint conta para os modelos open-weight alojados. Con un id de Shannon responde 400; Claude Code trata o reconto de tokens como opcional e estima el mesmo o tamaño. Reconto de tokens

Para comprobar o enderezo, a clave e un id de modelo antes de iniciar a ferramenta, envía unha solicitude a man:

cURL
curl https://api.shannon-ai.com/v1/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-1.6-lite",
    "max_tokens": 16,
    "messages": [{"role": "user", "content": "Say OK."}]
  }'

Codex CLI

Codex CLI comunícase coa API Responses. Describe Shannon como provedor de modelos en ~/.codex/config.toml, selecciona alí un id de modelo de Shannon e pon a túa clave API na variable de contorna que nomea o provedor.

~/.codex/config.toml
model = "shannon-coder-1"
model_provider = "shannon"
model_context_window = 131072

[model_providers.shannon]
name = "Shannon"
base_url = "https://api.shannon-ai.com/v1"
env_key = "SHANNON_API_KEY"
wire_api = "responses"
Shell
# Install Codex CLI
npm install -g @openai/codex

# Your Shannon API key, under the name given as env_key
export SHANNON_API_KEY=YOUR_API_KEY

# Start it; --model selects another Shannon id for one run
codex
codex --model shannon-1.6-pro
Clave Descrición
model O id de modelo de Shannon. codex --model <id> defíneo para unha execución.
model_provider O nome do bloque de provedor que se vai usar, aquí shannon.
base_url O enderezo da API con /v1.
env_key O nome da variable de contorna que contén a túa clave API de Shannon.
wire_api responses: Codex comunícase con POST /v1/responses.
model_context_window A ventá de contexto do modelo, para que Codex compacte a tempo unha sesión longa. Usa o context_window que informa GET /v1/models.
  • /v1/responses non garda ningunha conversa no servidor: cada solicitude leva a conversa en input. previous_response_id acéptase por compatibilidade.
  • As ferramentas de función (type: "function") ofrécense ao modelo en /v1/responses.
  • En /v1/responses, shannon-coder-1 cóntase en tokens do teu saldo, non en chamadas de Coder.

A mesma comprobación para o endpoint Responses:

cURL
curl https://api.shannon-ai.com/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-1.6-lite",
    "input": "Say OK."
  }'

O modelo de código e como se conta

shannon-coder-1 é o modelo de Shannon para axentes de programación. GET /v1/models infórmao cunha ventá de contexto de 131,072 tokens, chamadas a ferramentas, razoamento e entrada de texto. Cóntase de dúas maneiras, segundo o endpoint que use unha ferramenta.

Endpoint Unha solicitude custa Tomado de
/v1/messages 1 chamada por solicitude A cota de chamadas de Coder do teu plan. Non se toma ningún token do teu saldo.
/v1/chat/completions 1 chamada por solicitude A cota de chamadas de Coder do teu plan. Non se toma ningún token do teu saldo.
/v1/responses Tokens, a $8.00 por 1M O teu saldo, como calquera outro modelo. Non se usa a cota de chamadas.

Unha chamada é unha solicitude, sexa cal sexa o seu tamaño. Cóntase cando se acepta a solicitude, antes de que responda o modelo. Unha sesión de axente envía unha solicitude por cada paso que dá, así que unha tarefa longa usa moitas chamadas. A cota depende do teu plan e comeza de novo cada 4 horas, ás 00:00, 04:00, 08:00, 12:00, 16:00 e 20:00 UTC.

Plan Chamadas por xanela de 4 horas
Free 3
Plus 20
Standard 40
Pro 60

A páxina de planes mostra as cifras actuais. Planes

Cando se esgotan as chamadas dunha xanela, a solicitude recibe 429. En /v1/messages o mesmo erro vén coa forma de Anthropic.

429 /v1/chat/completions
{
  "error": {
    "type": "rate_limit_error",
    "message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
  }
}
429 /v1/messages
{
  "type": "error",
  "error": {
    "type": "rate_limit_error",
    "message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
  }
}

Desbordamento de contexto

Cando unha conversa é máis grande que a ventá de contexto do modelo, /v1/chat/completions e /v1/messages responden con 400, o tipo invalid_request_error, o código context_length_exceeded e unha mensaxe que comeza por prompt is too long. As ferramentas de programación len este erro para compactar a sesión e enviar a solicitude de novo. Prodúceno shannon-coder-1, shannon-1.6-lite e shannon-1.6-pro.

400 /v1/chat/completions
{
  "error": {
    "type": "invalid_request_error",
    "code": "context_length_exceeded",
    "message": "prompt is too long: 140211 tokens > 131072 maximum",
    "param": null
  }
}
400 /v1/messages
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "code": "context_length_exceeded",
    "message": "prompt is too long: 140211 tokens > 131072 maximum",
    "param": null
  }
}

A mensaxe é prompt is too long: <sent> tokens > <limit> maximum. Cando non se coñecen os dous números, é prompt is too long. Please compact the conversation and try again.

Nun stream o estado xa é 200, así que o erro chega como un evento e despois o stream péchase de forma normal:

/v1/chat/completions, stream
data: {"error":{"message":"prompt is too long: 140211 tokens > 131072 maximum","type":"invalid_request_error","code":"context_length_exceeded","param":null}}

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","created":…,"model":"shannon-coder-1","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{…}}

data: [DONE]
/v1/messages, stream
event: error
data: {"type":"error","error":{"type":"invalid_request_error","message":"prompt is too long: 140211 tokens > 131072 maximum"}}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{…}}

event: message_stop
data: {"type":"message_stop"}

En que pode confiar un bucle de axente

Tema Comportamento
Esquemas de ferramentas As definicións de ferramentas tómanse tal como as envía a ferramenta. En shannon-coder-1 e shannon-1.6-*, as palabras clave de JSON Schema que o modelo non usa, como $schema, $ref, additionalProperties, default e title, quedan fóra do que le o modelo, e oneOf lese como anyOf. Ningunha solicitude se rexeita por elas.
Argumentos da chamada a unha ferramenta Nun stream, os argumentos dunha chamada a unha ferramenta chegan completos nun só delta: tool_calls[].function.arguments, input_json_delta.partial_json ou response.function_call_arguments.delta.
Fin dun turno de ferramenta finish_reason: "tool_calls" en Chat Completions, stop_reason: "tool_use" en Messages.
Keep-alive Mentres o modelo traballa, /v1/messages envía event: ping e /v1/chat/completions envía unha liña de comentario : ping cada 15 segundos.
Deter unha solicitude Pechar a conexión detén o stream. O turno en si execútase ata o final e cóntase.

Resolución de problemas

Síntoma Causa Solución
400 con unknown model: claude-… ou unknown model: gpt-… A ferramenta enviou o nome do seu propio modelo predeterminado. Só se serven ids de Shannon publicados, e ningún outro nome se asigna a un deles. Selecciona un id de Shannon: ANTHROPIC_MODEL e as tres variables ANTHROPIC_DEFAULT_…_MODEL en Claude Code, model na configuración de Codex.
400 con unknown model: sen nome, desde Codex CLI A solicitude non nomeou ningún modelo. /v1/responses necesita un. Define model en ~/.codex/config.toml ou pasa --model.
401 con Missing authentication ou Invalid API key A clave non chegou á API, ou non é unha clave actual. Unha clave de Shannon comeza por sk-. Comproba que a variable está definida no shell que inicia a ferramenta. Copia a clave de novo desde Claves e uso.
404 en todas as solicitudes A URL base ten un /v1 de máis ou de menos para a ferramenta. Claude Code: o enderezo sen /v1. Codex CLI: o enderezo con /v1.
429 con Shannon Coder call quota reached Esgotáronse as chamadas de Coder da xanela actual de 4 horas. Agarda á seguinte xanela, pasa a un plan con máis chamadas ou selecciona un modelo que se conte en tokens.
429 con Quota exceeded O teu saldo non cobre a solicitude. Engade crédito, ou agarda á cota diaria do teu plan ás 00:00 UTC.
400 con prompt is too long A conversa é máis grande que a ventá de contexto do modelo. Compacta a sesión (/compact nas dúas ferramentas). Indícalle á ferramenta a ventá de contexto do modelo para que compacte antes.
Claude Code mostra cifras de contexto aproximadas /v1/messages/count_tokens conta para os modelos open-weight alojados. Con un id de Shannon responde 400, e Claude Code estima el mesmo o tamaño. Nada que corrixir. Selecciona un modelo open-weight alojado se queres recontos exactos.
Unha captura de pantalla pegada non se ten en conta shannon-coder-1 acepta entrada de texto. Selecciona para esa sesión un modelo que acepte imaxes.

A túa clave e o teu saldo están na páxina Claves e uso. Claves e uso