CLI kodlash vositalari
YangiShannon'dan Claude Code, Codex CLI va boshqa agent CLI'lar ortidagi model sifatida foydalaning.
Kodlash vositasi Shannon bilan ishlashi uchun uchta sozlama kerak: API'ning base URL'i, API kalitingiz va Shannon model id'si. Bu sahifa Claude Code va Codex CLI uchun aniq sozlamalarni beradi, shannon-coder-1 kodlash modeli qanday hisoblanishini tushuntiradi va bu vositalar duch keladigan xatolarni sanab beradi.
Har bir vosita qaysi endpointdan foydalanadi
| Vosita | Endpoint | O'rnatiladigan base URL | Izoh |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Vositaning o'zi base URL'ga /v1/messagesni qo'shadi. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Vosita base URL'ga /responsesni qo'shadi. |
| OpenAI chat formatida gaplashadigan boshqa agent vositalari | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Base URL, kalit va Shannon model id'sini vositaning o'z sozlamalarida o'rnating. |
Uchala endpoint ham bir xil API kalitni Authorization: Bearer yoki x-api-key sifatida qabul qiladi. Bu vositalar yuboradigan anthropic-version, anthropic-beta va openai-beta sarlavhalari qabul qilinadi.
Shannon modelini tanlash
Har bir so'rov Shannon e'lon qilgan model id'sini ko'rsatishi shart. Kodlash vositasi, aks holda aytmasangiz, o'zining standart model nomini yuboradi, Shannon e'lon qilmagan nomga esa 400 va unknown model: <name> xabari bilan javob beriladi. Boshqa hech bir nom Shannon modeliga moslanmaydi, shuning uchun birinchi so'rovdan oldin modelni vositada o'rnating.
GET /v1/models har bir id'ni kontekst oynasi bilan sanab chiqadi. Kalit kerak emas. Modellar va narxlar
| Model | Hisoblanadi | Nima beradi |
|---|---|---|
shannon-coder-1 | /v1/messages va /v1/chat/completions da har bir so'rov uchun bitta chaqiruv. /v1/responses da tokenlar. | Kodlash modeli. Matn kirishi, tool chaqiruvlari, 131,072 tokenli kontekst oynasi. |
shannon-1.6-liteshannon-1.6-pro | Balansingizdan tokenlar. | Tool chaqiruvlari bor umumiy modellar. shannon-1.6-lite vosita yuboradigan qisqa fon so'rovlariga mos keladi. |
| Xostingdagi open-weight modellar | Balansingizdan tokenlar, keshdagi kirish kirish narxining 25% i bilan. | Tool chaqiruvlari, uzun sessiyalar uchun prompt keshlash va /v1/messages/count_tokens dan aniq sanash. |
Kodlash vositalari modelni uzun system prompt bilan boshqaradi. System promptni shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro va xostingdagi open-weight modellar qo'llaydi, shuning uchun kodlash vositasi uchun shulardan birini tanlang.
Claude Code
Claude Code ulanishini muhit o'zgaruvchilaridan o'qiydi. Ularni uni ishga tushiradigan shellda yoki har bir sessiya uchun saqlash uchun ~/.claude/settings.json ning env blokida o'rnating.
# 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"
}
} | O'zgaruvchi | Tavsif |
|---|---|
ANTHROPIC_BASE_URL | Claude Code so'rovlarini qayerga yuboradi. Manzilni /v1siz ishlating. |
ANTHROPIC_AUTH_TOKEN | Shannon API kalitingiz, Authorization: Bearer sifatida yuboriladi. ANTHROPIC_API_KEY ham ishlaydi: u kalitni x-api-key sifatida yuboradi va Claude Code uni tasdiqlashni bir marta so'raydi. |
ANTHROPIC_MODEL | Sessiya modeli. claude --model <id> va /model <id> xuddi shuni o'rnatadi. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Sessiya sarlavhalari kabi fon so'rovlari va haiku so'raydigan har qanday narsa uchun model. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Subagent yoki buyruq sonnet so'raganda ishlatiladigan model. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Subagent yoki buyruq opus so'raganda ishlatiladigan model. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Claude Code model uchun faraz qiladigan kontekst oynasi. Tanlagan id uchun GET /v1/models ko'rsatadigan context_window'dan foydalaning. |
- Uchala
ANTHROPIC_DEFAULT_…_MODELo'zgaruvchisini ham o'rnating. Subagentlar va ba'zi buyruqlar modelni o'rnatilgan nomi bilan so'raydi va har bir nom Shannon id'siga aylanishi kerak. - Namuna fon so'rovlarini token bilan hisoblanadigan
shannon-1.6-litega yo'naltiradi. Shunda sessiya sarlavhalari va shunga o'xshash so'rovlar Coder chaqiruvlarini sarflamaydi. - Claude Code kontekst o'lchamini
POST /v1/messages/count_tokensdan so'raydi. Endpoint xostingdagi open-weight modellar uchun sanaydi. Shannon id'si bilan u400bilan javob beradi; Claude Code token sanashni ixtiyoriy deb hisoblaydi va o'lchamni o'zi baholaydi. Tokenlarni sanash
Vositani ishga tushirishdan oldin manzil, kalit va model id'sini tekshirish uchun bitta so'rovni qo'lda yuboring:
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 Responses API bilan gaplashadi. Shannon'ni ~/.codex/config.toml da model provayderi sifatida tasvirlang, u yerda Shannon model id'sini tanlang va API kalitingizni provayder nomlagan muhit o'zgaruvchisiga qo'ying.
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 | Kalit | Tavsif |
|---|---|
model | Shannon model id'si. codex --model <id> uni bir marta ishga tushirish uchun o'rnatadi. |
model_provider | Ishlatiladigan provayder blokining nomi, bu yerda shannon. |
base_url | /v1li API manzili. |
env_key | Shannon API kalitingizni saqlaydigan muhit o'zgaruvchisining nomi. |
wire_api | responses: Codex POST /v1/responses bilan gaplashadi. |
model_context_window | Modelning kontekst oynasi, shunda Codex uzun sessiyani o'z vaqtida siqadi. GET /v1/models ko'rsatadigan context_window'dan foydalaning. |
/v1/responsesserverda suhbatni saqlamaydi: har bir so'rov suhbatniinputda olib keladi.previous_response_idmoslik uchun qabul qilinadi.- Funksiya tool'lari (
type: "function")/v1/responsesda modelga taklif qilinadi. /v1/responsesdashannon-coder-1Coder chaqiruvlarida emas, balansingizdan token bilan hisoblanadi.
Responses endpointi uchun xuddi shu tekshiruv:
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."
}' Kodlash modeli va u qanday hisoblanadi
shannon-coder-1 — kodlash agentlari uchun Shannon modeli. GET /v1/models uni 131,072 tokenli kontekst oynasi, tool chaqiruvlari, mulohaza va matn kirishi bilan ko'rsatadi. U vosita ishlatadigan endpointga qarab ikki usuldan biri bilan hisoblanadi.
| Endpoint | So'rov narxi | Olinadi |
|---|---|---|
/v1/messages | Har bir so'rov uchun 1 chaqiruv | Rejangizdagi Coder chaqiruv limiti. Balansingizdan token olinmaydi. |
/v1/chat/completions | Har bir so'rov uchun 1 chaqiruv | Rejangizdagi Coder chaqiruv limiti. Balansingizdan token olinmaydi. |
/v1/responses | Tokenlar, 1M uchun $8.00 | Balansingiz, boshqa har qanday model kabi. Chaqiruv limiti ishlatilmaydi. |
Chaqiruv — bitta so'rov, o'lchamidan qat'i nazar. U so'rov qabul qilinganda, model javob berishidan oldin hisoblanadi. Agent sessiyasi qilgan har bir qadam uchun bitta so'rov yuboradi, shuning uchun uzoq vazifa ko'p chaqiruv sarflaydi. Limit rejangizga bog'liq va har 4 soatda, 00:00, 04:00, 08:00, 12:00, 16:00 va 20:00 UTC da qaytadan boshlanadi.
| Reja | 4 soatlik oynadagi chaqiruvlar |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Joriy sonlar reja sahifasida ko'rsatilgan. Rejalar
Oyna chaqiruvlari tugagach, so'rovga 429 bilan javob beriladi. /v1/messages da xuddi shu xato Anthropic shaklida keladi.
{
"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"
}
} Kontekstning to'lib ketishi
Suhbat modelning kontekst oynasidan katta bo'lganda /v1/chat/completions va /v1/messages 400, invalid_request_error turi, context_length_exceeded kodi va prompt is too long bilan boshlanadigan xabar bilan javob beradi. Kodlash vositalari bu xatoni sessiyani siqish va so'rovni qayta yuborish uchun o'qiydi. Uni shannon-coder-1, shannon-1.6-lite va shannon-1.6-pro hosil qiladi.
{
"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
}
} Xabar: prompt is too long: <sent> tokens > <limit> maximum. Ikkala son noma'lum bo'lganda: prompt is too long. Please compact the conversation and try again.
Oqimda holat allaqachon 200, shuning uchun xato hodisa sifatida keladi va oqim keyin odatdagidek yopiladi:
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"} Agent sikli nimaga tayanishi mumkin
| Mavzu | Xatti-harakat |
|---|---|
| Tool sxemalari | Tool ta'riflari vosita yuborganidek olinadi. shannon-coder-1 va shannon-1.6-* da model foydalanmaydigan JSON Schema kalit so'zlari, masalan $schema, $ref, additionalProperties, default va title, model o'qiydigan narsadan chiqarib tashlanadi, oneOf esa anyOf sifatida o'qiladi. Ular uchun hech bir so'rov rad etilmaydi. |
| Tool chaqiruvi argumentlari | Oqimda tool chaqiruvi argumentlari bitta deltada to'liq keladi: tool_calls[].function.arguments, input_json_delta.partial_json yoki response.function_call_arguments.delta. |
| Tool navbatining oxiri | Chat Completions'da finish_reason: "tool_calls", Messages'da stop_reason: "tool_use". |
| Keep-alive | Model ishlayotgan paytda /v1/messages event: ping, /v1/chat/completions esa har 15 soniyada : ping izoh satrini yuboradi. |
| So'rovni to'xtatish | Ulanishni yopish oqimni to'xtatadi. Navbatning o'zi oxirigacha bajariladi va hisobga olinadi. |
Nosozliklarni bartaraf etish
| Belgi | Sabab | Tuzatish |
|---|---|---|
400 va unknown model: claude-… yoki unknown model: gpt-… | Vosita o'zining standart model nomini yubordi. Faqat e'lon qilingan Shannon id'lari xizmat ko'rsatiladi, boshqa nom ularga moslanmaydi. | Shannon id'sini tanlang: Claude Code'da ANTHROPIC_MODEL va uchta ANTHROPIC_DEFAULT_…_MODEL o'zgaruvchisi, Codex konfiguratsiyasida model. |
Codex CLI'dan 400 va nomsiz unknown model: | So'rovda model ko'rsatilmagan. /v1/responses uchun u kerak. | modelni ~/.codex/config.toml da o'rnating yoki --model bering. |
401 va Missing authentication yoki Invalid API key | Kalit API'ga yetib bormagan yoki u joriy kalit emas. Shannon kaliti sk- bilan boshlanadi. | O'zgaruvchi vositani ishga tushiradigan shellda o'rnatilganini tekshiring. Kalitni Keys & usage'dan qayta nusxalang. |
Har bir so'rovda 404 | Base URL'da vosita uchun bitta /v1 ortiqcha yoki yetishmaydi. | Claude Code: manzil /v1siz. Codex CLI: manzil /v1li. |
429 va Shannon Coder call quota reached | Joriy 4 soatlik oynaning Coder chaqiruvlari tugagan. | Keyingi oynani kuting, ko'proq chaqiruvli rejaga o'ting yoki token bilan hisoblanadigan modelni tanlang. |
429 va Quota exceeded | Balansingiz so'rovni qoplamaydi. | Kredit qo'shing yoki rejangizning kunlik limiti 00:00 UTC da yangilanishini kuting. |
400 va prompt is too long | Suhbat modelning kontekst oynasidan katta. | Sessiyani siqing (ikkala vositada ham /compact). Vositaga modelning kontekst oynasini ayting, shunda u oldinroq siqadi. |
| Claude Code kontekst sonlarini taxminiy ko'rsatadi | /v1/messages/count_tokens xostingdagi open-weight modellar uchun sanaydi. Shannon id'si bilan u 400 bilan javob beradi va Claude Code o'lchamni o'zi baholaydi. | Tuzatadigan narsa yo'q. Aniq sanash kerak bo'lsa, xostingdagi open-weight modelni tanlang. |
| Qo'yilgan skrinshot e'tiborga olinmaydi | shannon-coder-1 matn kirishini qabul qiladi. | Shu sessiya uchun rasm qabul qiladigan modelni tanlang. |
Kalitingiz va balansingiz Keys & usage sahifasida. Keys & usage