CLI-kodeværktøjer
NyBrug Shannon som modellen bag Claude Code, Codex CLI og andre agent-CLI'er.
Et kodeværktøj skal bruge tre indstillinger for at virke med Shannon: API'ets base-URL, din API-nøgle og et Shannon-model-id. Denne side giver de præcise indstillinger for Claude Code og Codex CLI, forklarer, hvordan kodemodellen shannon-coder-1 tælles, og opregner de fejl, disse værktøjer møder.
Hvilket endpoint hvert værktøj bruger
| Værktøj | Endpoint | Base-URL, der skal angives | Bemærkning |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Værktøjet tilføjer selv /v1/messages til base-URL'en. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Værktøjet tilføjer /responses til base-URL'en. |
| Andre agentværktøjer, der taler OpenAI-chatformatet | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Angiv base-URL'en, nøglen og et Shannon-model-id i værktøjets egne indstillinger. |
Alle tre endpoints tager den samme API-nøgle, som Authorization: Bearer eller som x-api-key. Headerne anthropic-version, anthropic-beta og openai-beta, som disse værktøjer sender, accepteres.
Vælg en Shannon-model
Hver anmodning skal angive et model-id, som Shannon udgiver. Et kodeværktøj sender navnet på sin egen standardmodel, medmindre du siger andet, og et navn, som Shannon ikke udgiver, besvares med 400 og beskeden unknown model: <name>. Intet andet navn afbildes på en Shannon-model, så angiv modellen i værktøjet før den første anmodning.
GET /v1/models viser hvert id med dets kontekstvindue. Det kræver ingen nøgle. Modeller og priser
| Model | Tælles som | Hvad det giver |
|---|---|---|
shannon-coder-1 | Ét kald per anmodning på /v1/messages og /v1/chat/completions. Tokens på /v1/responses. | Kodemodellen. Tekstinput, værktøjskald, kontekstvindue på 131,072 tokens. |
shannon-1.6-liteshannon-1.6-pro | Tokens fra din saldo. | Generelle modeller med værktøjskald. shannon-1.6-lite passer til de korte baggrundsanmodninger, et værktøj sender. |
| Hostede open-weight-modeller | Tokens fra din saldo, med cachet input til 25% af inputprisen. | Værktøjskald, prompt caching til lange sessioner og nøjagtige tællinger fra /v1/messages/count_tokens. |
Kodeværktøjer styrer modellen med en lang system prompt. System prompten anvendes af shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro og de hostede open-weight-modeller, så vælg en af disse til et kodeværktøj.
Claude Code
Claude Code læser sin forbindelse fra miljøvariabler. Angiv dem i den shell, der starter den, eller i env-blokken i ~/.claude/settings.json for at beholde dem til hver session.
# 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 {
"env": {
"ANTHROPIC_BASE_URL": "https://api.shannon-ai.com",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "shannon-coder-1",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "shannon-coder-1",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "shannon-coder-1",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "shannon-1.6-lite",
"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "131072"
}
} | Variabel | Beskrivelse |
|---|---|
ANTHROPIC_BASE_URL | Hvor Claude Code sender sine anmodninger. Brug adressen uden /v1. |
ANTHROPIC_AUTH_TOKEN | Din Shannon API-nøgle, sendt som Authorization: Bearer. ANTHROPIC_API_KEY virker også: den sender nøglen som x-api-key, og Claude Code beder én gang om at godkende den. |
ANTHROPIC_MODEL | Sessionens model. claude --model <id> og /model <id> angiver det samme. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Modellen til baggrundsanmodninger som sessionstitler og til alt, der beder om haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Den model, der bruges, når en subagent eller en kommando beder om sonnet. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Den model, der bruges, når en subagent eller en kommando beder om opus. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Det kontekstvindue, Claude Code antager for modellen. Brug det context_window, som GET /v1/models rapporterer for det id, du valgte. |
- Angiv alle tre
ANTHROPIC_DEFAULT_…_MODEL-variabler. Subagenter og nogle kommandoer beder om en model ved dens indbyggede navn, og hvert navn skal oversættes til et Shannon-id. - Eksemplet peger baggrundsanmodninger på
shannon-1.6-lite, som tælles i tokens. Sessionstitler og lignende anmodninger bruger så ikke Coder-kald. - Claude Code beder
POST /v1/messages/count_tokensom kontekstens størrelse. Endpointet tæller for de hostede open-weight-modeller. Med et Shannon-id svarer det400; Claude Code behandler tokentælling som valgfri og vurderer størrelsen selv. Tælling af tokens
For at kontrollere adressen, nøglen og et model-id, før du starter værktøjet, kan du sende en anmodning i hånden:
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 taler med Responses API'et. Beskriv Shannon som en modeludbyder i ~/.codex/config.toml, vælg dér et Shannon-model-id, og læg din API-nøgle i den miljøvariabel, udbyderen angiver.
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" # 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 | Nøgle | Beskrivelse |
|---|---|
model | Shannon-model-id'et. codex --model <id> angiver det for én kørsel. |
model_provider | Navnet på den provider-blok, der skal bruges, her shannon. |
base_url | API-adressen med /v1. |
env_key | Navnet på den miljøvariabel, der indeholder din Shannon API-nøgle. |
wire_api | responses: Codex taler med POST /v1/responses. |
model_context_window | Modellens kontekstvindue, så Codex komprimerer en lang session i tide. Brug det context_window, som GET /v1/models rapporterer. |
/v1/responsesgemmer ingen samtale på serveren: hver anmodning bærer samtalen iinput.previous_response_idaccepteres af hensyn til kompatibilitet.- Funktionsværktøjer (
type: "function") tilbydes modellen på/v1/responses. - På
/v1/responsestællesshannon-coder-1i tokens fra din saldo, ikke i Coder-kald.
Den samme kontrol for Responses-endpointet:
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."
}' Kodemodellen og hvordan den tælles
shannon-coder-1 er Shannon-modellen til kodeagenter. GET /v1/models rapporterer den med et kontekstvindue på 131,072 tokens, værktøjskald, reasoning og tekstinput. Den tælles på en af to måder, afhængigt af hvilket endpoint et værktøj bruger.
| Endpoint | En anmodning koster | Trækkes fra |
|---|---|---|
/v1/messages | 1 kald per anmodning | Din plans kvote af Coder-kald. Der trækkes ingen tokens fra din saldo. |
/v1/chat/completions | 1 kald per anmodning | Din plans kvote af Coder-kald. Der trækkes ingen tokens fra din saldo. |
/v1/responses | Tokens, til $8.00 per 1M | Din saldo, som enhver anden model. Kvoten af kald bruges ikke. |
Et kald er én anmodning, uanset størrelse. Det tælles, når anmodningen accepteres, før modellen svarer. En agentsession sender én anmodning for hvert trin, den tager, så en lang opgave bruger mange kald. Kvoten afhænger af din plan og starter forfra hver 4. time, kl. 00:00, 04:00, 08:00, 12:00, 16:00 og 20:00 UTC.
| Plan | Kald per 4-timers vindue |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Plansiden viser de aktuelle tal. Planer
Når et vindues kald er brugt op, besvares anmodningen med 429. På /v1/messages kommer den samme fejl i Anthropic-formen.
{
"error": {
"type": "rate_limit_error",
"message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
}
} Overskridelse af konteksten
Når en samtale er større end modellens kontekstvindue, svarer /v1/chat/completions og /v1/messages med 400, typen invalid_request_error, koden context_length_exceeded og en besked, der begynder med prompt is too long. Kodeværktøjer læser denne fejl for at komprimere sessionen og sende anmodningen igen. Den frembringes af shannon-coder-1, shannon-1.6-lite og shannon-1.6-pro.
{
"error": {
"type": "invalid_request_error",
"code": "context_length_exceeded",
"message": "prompt is too long: 140211 tokens > 131072 maximum",
"param": null
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"code": "context_length_exceeded",
"message": "prompt is too long: 140211 tokens > 131072 maximum",
"param": null
}
} Beskeden er prompt is too long: <sent> tokens > <limit> maximum. Når de to tal ikke er kendt, er den prompt is too long. Please compact the conversation and try again.
På en stream er status allerede 200, så fejlen kommer som en hændelse, og streamen lukker derefter på normal vis:
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] 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"} Hvad en agentløkke kan regne med
| Emne | Adfærd |
|---|---|
| Værktøjsskemaer | Værktøjsdefinitioner tages, som værktøjet sender dem. På shannon-coder-1 og shannon-1.6-* udelades JSON Schema-nøgleord, som modellen ikke bruger, f.eks. $schema, $ref, additionalProperties, default og title, fra det, modellen læser, og oneOf læses som anyOf. Ingen anmodning afvises på grund af dem. |
| Argumenter til værktøjskald | I en stream kommer et værktøjskalds argumenter komplette i én delta: tool_calls[].function.arguments, input_json_delta.partial_json eller response.function_call_arguments.delta. |
| Slutningen på en værktøjstur | finish_reason: "tool_calls" på Chat Completions, stop_reason: "tool_use" på Messages. |
| Keep-alive | Mens modellen arbejder, sender /v1/messages event: ping, og /v1/chat/completions sender en kommentarlinje : ping hvert 15. sekund. |
| Afbrydelse af en anmodning | Hvis forbindelsen lukkes, stopper streamen. Selve turen kører til ende og tælles med. |
Fejlfinding
| Symptom | Årsag | Løsning |
|---|---|---|
400 med unknown model: claude-… eller unknown model: gpt-… | Værktøjet sendte sit eget standardmodelnavn. Kun udgivne Shannon-id'er betjenes, og intet andet navn afbildes på et. | Vælg et Shannon-id: ANTHROPIC_MODEL og de tre ANTHROPIC_DEFAULT_…_MODEL-variabler i Claude Code, model i Codex-konfigurationen. |
400 med unknown model: og uden navn, fra Codex CLI | Anmodningen angav ingen model. /v1/responses kræver én. | Angiv model i ~/.codex/config.toml, eller send --model. |
401 med Missing authentication eller Invalid API key | Nøglen nåede ikke frem til API'et, eller den er ikke en gældende nøgle. En Shannon-nøgle begynder med sk-. | Kontrollér, at variablen er angivet i den shell, der starter værktøjet. Kopiér nøglen igen fra Nøgler og forbrug. |
404 på hver anmodning | Base-URL'en har ét /v1 for meget eller for lidt til værktøjet. | Claude Code: adressen uden /v1. Codex CLI: adressen med /v1. |
429 med Shannon Coder call quota reached | Coder-kaldene i det aktuelle 4-timers vindue er brugt op. | Vent på næste vindue, skift til en plan med flere kald, eller vælg en model, der tælles i tokens. |
429 med Quota exceeded | Din saldo dækker ikke anmodningen. | Tilføj kredit, eller vent på din plans daglige kvote kl. 00:00 UTC. |
400 med prompt is too long | Samtalen er større end modellens kontekstvindue. | Komprimér sessionen (/compact i begge værktøjer). Fortæl værktøjet modellens kontekstvindue, så det komprimerer tidligere. |
| Claude Code viser omtrentlige kontekstnumre | /v1/messages/count_tokens tæller for de hostede open-weight-modeller. Med et Shannon-id svarer det 400, og Claude Code vurderer størrelsen selv. | Intet at rette. Vælg en hostet open-weight-model, hvis du vil have nøjagtige tællinger. |
| Et indsat skærmbillede tages ikke i betragtning | shannon-coder-1 tager tekstinput. | Vælg en model, der tager billeder, til den session. |
Din nøgle og din saldo findes på siden Nøgler og forbrug. Nøgler og forbrug