CLI-verktøy for koding
NyBruk Shannon som modellen bak Claude Code, Codex CLI og andre agent-CLI-er.
Et kodeverktøy trenger tre innstillinger for å fungere med Shannon: base-URL-en til API-et, API-nøkkelen din og en Shannon-modell-id. Denne siden gir de nøyaktige innstillingene for Claude Code og Codex CLI, forklarer hvordan kodemodellen shannon-coder-1 telles, og lister feilene disse verktøyene møter.
Hvilket endepunkt hvert verktøy bruker
| Verktøy | Endepunkt | Base-URL som skal settes | Merknad |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Verktøyet legger selv /v1/messages til base-URL-en. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Verktøyet legger /responses til base-URL-en. |
| Andre agentverktøy som snakker OpenAI chat-formatet | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Sett base-URL-en, nøkkelen og en Shannon-modell-id i verktøyets egne innstillinger. |
Alle tre endepunktene tar samme API-nøkkel, som Authorization: Bearer eller som x-api-key. Headerne anthropic-version, anthropic-beta og openai-beta som disse verktøyene sender, godtas.
Velg en Shannon-modell
Hver forespørsel må oppgi en modell-id som Shannon publiserer. Et kodeverktøy sender navnet på sin egen standardmodell med mindre du sier noe annet, og et navn Shannon ikke publiserer, besvares med 400 og meldingen unknown model: <name>. Ingen andre navn kobles til en Shannon-modell, så sett modellen i verktøyet før den første forespørselen.
GET /v1/models lister hver id med kontekstvindu. Det trenger ingen nøkkel. Modeller og priser
| Modell | Telles som | Hva den gir |
|---|---|---|
shannon-coder-1 | Ett kall per forespørsel på /v1/messages og /v1/chat/completions. Tokens på /v1/responses. | Kodemodellen. Tekst som input, verktøykall, kontekstvindu på 131,072 tokens. |
shannon-1.6-liteshannon-1.6-pro | Tokens fra saldoen din. | Generelle modeller med verktøykall. shannon-1.6-lite passer for de korte bakgrunnsforespørslene et verktøy gjør. |
| Hostede åpne vektmodeller | Tokens fra saldoen din, med cachet input til 25 % av inputprisen. | Verktøykall, prompt-caching for lange økter og nøyaktige tellinger fra /v1/messages/count_tokens. |
Kodeverktøy styrer modellen med en lang systemprompt. Systemprompten brukes av shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro og de hostede åpne vektmodellene, så velg en av disse for et kodeverktøy.
Claude Code
Claude Code leser forbindelsen sin fra miljøvariabler. Sett dem i skallet som starter det, eller i env-blokken i ~/.claude/settings.json for å beholde dem for hver økt.
# 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 forespørslene sine. Bruk adressen uten /v1. |
ANTHROPIC_AUTH_TOKEN | Shannon API-nøkkelen din, sendt som Authorization: Bearer. ANTHROPIC_API_KEY fungerer også: den sender nøkkelen som x-api-key, og Claude Code ber én gang om å få godkjenne den. |
ANTHROPIC_MODEL | Modellen for økten. claude --model <id> og /model <id> setter det samme. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Modellen for bakgrunnsforespørsler som øktitler, og for alt som ber om haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Modellen som brukes når en subagent eller en kommando ber om sonnet. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Modellen som brukes når en subagent eller en kommando ber om opus. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Kontekstvinduet Claude Code antar for modellen. Bruk context_window som GET /v1/models rapporterer for id-en du valgte. |
- Sett alle tre
ANTHROPIC_DEFAULT_…_MODEL-variablene. Subagenter og noen kommandoer ber om en modell med det innebygde navnet, og hvert navn må løses til en Shannon-id. - Eksempelet peker bakgrunnsforespørsler mot
shannon-1.6-lite, som telles i tokens. Øktitler og lignende forespørsler bruker da ikke Coder-kall. - Claude Code ber
POST /v1/messages/count_tokensom størrelsen på konteksten. Endepunktet teller for de hostede åpne vektmodellene. Med en Shannon-id svarer det400; Claude Code behandler token-telling som valgfritt og anslår størrelsen selv. Token-telling
For å sjekke adressen, nøkkelen og en modell-id før du starter verktøyet, send én forespørsel for hånd:
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 snakker med Responses API. Beskriv Shannon som en modellleverandør i ~/.codex/config.toml, velg en Shannon-modell-id der, og legg API-nøkkelen din i miljøvariabelen leverandøren oppgir.
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økkel | Beskrivelse |
|---|---|
model | Shannon-modell-id-en. codex --model <id> setter den for én kjøring. |
model_provider | Navnet på leverandørblokken som skal brukes, her shannon. |
base_url | API-adressen med /v1. |
env_key | Navnet på miljøvariabelen som inneholder Shannon API-nøkkelen din. |
wire_api | responses: Codex snakker med POST /v1/responses. |
model_context_window | Kontekstvinduet til modellen, slik at Codex komprimerer en lang økt i tide. Bruk context_window som GET /v1/models rapporterer. |
/v1/responseslagrer ingen samtale på serveren: hver forespørsel har samtalen iinput.previous_response_idgodtas for kompatibilitet.- Funksjonsverktøy (
type: "function") tilbys modellen på/v1/responses. - På
/v1/responsestellesshannon-coder-1i tokens fra saldoen din, ikke i Coder-kall.
Den samme sjekken for Responses-endepunktet:
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 telles
shannon-coder-1 er Shannon-modellen for kodeagenter. GET /v1/models rapporterer den med et kontekstvindu på 131,072 tokens, verktøykall, resonnering og tekst som input. Den telles på én av to måter, avhengig av endepunktet et verktøy bruker.
| Endepunkt | En forespørsel koster | Trekkes fra |
|---|---|---|
/v1/messages | 1 kall per forespørsel | Coder-kallkvoten i planen din. Ingen tokens trekkes fra saldoen din. |
/v1/chat/completions | 1 kall per forespørsel | Coder-kallkvoten i planen din. Ingen tokens trekkes fra saldoen din. |
/v1/responses | Tokens, til $8.00 per 1M | Saldoen din, som for alle andre modeller. Kallkvoten brukes ikke. |
Et kall er én forespørsel, uansett størrelse. Det telles når forespørselen godtas, før modellen svarer. En agentøkt sender én forespørsel for hvert steg den tar, så en lang oppgave bruker mange kall. Kvoten avhenger av planen din og starter på nytt hver 4. time, kl. 00:00, 04:00, 08:00, 12:00, 16:00 og 20:00 UTC.
| Plan | Kall per 4-timersvindu |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Planssiden viser de gjeldende tallene. Planer
Når kallene i et vindu er brukt opp, besvares forespørselen med 429. På /v1/messages kommer den samme feilen 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"
}
} Overskredet kontekst
Når en samtale er større enn kontekstvinduet til modellen, svarer /v1/chat/completions og /v1/messages med 400, typen invalid_request_error, koden context_length_exceeded og en melding som begynner med prompt is too long. Kodeverktøy leser denne feilen for å komprimere økten og sende forespørselen på nytt. Den produseres av 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
}
} Meldingen er prompt is too long: <sent> tokens > <limit> maximum. Når de to tallene ikke er kjent, er den prompt is too long. Please compact the conversation and try again.
På en strøm er statusen allerede 200, så feilen kommer som en hendelse, og strømmen lukkes deretter på vanlig måte:
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"} Hva en agentsløyfe kan stole på
| Emne | Oppførsel |
|---|---|
| Verktøyskjemaer | Verktøydefinisjoner tas slik verktøyet sender dem. På shannon-coder-1 og shannon-1.6-* utelates JSON Schema-nøkkelord modellen ikke bruker, som $schema, $ref, additionalProperties, default og title, fra det modellen leser, og oneOf leses som anyOf. Ingen forespørsel avvises på grunn av dem. |
| Argumenter til verktøykall | I en strøm kommer argumentene til et verktøykall komplette i én delta: tool_calls[].function.arguments, input_json_delta.partial_json eller response.function_call_arguments.delta. |
| Slutten på en verktøyrunde | finish_reason: "tool_calls" på Chat Completions, stop_reason: "tool_use" på Messages. |
| Keep-alive | Mens modellen jobber, sender /v1/messages event: ping og /v1/chat/completions en kommentarlinje : ping hvert 15. sekund. |
| Stoppe en forespørsel | Å lukke forbindelsen stopper strømmen. Selve runden kjører til slutten og telles. |
Feilsøking
| Symptom | Årsak | Løsning |
|---|---|---|
400 med unknown model: claude-… eller unknown model: gpt-… | Verktøyet sendte sitt eget standard modellnavn. Bare publiserte Shannon-id-er betjenes, og ingen andre navn kobles til en. | Velg en Shannon-id: ANTHROPIC_MODEL og de tre ANTHROPIC_DEFAULT_…_MODEL-variablene i Claude Code, model i Codex-konfigurasjonen. |
400 med unknown model: og uten navn, fra Codex CLI | Forespørselen oppga ingen modell. /v1/responses trenger en. | Sett model i ~/.codex/config.toml eller bruk --model. |
401 med Missing authentication eller Invalid API key | Nøkkelen nådde ikke API-et, eller den er ikke en gjeldende nøkkel. En Shannon-nøkkel begynner med sk-. | Sjekk at variabelen er satt i skallet som starter verktøyet. Kopier nøkkelen på nytt fra Nøkler og bruk. |
404 på hver forespørsel | Base-URL-en inneholder én /v1 for mye, eller mangler den verktøyet trenger. | Claude Code: adressen uten /v1. Codex CLI: adressen med /v1. |
429 med Shannon Coder call quota reached | Coder-kallene i det gjeldende 4-timersvinduet er brukt opp. | Vent på neste vindu, bytt til en plan med flere kall, eller velg en modell som telles i tokens. |
429 med Quota exceeded | Saldoen din dekker ikke forespørselen. | Fyll på kreditt, eller vent på dagskvoten i planen din kl. 00:00 UTC. |
400 med prompt is too long | Samtalen er større enn kontekstvinduet til modellen. | Komprimer økten (/compact i begge verktøyene). Si fra til verktøyet hvor stort kontekstvinduet til modellen er, så komprimerer det tidligere. |
| Claude Code viser omtrentlige konteksttall | /v1/messages/count_tokens teller for de hostede åpne vektmodellene. Med en Shannon-id svarer det 400, og Claude Code anslår størrelsen selv. | Ingenting å rette. Velg en hostet åpen vektmodell hvis du vil ha nøyaktige tellinger. |
| Et limt inn skjermbilde blir ikke tatt hensyn til | shannon-coder-1 tar tekst som input. | Velg en modell som tar bilder for den økten. |
Nøkkelen og saldoen din finner du på siden Nøkler og bruk. Nøkler og bruk