CLI алатки за програмирање
НовоКористете го Shannon како модел зад Claude Code, Codex CLI и други CLI агенти.
Алатка за програмирање има потреба од три поставки за да работи со Shannon: основниот URL на API-то, вашиот API клуч и ид на Shannon модел. Оваа страница ги дава точните поставки за Claude Code и Codex CLI, објаснува како се брои моделот за програмирање shannon-coder-1 и ги наведува грешките што ги среќаваат овие алатки.
Кој endpoint го користи секоја алатка
| Алатка | Endpoint | Основен URL за поставување | Белешка |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Алатката сама додава /v1/messages на основниот URL. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Алатката додава /responses на основниот URL. |
| Други алатки со агенти што го зборуваат OpenAI chat форматот | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Поставете го основниот URL, клучот и ид на Shannon модел во сопствените поставки на алатката. |
Сите три endpoint-и го примаат истиот API клуч, како Authorization: Bearer или како x-api-key. Заглавијата anthropic-version, anthropic-beta и openai-beta што ги испраќаат овие алатки се прифаќаат.
Изберете Shannon модел
Секое барање мора да именува ид на модел што Shannon го објавува. Алатката за програмирање го испраќа името на својот стандарден модел освен ако не ѝ кажете поинаку, а на име што Shannon не го објавува се одговара со 400 и порака unknown model: <name>. Ниедно друго име не се мапира во Shannon модел, затоа поставете го моделот во алатката пред првото барање.
GET /v1/models го наведува секој ид со неговиот контекстен прозорец. Не бара клуч. Модели и цени
| Модел | Се брои како | Што носи |
|---|---|---|
shannon-coder-1 | Еден повик по барање на /v1/messages и /v1/chat/completions. Токени на /v1/responses. | Моделот за програмирање. Текст на влез, повици на алатки, контекстен прозорец од 131,072 токени. |
shannon-1.6-liteshannon-1.6-pro | Токени од вашето салдо. | Општи модели со повици на алатки. shannon-1.6-lite одговара за кратките барања во позадина што ги прави алатката. |
| Хостирани open-weight модели | Токени од вашето салдо, со кеширан влез по 25% од цената на влезот. | Повици на алатки, prompt caching за долги сесии и точни броеви од /v1/messages/count_tokens. |
Алатките за програмирање го насочуваат моделот со долг system prompt. System prompt-от го применуваат shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro и хостираните open-weight модели, затоа за алатка за програмирање изберете еден од нив.
Claude Code
Claude Code ја чита својата врска од променливи на околината. Поставете ги во школката што го стартува, или во блокот env на ~/.claude/settings.json за да ги задржите за секоја сесија.
# 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"
}
} | Променлива | Опис |
|---|---|
ANTHROPIC_BASE_URL | Каде Claude Code ги испраќа барањата. Користете ја адресата без /v1. |
ANTHROPIC_AUTH_TOKEN | Вашиот Shannon API клуч, испратен како Authorization: Bearer. Работи и ANTHROPIC_API_KEY: го испраќа клучот како x-api-key, а Claude Code бара еднаш да го одобрите. |
ANTHROPIC_MODEL | Моделот на сесијата. claude --model <id> и /model <id> го поставуваат истото. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Моделот за барања во позадина, како наслови на сесии, и за сè што бара haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Моделот што се користи кога subagent или команда бара sonnet. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Моделот што се користи кога subagent или команда бара opus. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Контекстниот прозорец што Claude Code го претпоставува за моделот. Користете го context_window што GET /v1/models го пријавува за ид-то што сте го избрале. |
- Поставете ги сите три променливи
ANTHROPIC_DEFAULT_…_MODEL. Subagent-ите и некои команди бараат модел по неговото вградено име, а секое име мора да се разреши во Shannon ид. - Примерот ги насочува барањата во позадина кон
shannon-1.6-lite, кој се брои во токени. Насловите на сесии и слични барања тогаш не користат Coder повици. - Claude Code бара од
POST /v1/messages/count_tokensголемината на контекстот. Endpoint-от брои за хостираните open-weight модели. Со Shannon ид одговара400; Claude Code го смета броењето токени за опционално и самиот ја проценува големината. Броење токени
За да ги проверите адресата, клучот и ид-то на моделот пред да ја стартувате алатката, испратете едно барање рачно:
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. Опишете го Shannon како provider на модели во ~/.codex/config.toml, изберете таму ид на Shannon модел и ставете го вашиот API клуч во променливата на околината што ја именува provider-от.
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 | Клуч | Опис |
|---|---|
model | Ид на Shannon модел. codex --model <id> го поставува за едно извршување. |
model_provider | Името на блокот на provider-от што се користи, овде shannon. |
base_url | Адресата на API-то со /v1. |
env_key | Името на променливата на околината што го содржи вашиот Shannon API клуч. |
wire_api | responses: Codex комуницира со POST /v1/responses. |
model_context_window | Контекстниот прозорец на моделот, за Codex навреме да ја збие долгата сесија. Користете го context_window што GET /v1/models го пријавува. |
/v1/responsesне чува разговор на серверот: секое барање го носи разговорот воinput.previous_response_idсе прифаќа за компатибилност.- Алатките-функции (
type: "function") му се нудат на моделот на/v1/responses. - На
/v1/responses,shannon-coder-1се брои во токени од вашето салдо, а не во Coder повици.
Истата проверка за Responses endpoint-от:
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."
}' Моделот за програмирање и како се брои
shannon-coder-1 е Shannon моделот за агенти за програмирање. GET /v1/models го пријавува со контекстен прозорец од 131,072 токени, повици на алатки, reasoning и текст на влез. Се брои на еден од два начина, зависно од endpoint-от што го користи алатката.
| Endpoint | Барањето чини | Се зема од |
|---|---|---|
/v1/messages | 1 повик по барање | Лимитот на Coder повици од вашиот план. Не се земаат токени од вашето салдо. |
/v1/chat/completions | 1 повик по барање | Лимитот на Coder повици од вашиот план. Не се земаат токени од вашето салдо. |
/v1/responses | Токени, по $8.00 за 1M | Вашето салдо, како кој било друг модел. Лимитот на повици не се користи. |
Повик е едно барање, без оглед на неговата големина. Се брои кога барањето ќе се прифати, пред моделот да одговори. Сесија на агент испраќа едно барање за секој чекор што го прави, па долгата задача користи многу повици. Лимитот зависи од вашиот план и започнува одново на секои 4 часа, во 00:00, 04:00, 08:00, 12:00, 16:00 и 20:00 UTC.
| План | Повици по 4-часовен прозорец |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Страницата на плановите ги покажува тековните бројки. Планови
Кога повиците на еден прозорец се искористени, на барањето се одговара со 429. На /v1/messages истата грешка доаѓа во обликот на Anthropic.
{
"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"
}
} Преполнување на контекстот
Кога разговорот е поголем од контекстниот прозорец на моделот, /v1/chat/completions и /v1/messages одговараат со 400, типот invalid_request_error, кодот context_length_exceeded и порака што започнува со prompt is too long. Алатките за програмирање ја читаат оваа грешка за да ја збијат сесијата и да го испратат барањето повторно. Ја произведуваат shannon-coder-1, shannon-1.6-lite и 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
}
} Пораката е prompt is too long: <sent> tokens > <limit> maximum. Кога двата броја не се познати, таа е prompt is too long. Please compact the conversation and try again.
Во streaming статусот е веќе 200, па грешката пристигнува како настан, а streaming-от потоа се затвора на нормален начин:
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"} На што може да се потпре циклусот на агент
| Тема | Однесување |
|---|---|
| Schema на алатки | Дефинициите на алатки се земаат онака како што ги испраќа алатката. На shannon-coder-1 и shannon-1.6-*, клучните зборови на JSON Schema што моделот не ги користи, како $schema, $ref, additionalProperties, default и title, се изоставени од она што моделот го чита, а oneOf се чита како anyOf. Ниедно барање не се одбива поради нив. |
| Аргументи на повик на алатка | Во streaming, аргументите на повик на алатка пристигнуваат целосни во една делта: tool_calls[].function.arguments, input_json_delta.partial_json или response.function_call_arguments.delta. |
| Крај на потег со алатка | Вредноста finish_reason: "tool_calls" кај Chat Completions и вредноста stop_reason: "tool_use" кај Messages. |
| Keep-alive | Додека моделот работи, /v1/messages испраќа event: ping, а /v1/chat/completions испраќа коментар ред : ping на секои 15 секунди. |
| Запирање на барање | Затворањето на врската го запира streaming-от. Самиот потег се извршува до крај и се брои. |
Решавање проблеми
| Симптом | Причина | Решение |
|---|---|---|
400 со unknown model: claude-… или unknown model: gpt-… | Алатката го испратила името на својот стандарден модел. Се опслужуваат само објавени Shannon ид-а, а ниедно друго име не се мапира во некое од нив. | Изберете Shannon ид: ANTHROPIC_MODEL и трите променливи ANTHROPIC_DEFAULT_…_MODEL во Claude Code, model во конфигурацијата на Codex. |
400 со unknown model: и без име, од Codex CLI | Барањето не именувало модел. /v1/responses бара еден. | Поставете model во ~/.codex/config.toml или проследете --model. |
401 со Missing authentication или Invalid API key | Клучот не стигнал до API-то, или не е тековен клуч. Shannon клучот започнува со sk-. | Проверете дали променливата е поставена во школката што ја стартува алатката. Копирајте го клучот повторно од Клучеви и употреба. |
404 на секое барање | Основниот URL има еден /v1 премногу или премалку за алатката. | Claude Code: адресата без /v1. Codex CLI: адресата со /v1. |
429 со Shannon Coder call quota reached | Coder повиците на тековниот 4-часовен прозорец се искористени. | Почекајте го следниот прозорец, преминете на план со повеќе повици или изберете модел што се брои во токени. |
429 со Quota exceeded | Вашето салдо не го покрива барањето. | Додадете кредит, или почекајте го дневниот лимит од вашиот план во 00:00 UTC. |
400 со prompt is too long | Разговорот е поголем од контекстниот прозорец на моделот. | Збијте ја сесијата (/compact во двете алатки). Кажете му на алатката го контекстниот прозорец на моделот за да збива порано. |
| Claude Code прикажува приближни броеви за контекстот | /v1/messages/count_tokens брои за хостираните open-weight модели. Со Shannon ид одговара 400, а Claude Code самиот ја проценува големината. | Нема што да се поправи. Изберете хостиран open-weight модел ако сакате точни броеви. |
| Залепена слика од екранот не се зема предвид | shannon-coder-1 прима текст на влез. | Изберете модел што прима слики за таа сесија. |
Вашиот клуч и вашето салдо се на страницата Клучеви и употреба. Клучеви и употреба