Прескокни до содржината
CLI алатки за програмирање

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/messages
POST /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-lite
shannon-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
Променлива Опис
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
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-от.

~/.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"
Школка
# 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
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.

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

Преполнување на контекстот

Кога разговорот е поголем од контекстниот прозорец на моделот, /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.

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

Пораката е prompt is too long: <sent> tokens > <limit> maximum. Кога двата броја не се познати, таа е prompt is too long. Please compact the conversation and try again.

Во streaming статусот е веќе 200, па грешката пристигнува како настан, а streaming-от потоа се затвора на нормален начин:

/v1/chat/completions, 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]
/v1/messages, streaming
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 прима текст на влез. Изберете модел што прима слики за таа сесија.

Вашиот клуч и вашето салдо се на страницата Клучеви и употреба. Клучеви и употреба