Անցնել բովանդակությանը
CLI գործիքներ ծրագրավորման համար

CLI գործիքներ ծրագրավորման համար

ՆՈՐ

Օգտագործեք Shannon-ը որպես մոդել Claude Code-ի, Codex CLI-ի և այլ գործակալ-CLI-ների հետևում։

Ծրագրավորման գործիքին Shannon-ի հետ աշխատելու համար պետք են երեք կարգավորում՝ API-ի base URL-ը, ձեր API բանալին և Shannon մոդելի id։ Այս էջը տալիս է ճշգրիտ կարգավորումները Claude Code-ի և Codex CLI-ի համար, բացատրում է, թե ինչպես է հաշվվում shannon-coder-1 ծրագրավորման մոդելը, և թվարկում է այն սխալները, որոնց հանդիպում են այս գործիքները։

Որ գործիքն ինչ endpoint է օգտագործում

Գործիք Endpoint Սահմանվող base URL Նշում
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com Գործիքն ինքը ավելացնում է /v1/messages base URL-ին։
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 Գործիքը ավելացնում է /responses base URL-ին։
Այլ գործակալային գործիքներ, որոնք խոսում են OpenAI chat ձևաչափով POST /v1/chat/completions https://api.shannon-ai.com/v1 Սահմանեք base URL-ը, բանալին և Shannon մոդելի id-ն գործիքի սեփական կարգավորումներում։

Երեք endpoint-ներն էլ ընդունում են նույն API բանալին՝ որպես Authorization: Bearer կամ որպես x-api-key։ Այս գործիքների ուղարկած anthropic-version, anthropic-beta և openai-beta header-ները ընդունվում են։

Ընտրեք Shannon մոդել

Յուրաքանչյուր հարցում պետք է նշի Shannon-ի հրապարակած մոդելի id։ Ծրագրավորման գործիքն ուղարկում է իր սեփական լռելյայն մոդելի անունը, եթե դուք այլ բան չեք ասել, իսկ Shannon-ի չհրապարակած անվանը պատասխանվում է 400-ով և unknown model: <name> հաղորդագրությամբ։ Ոչ մի այլ անուն չի համապատասխանեցվում Shannon մոդելի, ուստի մոդելը սահմանեք գործիքում՝ առաջին հարցումից առաջ։

GET /v1/models-ը թվարկում է յուրաքանչյուր id՝ իր համատեքստի պատուհանով։ Բանալի պետք չէ։ Մոդելներ և գներ

Մոդել Հաշվվում է որպես Ինչ է տալիս
shannon-coder-1 Մեկ կանչ յուրաքանչյուր հարցման համար /v1/messages-ում և /v1/chat/completions-ում։ Թոքեններ՝ /v1/responses-ում։ Ծրագրավորման մոդելը։ Տեքստային մուտք, գործիքների կանչեր, 131,072 թոքենի համատեքստի պատուհան։
shannon-1.6-lite
shannon-1.6-pro
Թոքեններ ձեր մնացորդից։ Ընդհանուր նշանակության մոդելներ՝ գործիքների կանչերով։ shannon-1.6-lite-ը հարմար է գործիքի կատարած կարճ ֆոնային հարցումների համար։
Hosted open-weight մոդելներ Թոքեններ ձեր մնացորդից, cache-ված մուտքը՝ մուտքի գնի 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-ն և hosted open-weight մոդելները, ուստի ծրագրավորման գործիքի համար ընտրեք դրանցից մեկը։

Claude Code

Claude Code-ն իր միացումը կարդում է միջավայրի փոփոխականներից։ Սահմանեք դրանք այն shell-ում, որը գործարկում է այն, կամ ~/.claude/settings.json-ի env բլոկում՝ յուրաքանչյուր նիստի համար պահելու նպատակով։

# 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-ը ցույց է տալիս ձեր ընտրած id-ի համար։
  • Սահմանեք բոլոր երեք ANTHROPIC_DEFAULT_…_MODEL փոփոխականները։ Subagent-ները և որոշ հրամաններ մոդելը պահանջում են իր ներկառուցված անվամբ, և յուրաքանչյուր անուն պետք է համապատասխանի Shannon id-ի։
  • Օրինակը ֆոնային հարցումները ուղղում է shannon-1.6-lite-ին, որը հաշվվում է թոքեններով։ Այդ դեպքում նիստի վերնագրերը և նմանատիպ հարցումները Coder կանչեր չեն օգտագործում։
  • Claude Code-ը POST /v1/messages/count_tokens-ից հարցնում է համատեքստի չափը։ Endpoint-ը աշխատում է hosted open-weight մոդելների համար։ Shannon id-ի դեպքում այն պատասխանում է 400. Claude Code-ը թոքենների հաշվարկը համարում է ընտրովի և չափը գնահատում է ինքը։ Թոքենների հաշվարկ

Հասցեն, բանալին և մոդելի id-ն ստուգելու համար, նախքան գործիքը գործարկելը, ուղարկեք մեկ հարցում ձեռքով.

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-ը որպես model provider ~/.codex/config.toml-ում, այնտեղ ընտրեք Shannon մոդելի id և ձեր 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"
Shell
# 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 մոդելի id-ն։ 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 ժամը մեկ՝ UTC-ով 00:00-ին, 04:00-ին, 08:00-ին, 12:00-ին, 16:00-ին և 20:00-ին։

Պլան Կանչեր 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. է։

Հոսքի վրա կարգավիճակն արդեն 200 է, ուստի սխալը գալիս է որպես իրադարձություն, և հոսքն ապա փակվում է սովորական ձևով.

/v1/chat/completions, հոսք
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, հոսք
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։ Դրանց պատճառով ոչ մի հարցում չի մերժվում։
Գործիքի կանչի արգումենտներ Հոսքում գործիքի կանչի արգումենտները գալիս են ամբողջությամբ մեկ delta-ում՝ tool_calls[].function.arguments, input_json_delta.partial_json կամ response.function_call_arguments.delta։
Գործիքային փուլի ավարտ Chat Completions-ում փուլն ավարտվում է finish_reason: "tool_calls"-ով, իսկ Messages-ում՝ stop_reason: "tool_use"-ով։
Keep-alive Մինչ մոդելը աշխատում է, /v1/messages-ն ամեն 15 վայրկյանը մեկ ուղարկում է event: ping, իսկ /v1/chat/completions-ը՝ : ping մեկնաբանության տող։
Հարցման կանգնեցում Կապի փակումը կանգնեցնում է հոսքը։ Փուլն ինքը աշխատում է մինչև վերջ և հաշվվում է։

Խնդիրների լուծում

Ախտանիշ Պատճառ Լուծում
400 unknown model: claude-… կամ unknown model: gpt-… հաղորդագրությամբ Գործիքն ուղարկել է իր լռելյայն մոդելի անունը։ Սպասարկվում են միայն հրապարակված Shannon id-ները, և ոչ մի այլ անուն չի համապատասխանեցվում դրանց։ Ընտրեք Shannon id. Claude Code-ում՝ ANTHROPIC_MODEL-ը և երեք ANTHROPIC_DEFAULT_…_MODEL փոփոխականները, Codex-ի կարգավորման մեջ՝ model։
400 unknown model: առանց անվան, Codex CLI-ից Հարցումը մոդել չի նշել։ /v1/responses-ին մոդել պետք է։ Սահմանեք model-ը ~/.codex/config.toml-ում կամ փոխանցեք --model։
401 Missing authentication կամ Invalid API key հաղորդագրությամբ Բանալին չի հասել API-ին, կամ այն ընթացիկ բանալի չէ։ Shannon բանալին սկսվում է sk--ով։ Ստուգեք, որ փոփոխականը սահմանված է այն shell-ում, որը գործարկում է գործիքը։ Բանալին նորից պատճենեք «Բանալիներ և օգտագործում» էջից։
404 յուրաքանչյուր հարցման վրա Base URL-ում գործիքի համար մեկ /v1 ավել է կամ պակաս։ Claude Code. հասցեն առանց /v1-ի։ Codex CLI. հասցեն /v1-ով։
429 Shannon Coder call quota reached հաղորդագրությամբ Ընթացիկ 4-ժամյա պատուհանի Coder կանչերը սպառվել են։ Սպասեք հաջորդ պատուհանին, անցեք ավելի շատ կանչեր ունեցող պլանի կամ ընտրեք թոքեններով հաշվվող մոդել։
429 Quota exceeded հաղորդագրությամբ Ձեր մնացորդը չի ծածկում հարցումը։ Ավելացրեք կրեդիտ կամ սպասեք ձեր պլանի օրական քվոտային՝ 00:00 UTC-ին։
400 prompt is too long հաղորդագրությամբ Զրույցը մեծ է մոդելի համատեքստի պատուհանից։ Սեղմեք նիստը (երկու գործիքներում էլ /compact)։ Գործիքին հայտնեք մոդելի համատեքստի պատուհանը, որպեսզի այն ավելի շուտ սեղմի։
Claude Code-ը ցույց է տալիս համատեքստի մոտավոր թվեր /v1/messages/count_tokens-ը աշխատում է hosted open-weight մոդելների համար։ Shannon id-ի դեպքում այն պատասխանում է 400, և Claude Code-ը չափը գնահատում է ինքը։ Ուղղելու բան չկա։ Ընտրեք hosted open-weight մոդել, եթե ճշգրիտ հաշվարկ եք ուզում։
Տեղադրված էկրանի նկարը հաշվի չի առնվում shannon-coder-1-ն ընդունում է տեքստային մուտք։ Այդ նիստի համար ընտրեք պատկեր ընդունող մոդել։

Ձեր բանալին և մնացորդը «Բանալիներ և օգտագործում» էջում են։ Բանալիներ և օգտագործում