CLI programavimo įrankiai
NaujaNaudokite Shannon kaip modelį, veikiantį Claude Code, Codex CLI ir kitose agentų CLI programose.
Programavimo įrankiui dirbti su Shannon reikia trijų nustatymų: API bazinio URL, jūsų API rakto ir Shannon modelio id. Šiame puslapyje pateikti tikslūs Claude Code ir Codex CLI nustatymai, paaiškinta, kaip skaičiuojamas programavimo modelis shannon-coder-1, ir išvardytos klaidos, su kuriomis šie įrankiai susiduria.
Kurį galinį tašką naudoja kiekvienas įrankis
| Įrankis | Galinis taškas | Nustatytinas bazinis URL | Pastaba |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Įrankis pats prideda /v1/messages prie bazinio URL. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Įrankis prideda /responses prie bazinio URL. |
| Kiti agentų įrankiai, kalbantys OpenAI pokalbių formatu | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Nustatykite bazinį URL, raktą ir Shannon modelio id paties įrankio nustatymuose. |
Visi trys galiniai taškai priima tą patį API raktą, kaip Authorization: Bearer arba kaip x-api-key. Antraštės anthropic-version, anthropic-beta ir openai-beta, kurias šie įrankiai siunčia, priimamos.
Pasirinkite Shannon modelį
Kiekviena užklausa turi nurodyti Shannon paskelbtą modelio id. Programavimo įrankis siunčia savo numatytojo modelio pavadinimą, nebent nurodysite kitaip, o Shannon nepaskelbtas pavadinimas atsakomas 400 ir pranešimu unknown model: <name>. Joks kitas pavadinimas nesiejamas su Shannon modeliu, todėl modelį įrankyje nustatykite prieš pirmąją užklausą.
GET /v1/models išvardija kiekvieną id su jo konteksto langu. Raktas nereikalingas. Modeliai ir kainos
| Modelis | Skaičiuojama kaip | Ką suteikia |
|---|---|---|
shannon-coder-1 | Vienas kreipinys už užklausą galiniuose taškuose /v1/messages ir /v1/chat/completions. Tokenai galiniame taške /v1/responses. | Programavimo modelis. Teksto įvestis, įrankių kreipiniai, 131,072 tokenų konteksto langas. |
shannon-1.6-liteshannon-1.6-pro | Tokenai iš jūsų balanso. | Bendrieji modeliai su įrankių kreipiniais. shannon-1.6-lite tinka trumpoms foninėms užklausoms, kurias siunčia įrankis. |
| Talpinami atvirų svorių modeliai | Tokenai iš jūsų balanso, kešuota įvestis už 25% įvesties kainos. | Įrankių kreipiniai, prompt kešavimas ilgoms sesijoms ir tikslus skaičiavimas per /v1/messages/count_tokens. |
Programavimo įrankiai modelį valdo ilgais sistemos nurodymais. Sistemos nurodymus taiko shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro ir talpinami atvirų svorių modeliai, todėl programavimo įrankiui pasirinkite vieną iš jų.
Claude Code
Claude Code ryšio nustatymus skaito iš aplinkos kintamųjų. Nustatykite juos apvalkale, kuris jį paleidžia, arba ~/.claude/settings.json bloke env, kad jie liktų kiekvienai sesijai.
# 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"
}
} | Kintamasis | Aprašymas |
|---|---|
ANTHROPIC_BASE_URL | Kur Claude Code siunčia savo užklausas. Naudokite adresą be /v1. |
ANTHROPIC_AUTH_TOKEN | Jūsų Shannon API raktas, siunčiamas kaip Authorization: Bearer. Veikia ir ANTHROPIC_API_KEY: jis siunčia raktą kaip x-api-key, o Claude Code vieną kartą paprašo tai patvirtinti. |
ANTHROPIC_MODEL | Sesijos modelis. claude --model <id> ir /model <id> nustato tą patį. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Modelis foninėms užklausoms, pavyzdžiui, sesijų pavadinimams, ir viskam, kas prašo haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Modelis, naudojamas, kai subagentas ar komanda prašo sonnet. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Modelis, naudojamas, kai subagentas ar komanda prašo opus. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Konteksto langas, kurį Claude Code laiko modelio langu. Naudokite context_window, kurį GET /v1/models nurodo pasirinktam id. |
- Nustatykite visus tris
ANTHROPIC_DEFAULT_…_MODELkintamuosius. Subagentai ir kai kurios komandos prašo modelio pagal jo įtaisytąjį pavadinimą, ir kiekvienas pavadinimas turi atitikti Shannon id. - Pavyzdyje foninės užklausos nukreipiamos į
shannon-1.6-lite, kuris skaičiuojamas tokenais. Sesijų pavadinimai ir panašios užklausos tada nenaudoja Coder kreipinių. - Claude Code per
POST /v1/messages/count_tokensklausia konteksto dydžio. Galinis taškas skaičiuoja talpinamiems atvirų svorių modeliams. Su Shannon id jis atsako400; Claude Code tokenų skaičiavimą laiko neprivalomu ir dydį įvertina pats. Tokenų skaičiavimas
Norėdami patikrinti adresą, raktą ir modelio id prieš paleisdami įrankį, išsiųskite vieną užklausą rankiniu būdu:
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 kalbasi su Responses API. Aprašykite Shannon kaip modelių teikėją faile ~/.codex/config.toml, pasirinkite ten Shannon modelio id ir savo API raktą įrašykite į aplinkos kintamąjį, kurį nurodo teikėjas.
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 | Raktas | Aprašymas |
|---|---|
model | Shannon modelio id. codex --model <id> nustato jį vienam paleidimui. |
model_provider | Naudotino teikėjo bloko pavadinimas, čia shannon. |
base_url | API adresas su /v1. |
env_key | Aplinkos kintamojo, kuriame laikomas jūsų Shannon API raktas, pavadinimas. |
wire_api | responses: Codex kreipiasi į POST /v1/responses. |
model_context_window | Modelio konteksto langas, kad Codex laiku suspaustų ilgą sesiją. Naudokite context_window, kurį nurodo GET /v1/models. |
/v1/responsesserveryje pokalbio nelaiko: kiekviena užklausa perduoda pokalbįinput.previous_response_idpriimamas dėl suderinamumo.- Funkcijų įrankiai (
type: "function") modeliui pateikiami galiniame taške/v1/responses. - Galiniame taške
/v1/responsesshannon-coder-1skaičiuojamas tokenais iš jūsų balanso, o ne Coder kreipiniais.
Ta pati patikra Responses galiniam taškui:
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."
}' Programavimo modelis ir kaip jis skaičiuojamas
shannon-coder-1 yra Shannon modelis programavimo agentams. GET /v1/models jį pateikia su 131,072 tokenų konteksto langu, įrankių kreipiniais, mąstymu ir teksto įvestimi. Jis skaičiuojamas vienu iš dviejų būdų, priklausomai nuo galinio taško, kurį naudoja įrankis.
| Galinis taškas | Užklausa kainuoja | Imama iš |
|---|---|---|
/v1/messages | 1 kreipinys už užklausą | Jūsų plano Coder kreipinių kvota. Iš jūsų balanso tokenai neimami. |
/v1/chat/completions | 1 kreipinys už užklausą | Jūsų plano Coder kreipinių kvota. Iš jūsų balanso tokenai neimami. |
/v1/responses | Tokenai, $8.00 už 1M | Jūsų balansas, kaip ir bet kurio kito modelio. Kreipinių kvota nenaudojama. |
Kreipinys yra viena užklausa, nesvarbu, kokio dydžio. Jis įskaičiuojamas užklausą priėmus, prieš modeliui atsakant. Agento sesija siunčia vieną užklausą kiekvienam savo žingsniui, todėl ilga užduotis sunaudoja daug kreipinių. Kvota priklauso nuo jūsų plano ir atsinaujina kas 4 valandas: 00:00, 04:00, 08:00, 12:00, 16:00 ir 20:00 UTC.
| Planas | Kreipinių per 4 valandų langą |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Dabartiniai skaičiai matomi plano puslapyje. Planai
Kai lango kreipiniai išnaudojami, užklausa atsakoma 429. Galiniame taške /v1/messages ta pati klaida ateina Anthropic forma.
{
"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"
}
} Konteksto perpildymas
Kai pokalbis didesnis už modelio konteksto langą, /v1/chat/completions ir /v1/messages atsako 400, tipu invalid_request_error, kodu context_length_exceeded ir pranešimu, prasidedančiu prompt is too long. Programavimo įrankiai pagal šią klaidą suspaudžia sesiją ir siunčia užklausą iš naujo. Ją sukuria shannon-coder-1, shannon-1.6-lite ir 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
}
} Pranešimas yra prompt is too long: <sent> tokens > <limit> maximum. Kai abu skaičiai nežinomi, jis yra prompt is too long. Please compact the conversation and try again.
Sraute būsena jau yra 200, todėl klaida ateina kaip įvykis, o srautas tada užsidaro įprastai:
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"} Kuo gali pasikliauti agento ciklas
| Tema | Elgesys |
|---|---|
| Įrankių schemos | Įrankių apibrėžimai priimami tokie, kokius siunčia įrankis. Modeliuose shannon-coder-1 ir shannon-1.6-* JSON Schema raktažodžiai, kurių modelis nenaudoja, pavyzdžiui, $schema, $ref, additionalProperties, default ir title, paliekami už to, ką modelis skaito, o oneOf skaitomas kaip anyOf. Dėl jų neatmetama jokia užklausa. |
| Įrankio kreipinio argumentai | Sraute įrankio kreipinio argumentai ateina pilni vienoje deltoje: tool_calls[].function.arguments, input_json_delta.partial_json arba response.function_call_arguments.delta. |
| Įrankio ėjimo pabaiga | finish_reason: "tool_calls" Chat Completions, stop_reason: "tool_use" Messages. |
| Keep-alive | Kol modelis dirba, /v1/messages kas 15 sekundžių siunčia event: ping, o /v1/chat/completions siunčia komentaro eilutę : ping. |
| Užklausos sustabdymas | Uždarius ryšį srautas sustoja. Pats ėjimas vykdomas iki galo ir įskaičiuojamas. |
Problemų sprendimas
| Simptomas | Priežastis | Sprendimas |
|---|---|---|
400 su unknown model: claude-… arba unknown model: gpt-… | Įrankis išsiuntė savo numatytojo modelio pavadinimą. Aptarnaujami tik paskelbti Shannon id ir joks kitas pavadinimas su jais nesiejamas. | Pasirinkite Shannon id: ANTHROPIC_MODEL ir trys ANTHROPIC_DEFAULT_…_MODEL kintamieji Claude Code, model Codex konfigūracijoje. |
400 su unknown model: ir be pavadinimo, iš Codex CLI | Užklausoje nenurodytas joks modelis. /v1/responses jo reikia. | Nustatykite model faile ~/.codex/config.toml arba perduokite --model. |
401 su Missing authentication arba Invalid API key | Raktas nepasiekė API arba nėra dabartinis raktas. Shannon raktas prasideda sk-. | Patikrinkite, ar kintamasis nustatytas apvalkale, kuris paleidžia įrankį. Dar kartą nukopijuokite raktą iš Raktai ir naudojimas. |
404 kiekvienai užklausai | Bazinis URL turi vienu /v1 per daug arba per mažai šiam įrankiui. | Claude Code: adresas be /v1. Codex CLI: adresas su /v1. |
429 su Shannon Coder call quota reached | Dabartinio 4 valandų lango Coder kreipiniai išnaudoti. | Palaukite kito lango, pereikite prie plano su daugiau kreipinių arba pasirinkite modelį, skaičiuojamą tokenais. |
429 su Quota exceeded | Jūsų balansas nepadengia užklausos. | Papildykite kreditus arba palaukite savo plano dienos kvotos atsinaujinimo 00:00 UTC. |
400 su prompt is too long | Pokalbis didesnis už modelio konteksto langą. | Suspauskite sesiją (/compact abiejuose įrankiuose). Nurodykite įrankiui modelio konteksto langą, kad jis suspaustų anksčiau. |
| Claude Code rodo apytikslius konteksto skaičius | /v1/messages/count_tokens skaičiuoja talpinamiems atvirų svorių modeliams. Su Shannon id jis atsako 400, o Claude Code dydį įvertina pats. | Taisyti nieko nereikia. Pasirinkite talpinamą atvirų svorių modelį, jei norite tikslių skaičių. |
| Įklijuota ekrano nuotrauka neįvertinama | shannon-coder-1 priima teksto įvestį. | Šiai sesijai pasirinkite modelį, priimantį vaizdus. |
Jūsų raktas ir balansas yra puslapyje Raktai ir naudojimas. Raktai ir naudojimas