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 | ინსტრუმენტი base URL-ს /responses-ს ამატებს. |
| სხვა აგენტური ინსტრუმენტები, რომლებიც OpenAI-ის ჩატის ფორმატს იყენებენ | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | დააყენეთ base URL, გასაღები და Shannon-ის მოდელის id ინსტრუმენტის საკუთარ პარამეტრებში. |
სამივე endpoint ერთსა და იმავე API გასაღებს იღებს, როგორც Authorization: Bearer ან როგორც x-api-key. Header-ები anthropic-version, anthropic-beta და openai-beta, რომლებსაც ეს ინსტრუმენტები აგზავნიან, მიიღება.
აირჩიეთ Shannon-ის მოდელი
ყოველმა მოთხოვნამ უნდა დაასახელოს მოდელის id, რომელსაც Shannon აქვეყნებს. კოდირების ინსტრუმენტი საკუთარი ნაგულისხმევი მოდელის სახელს აგზავნის, თუ სხვაგვარად არ უთხარით, და სახელს, რომელსაც 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 მოდელები | ტოკენები თქვენი ბალანსიდან, ქეშირებული შემავალი შემავალი ტოკენების ფასის 25%-ად. | ინსტრუმენტების გამოძახებები, პრომპტის ქეშირება გრძელი სესიებისთვის და ზუსტი დათვლა /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 როგორც მოდელის 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-ტოკენიანი კონტექსტის ფანჯრით, ინსტრუმენტების გამოძახებით, მსჯელობითა და ტექსტის შეტანით. ის ორი გზით ითვლება, იმის მიხედვით, რომელ 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"} რაზე შეიძლება დაეყრდნოს აგენტის ციკლი
| თემა | ქცევა |
|---|---|
| ინსტრუმენტების სქემები | ინსტრუმენტების აღწერები მიიღება ისე, როგორც ინსტრუმენტი აგზავნის. 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 აგზავნის event: ping-ს, ხოლო /v1/chat/completions — კომენტარის ხაზს : ping ყოველ 15 წამში. |
| მოთხოვნის გაჩერება | კავშირის დახურვა სტრიმს აჩერებს. თავად ბიჯი ბოლომდე სრულდება და ითვლება. |
პრობლემების გადაჭრა
| სიმპტომი | მიზეზი | გამოსწორება |
|---|---|---|
400 შეტყობინებით unknown model: claude-… ან unknown model: gpt-… | ინსტრუმენტმა თავისი ნაგულისხმევი მოდელის სახელი გააგზავნა. მხოლოდ გამოქვეყნებული Shannon-ის id-ები მუშავდება და სხვა სახელი არცერთზე არ გადაიყვანება. | აირჩიეთ Shannon-ის id: 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--ით იწყება. | შეამოწმეთ, რომ ცვლადი დაყენებულია shell-ში, რომელიც ინსტრუმენტს უშვებს. გასაღები ხელახლა დააკოპირეთ გვერდიდან Keys & usage. |
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 იღებს ტექსტის შეტანას. | ამ სესიისთვის აირჩიეთ მოდელი, რომელიც სურათებს იღებს. |
თქვენი გასაღები და ბალანსი გვერდზე Keys & usage არის. გასაღებები და გამოყენება