Slaan oor na inhoud
CLI-koderingsgereedskap

CLI-koderingsgereedskap

Nuut

Gebruik Shannon as die model agter Claude Code, Codex CLI en ander agent-CLI's.

'n Koderingsgereedskap het drie instellings nodig om met Shannon te werk: die basis-URL van die API, jou API-sleutel, en 'n Shannon-model-id. Hierdie bladsy gee die presiese instellings vir Claude Code en Codex CLI, verduidelik hoe die koderingsmodel shannon-coder-1 getel word, en lys die foute wat hierdie gereedskap teëkom.

Watter eindpunt elke gereedskap gebruik

Gereedskap Eindpunt Basis-URL om te stel Nota
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com Die gereedskap voeg self /v1/messages by die basis-URL.
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 Die gereedskap voeg /responses by die basis-URL.
Ander agentgereedskap wat die OpenAI-klets-formaat praat POST /v1/chat/completions https://api.shannon-ai.com/v1 Stel die basis-URL, die sleutel en 'n Shannon-model-id in die gereedskap se eie instellings.

Al drie eindpunte neem dieselfde API-sleutel, as Authorization: Bearer of as x-api-key. Die headers anthropic-version, anthropic-beta en openai-beta wat hierdie gereedskap stuur, word aanvaar.

Kies 'n Shannon-model

Elke versoek moet 'n model-id noem wat Shannon publiseer. 'n Koderingsgereedskap stuur die naam van sy eie verstekmodel tensy jy dit anders sê, en 'n naam wat Shannon nie publiseer nie, word met 400 en die boodskap unknown model: <name> beantwoord. Geen ander naam word na 'n Shannon-model gekarteer nie, so stel die model in die gereedskap voor die eerste versoek.

GET /v1/models lys elke id met sy konteksvenster. Dit het geen sleutel nodig nie. Modelle en pryse

Model Getel as Wat dit bring
shannon-coder-1 Een oproep per versoek op /v1/messages en /v1/chat/completions. Tokens op /v1/responses. Die koderingsmodel. Teksinset, gereedskapoproepe, konteksvenster van 131,072 tokens.
shannon-1.6-lite
shannon-1.6-pro
Tokens van jou balans. Algemene modelle met gereedskapoproepe. shannon-1.6-lite pas by die kort agtergrondversoeke wat 'n gereedskap maak.
Gehuisveste oopgewig-modelle Tokens van jou balans, met gekasde inset teen 25% van die insetprys. Gereedskapoproepe, prompt caching vir lang sessies, en presiese tellings van /v1/messages/count_tokens.

Koderingsgereedskap stuur die model met 'n lang stelselprompt. Die stelselprompt word toegepas deur shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro en die gehuisveste oopgewig-modelle, so kies een van hierdie vir 'n koderingsgereedskap.

Claude Code

Claude Code lees sy verbinding uit omgewingsveranderlikes. Stel hulle in die dop wat dit begin, of in die env-blok van ~/.claude/settings.json om hulle vir elke sessie te hou.

# 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
Veranderlike Beskrywing
ANTHROPIC_BASE_URL Waarheen Claude Code sy versoeke stuur. Gebruik die adres sonder /v1.
ANTHROPIC_AUTH_TOKEN Jou Shannon API-sleutel, gestuur as Authorization: Bearer. ANTHROPIC_API_KEY werk ook: dit stuur die sleutel as x-api-key, en Claude Code vra een keer om dit goed te keur.
ANTHROPIC_MODEL Die model van die sessie. claude --model <id> en /model <id> stel dieselfde ding.
ANTHROPIC_DEFAULT_HAIKU_MODEL Die model vir agtergrondversoeke soos sessietitels, en vir enigiets wat om haiku vra.
ANTHROPIC_DEFAULT_SONNET_MODEL Die model wat gebruik word wanneer 'n subagent of 'n opdrag om sonnet vra.
ANTHROPIC_DEFAULT_OPUS_MODEL Die model wat gebruik word wanneer 'n subagent of 'n opdrag om opus vra.
CLAUDE_CODE_MAX_CONTEXT_TOKENS Die konteksvenster wat Claude Code vir die model aanvaar. Gebruik die context_window wat GET /v1/models rapporteer vir die id wat jy gekies het.
  • Stel al drie ANTHROPIC_DEFAULT_…_MODEL-veranderlikes. Subagente en sommige opdragte vra om 'n model met sy ingeboude naam, en elke naam moet na 'n Shannon-id oplos.
  • Die voorbeeld rig agtergrondversoeke na shannon-1.6-lite, wat in tokens getel word. Sessietitels en soortgelyke versoeke gebruik dan nie Coder-oproepe nie.
  • Claude Code vra POST /v1/messages/count_tokens vir die grootte van die konteks. Die eindpunt tel vir die gehuisveste oopgewig-modelle. Met 'n Shannon-id antwoord dit 400; Claude Code beskou tokentelling as opsioneel en skat die grootte self. Tokens tel

Om die adres, die sleutel en 'n model-id te kontroleer voordat jy die gereedskap begin, stuur een versoek met die hand:

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 praat met die Responses API. Beskryf Shannon as 'n modelverskaffer in ~/.codex/config.toml, kies daar 'n Shannon-model-id, en sit jou API-sleutel in die omgewingsveranderlike wat die verskaffer noem.

~/.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"
Dop
# 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
Sleutel Beskrywing
model Die Shannon-model-id. codex --model <id> stel dit vir een lopie.
model_provider Die naam van die verskafferblok om te gebruik, hier shannon.
base_url Die API-adres met /v1.
env_key Die naam van die omgewingsveranderlike wat jou Shannon API-sleutel bevat.
wire_api responses: Codex praat met POST /v1/responses.
model_context_window Die konteksvenster van die model, sodat Codex 'n lang sessie betyds saamdruk. Gebruik die context_window wat GET /v1/models rapporteer.
  • /v1/responses hou geen gesprek op die bediener nie: elke versoek dra die gesprek in input. previous_response_id word vir versoenbaarheid aanvaar.
  • Funksiegereedskap (type: "function") word op /v1/responses aan die model aangebied.
  • Op /v1/responses word shannon-coder-1 in tokens van jou balans getel, nie in Coder-oproepe nie.

Dieselfde kontrole vir die Responses-eindpunt:

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."
  }'

Die koderingsmodel en hoe dit getel word

shannon-coder-1 is die Shannon-model vir koderingsagente. GET /v1/models rapporteer dit met 'n konteksvenster van 131,072 tokens, gereedskapoproepe, redenering en teksinset. Dit word op een van twee maniere getel, na gelang van die eindpunt wat 'n gereedskap gebruik.

Eindpunt 'n Versoek kos Geneem van
/v1/messages 1 oproep per versoek Die Coder-oproeptoelaat van jou plan. Geen tokens word van jou balans geneem nie.
/v1/chat/completions 1 oproep per versoek Die Coder-oproeptoelaat van jou plan. Geen tokens word van jou balans geneem nie.
/v1/responses Tokens, teen $8.00 per 1M Jou balans, soos enige ander model. Die oproeptoelaat word nie gebruik nie.

'n Oproep is een versoek, ongeag sy grootte. Dit word getel wanneer die versoek aanvaar word, voordat die model antwoord. 'n Agentsessie stuur een versoek vir elke stap wat dit neem, so 'n lang taak gebruik baie oproepe. Die toelaat hang van jou plan af en begin elke 4 uur weer, om 00:00, 04:00, 08:00, 12:00, 16:00 en 20:00 UTC.

Plan Oproepe per 4-uur-venster
Free 3
Plus 20
Standard 40
Pro 60

Die planbladsy wys die huidige getalle. Planne

Wanneer die oproepe van 'n venster opgebruik is, word die versoek met 429 beantwoord. Op /v1/messages kom dieselfde fout in die Anthropic-vorm.

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"
  }
}

Konteksoorloop

Wanneer 'n gesprek groter is as die konteksvenster van die model, antwoord /v1/chat/completions en /v1/messages met 400, die tipe invalid_request_error, die kode context_length_exceeded en 'n boodskap wat met prompt is too long begin. Koderingsgereedskap lees hierdie fout om die sessie saam te druk en die versoek weer te stuur. Dit word deur shannon-coder-1, shannon-1.6-lite en shannon-1.6-pro voortgebring.

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
  }
}

Die boodskap is prompt is too long: <sent> tokens > <limit> maximum. Wanneer die twee getalle nie bekend is nie, is dit prompt is too long. Please compact the conversation and try again.

Op 'n stroom is die status reeds 200, so die fout kom as 'n gebeurtenis aan en die stroom sluit dan op die normale manier:

/v1/chat/completions, stroom
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, stroom
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"}

Waarop 'n agentlus kan staatmaak

Onderwerp Gedrag
Gereedskapskemas Gereedskapdefinisies word geneem soos die gereedskap hulle stuur. Op shannon-coder-1 en shannon-1.6-* word JSON Schema-sleutelwoorde wat die model nie gebruik nie, soos $schema, $ref, additionalProperties, default en title, weggelaat uit wat die model lees, en oneOf word as anyOf gelees. Geen versoek word daarvoor geweier nie.
Gereedskapoproep-argumente In 'n stroom kom die argumente van 'n gereedskapoproep volledig in een delta aan: tool_calls[].function.arguments, input_json_delta.partial_json of response.function_call_arguments.delta.
Einde van 'n gereedskapbeurt finish_reason: "tool_calls" op Chat Completions, stop_reason: "tool_use" op Messages.
Keep-alive Terwyl die model werk, stuur /v1/messages event: ping en /v1/chat/completions 'n : ping-kommentaarreël elke 15 sekondes.
'n Versoek stop Om die verbinding te sluit, stop die stroom. Die beurt self loop tot sy einde en word getel.

Foutsporing

Simptoom Oorsaak Regstelling
400 met unknown model: claude-… of unknown model: gpt-… Die gereedskap het sy eie verstekmodelnaam gestuur. Slegs gepubliseerde Shannon-id's word bedien, en geen ander naam word na een gekarteer nie. Kies 'n Shannon-id: ANTHROPIC_MODEL en die drie ANTHROPIC_DEFAULT_…_MODEL-veranderlikes in Claude Code, model in die Codex-konfigurasie.
400 met unknown model: en geen naam nie, van Codex CLI Die versoek het geen model genoem nie. /v1/responses het een nodig. Stel model in ~/.codex/config.toml of gee --model deur.
401 met Missing authentication of Invalid API key Die sleutel het nie die API bereik nie, of dit is nie 'n huidige sleutel nie. 'n Shannon-sleutel begin met sk-. Kontroleer dat die veranderlike gestel is in die dop wat die gereedskap begin. Kopieer die sleutel weer van Sleutels en gebruik.
404 op elke versoek Die basis-URL het een /v1 te veel of te min vir die gereedskap. Claude Code: die adres sonder /v1. Codex CLI: die adres met /v1.
429 met Shannon Coder call quota reached Die Coder-oproepe van die huidige 4-uur-venster is opgebruik. Wag vir die volgende venster, skuif na 'n plan met meer oproepe, of kies 'n model wat in tokens getel word.
429 met Quota exceeded Jou balans dek nie die versoek nie. Voeg krediet by, of wag vir die daaglikse toelaat van jou plan om 00:00 UTC.
400 met prompt is too long Die gesprek is groter as die konteksvenster van die model. Druk die sessie saam (/compact in albei gereedskap). Vertel die gereedskap die konteksvenster van die model sodat dit vroeër saamdruk.
Claude Code wys benaderde kontekssyfers /v1/messages/count_tokens tel vir die gehuisveste oopgewig-modelle. Met 'n Shannon-id antwoord dit 400, en Claude Code skat die grootte self. Niks om reg te stel nie. Kies 'n gehuisveste oopgewig-model as jy presiese tellings wil hê.
'n Geplakte skermkiekie word nie in ag geneem nie shannon-coder-1 neem teksinset. Kies 'n model wat beelde neem vir daardie sessie.

Jou sleutel en jou balans is op die bladsy Sleutels en gebruik. Sleutels en gebruik