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/messagesPOST /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-liteshannon-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 {
"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-ը ցույց է տալիս ձեր ընտրած 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 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-ը։
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 մոդելի 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 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 ձևով։
{
"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. է։
Հոսքի վրա կարգավիճակն արդեն 200 է, ուստի սխալը գալիս է որպես իրադարձություն, և հոսքն ապա փակվում է սովորական ձևով.
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։ Դրանց պատճառով ոչ մի հարցում չի մերժվում։ |
| Գործիքի կանչի արգումենտներ | Հոսքում գործիքի կանչի արգումենտները գալիս են ամբողջությամբ մեկ 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-ն ընդունում է տեքստային մուտք։ | Այդ նիստի համար ընտրեք պատկեր ընդունող մոդել։ |
Ձեր բանալին և մնացորդը «Բանալիներ և օգտագործում» էջում են։ Բանալիներ և օգտագործում