CLI-koderingsgereedskap
NuutGebruik 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/messagesPOST /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-liteshannon-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 {
"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"
}
} | 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_tokensvir die grootte van die konteks. Die eindpunt tel vir die gehuisveste oopgewig-modelle. Met 'n Shannon-id antwoord dit400; 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 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.
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 | 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/responseshou geen gesprek op die bediener nie: elke versoek dra die gesprek ininput.previous_response_idword vir versoenbaarheid aanvaar.- Funksiegereedskap (
type: "function") word op/v1/responsesaan die model aangebied. - Op
/v1/responseswordshannon-coder-1in tokens van jou balans getel, nie in Coder-oproepe nie.
Dieselfde kontrole vir die Responses-eindpunt:
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.
{
"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"
}
} 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.
{
"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
}
} 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:
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"} 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