Mga CLI coding tool
BagoGamitin ang Shannon bilang model sa likod ng Claude Code, Codex CLI at iba pang agent CLI.
Tatlong setting ang kailangan ng coding tool para gumana sa Shannon: ang base URL ng API, ang iyong API key, at isang Shannon model id. Ibinibigay ng pahinang ito ang eksaktong mga setting para sa Claude Code at Codex CLI, ipinaliliwanag kung paano binibilang ang coding model na shannon-coder-1, at inililista ang mga error na nasasalubong ng mga tool na ito.
Aling endpoint ang ginagamit ng bawat tool
| Tool | Endpoint | Base URL na ise-set | Tala |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Ang tool mismo ang nagdaragdag ng /v1/messages sa base URL. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Ang tool ang nagdaragdag ng /responses sa base URL. |
| Iba pang agent tool na gumagamit ng OpenAI chat format | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | I-set ang base URL, ang key at isang Shannon model id sa sariling mga setting ng tool. |
Parehong API key ang tinatanggap ng lahat ng tatlong endpoint, bilang Authorization: Bearer o bilang x-api-key. Tinatanggap ang mga header na anthropic-version, anthropic-beta at openai-beta na ipinapadala ng mga tool na ito.
Pumili ng Shannon model
Dapat pangalanan ng bawat request ang isang model id na inilalathala ng Shannon. Ipinapadala ng coding tool ang pangalan ng sarili nitong default na model maliban kung sasabihin mo nang iba, at ang pangalang hindi inilalathala ng Shannon ay sinasagot ng 400 at ng mensaheng unknown model: <name>. Walang ibang pangalan na minamapa sa Shannon model, kaya i-set ang model sa tool bago ang unang request.
Inililista ng GET /v1/models ang bawat id kasama ang context window nito. Walang key na kailangan. Mga model at presyo
| Model | Binibilang bilang | Ano ang naidudulot |
|---|---|---|
shannon-coder-1 | Isang call kada request sa /v1/messages at /v1/chat/completions. Tokens sa /v1/responses. | Ang coding model. Text input, tool call, context window na 131,072 token. |
shannon-1.6-liteshannon-1.6-pro | Tokens mula sa iyong balance. | Mga pangkalahatang model na may tool call. Angkop ang shannon-1.6-lite sa maiikling background request na ginagawa ng tool. |
| Mga hosted open-weight model | Tokens mula sa iyong balance, na ang cached input ay 25% ng input price. | Tool call, prompt caching para sa mahahabang session, at eksaktong bilang mula sa /v1/messages/count_tokens. |
Ginagabayan ng mga coding tool ang model gamit ang mahabang system prompt. Ina-apply ang system prompt ng shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro at ng mga hosted open-weight model, kaya pumili ng isa sa mga ito para sa coding tool.
Claude Code
Binabasa ng Claude Code ang koneksyon nito mula sa mga environment variable. I-set ang mga ito sa shell na nagsisimula nito, o sa env block ng ~/.claude/settings.json para manatili sa bawat session.
# 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"
}
} | Variable | Paglalarawan |
|---|---|
ANTHROPIC_BASE_URL | Kung saan ipinapadala ng Claude Code ang mga request nito. Gamitin ang address na walang /v1. |
ANTHROPIC_AUTH_TOKEN | Ang iyong Shannon API key, ipinapadala bilang Authorization: Bearer. Gumagana rin ang ANTHROPIC_API_KEY: ipinapadala nito ang key bilang x-api-key, at minsang hihingi ang Claude Code ng pag-apruba. |
ANTHROPIC_MODEL | Ang model ng session. Itinatakda rin ito ng claude --model <id> at /model <id>. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Ang model para sa mga background request gaya ng pamagat ng session, at para sa anumang humihingi ng haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Ang model na ginagamit kapag humihingi ng sonnet ang isang subagent o command. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Ang model na ginagamit kapag humihingi ng opus ang isang subagent o command. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Ang context window na ipinapalagay ng Claude Code para sa model. Gamitin ang context_window na iniuulat ng GET /v1/models para sa id na pinili mo. |
- I-set ang lahat ng tatlong variable na
ANTHROPIC_DEFAULT_…_MODEL. Humihingi ang mga subagent at ilang command ng model sa built-in na pangalan nito, at dapat mag-resolve ang bawat pangalan sa isang Shannon id. - Itinuturo ng sample ang mga background request sa
shannon-1.6-lite, na binibilang sa tokens. Kaya hindi gumagamit ng Coder calls ang mga pamagat ng session at katulad na request. - Hinihingi ng Claude Code sa
POST /v1/messages/count_tokensang laki ng context. Gumagana ang endpoint para sa mga hosted open-weight model. Sa Shannon id, sumasagot ito ng400; itinuturing ng Claude Code na opsyonal ang token counting at tinatantya nito mismo ang laki. Pagbibilang ng token
Para suriin ang address, ang key at ang model id bago simulan ang tool, magpadala ng isang request nang mano-mano:
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
Nakikipag-usap ang Codex CLI sa Responses API. Ilarawan ang Shannon bilang model provider sa ~/.codex/config.toml, pumili roon ng Shannon model id, at ilagay ang iyong API key sa environment variable na pinangalanan ng 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 | Key | Paglalarawan |
|---|---|
model | Ang Shannon model id. Itinatakda ito ng codex --model <id> para sa isang takbo. |
model_provider | Ang pangalan ng provider block na gagamitin, dito shannon. |
base_url | Ang address ng API na may /v1. |
env_key | Ang pangalan ng environment variable na may hawak ng iyong Shannon API key. |
wire_api | responses: nakikipag-usap ang Codex sa POST /v1/responses. |
model_context_window | Ang context window ng model, para ma-compact ng Codex ang mahabang session sa tamang oras. Gamitin ang context_window na iniuulat ng GET /v1/models. |
- Walang itinatagong conversation ang
/v1/responsessa server: dala ng bawat request ang conversation sainput. Tinatanggap angprevious_response_idpara sa compatibility. - Iniaalok sa model ang mga function tool (
type: "function") sa/v1/responses. - Sa
/v1/responses, angshannon-coder-1ay binibilang sa tokens mula sa iyong balance, hindi sa Coder calls.
Ang parehong pagsusuri para sa 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."
}' Ang coding model at kung paano ito binibilang
Ang shannon-coder-1 ay ang Shannon model para sa mga coding agent. Iniuulat ito ng GET /v1/models na may context window na 131,072 tokens, tool call, reasoning at text input. Binibilang ito sa isa sa dalawang paraan, depende sa endpoint na ginagamit ng tool.
| Endpoint | Ang request ay nagkakahalaga ng | Kinukuha mula sa |
|---|---|---|
/v1/messages | 1 call kada request | Ang Coder call allowance ng iyong plan. Walang token na kinukuha mula sa iyong balance. |
/v1/chat/completions | 1 call kada request | Ang Coder call allowance ng iyong plan. Walang token na kinukuha mula sa iyong balance. |
/v1/responses | Tokens, sa $8.00 kada 1M | Ang iyong balance, tulad ng anumang ibang model. Hindi ginagamit ang call allowance. |
Ang call ay isang request, anuman ang laki nito. Binibilang ito kapag tinanggap ang request, bago sumagot ang model. Nagpapadala ang agent session ng isang request sa bawat hakbang nito, kaya maraming call ang ginagamit ng mahabang gawain. Depende sa iyong plan ang allowance at nagsisimula ulit tuwing 4 na oras, sa 00:00, 04:00, 08:00, 12:00, 16:00 at 20:00 UTC.
| Plan | Mga call kada 4-hour window |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Ipinapakita ng pahina ng plan ang kasalukuyang mga numero. Mga plan
Kapag naubos na ang mga call ng isang window, sinasagot ang request ng 429. Sa /v1/messages, dumarating ang parehong error sa hugis ng 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"
}
} Context overflow
Kapag mas malaki ang conversation kaysa sa context window ng model, sumasagot ang /v1/chat/completions at /v1/messages ng 400, ang type na invalid_request_error, ang code na context_length_exceeded at isang mensaheng nagsisimula sa prompt is too long. Binabasa ng mga coding tool ang error na ito para i-compact ang session at ipadala muli ang request. Ginagawa ito ng shannon-coder-1, shannon-1.6-lite at 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
}
} Ang mensahe ay prompt is too long: <sent> tokens > <limit> maximum. Kapag hindi alam ang dalawang numero, ito ay prompt is too long. Please compact the conversation and try again.
Sa isang stream, 200 na ang status, kaya dumarating ang error bilang event at pagkatapos ay normal na magsasara ang stream:
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"} Ang maaasahan ng isang agent loop
| Paksa | Gawi |
|---|---|
| Mga tool schema | Kinukuha ang mga tool definition kung paano ipinadala ng tool. Sa shannon-coder-1 at shannon-1.6-*, ang mga JSON Schema keyword na hindi ginagamit ng model, gaya ng $schema, $ref, additionalProperties, default at title, ay inaalis sa binabasa ng model, at ang oneOf ay binabasa bilang anyOf. Walang request na tinatanggihan dahil sa mga ito. |
| Mga argument ng tool call | Sa isang stream, dumarating nang kumpleto sa isang delta ang mga argument ng tool call: tool_calls[].function.arguments, input_json_delta.partial_json o response.function_call_arguments.delta. |
| Pagtatapos ng tool turn | finish_reason: "tool_calls" sa Chat Completions, stop_reason: "tool_use" sa Messages. |
| Keep-alive | Habang gumagana ang model, nagpapadala ang /v1/messages ng event: ping at ang /v1/chat/completions ng : ping comment line bawat 15 segundo. |
| Paghinto ng request | Pinahihinto ng pagsasara ng koneksyon ang stream. Tumatakbo hanggang dulo ang mismong turn at binibilang ito. |
Pag-troubleshoot
| Sintomas | Sanhi | Ayos |
|---|---|---|
400 na may unknown model: claude-… o unknown model: gpt-… | Ipinadala ng tool ang sarili nitong default na pangalan ng model. Mga inilathalang Shannon id lamang ang ibinibigay, at walang ibang pangalan na minamapa sa isa. | Pumili ng Shannon id: ANTHROPIC_MODEL at ang tatlong variable na ANTHROPIC_DEFAULT_…_MODEL sa Claude Code, model sa Codex config. |
400 na may unknown model: at walang pangalan, mula sa Codex CLI | Walang pinangalanang model ang request. Kailangan ng isa ng /v1/responses. | I-set ang model sa ~/.codex/config.toml o ipasa ang --model. |
401 na may Missing authentication o Invalid API key | Hindi nakarating sa API ang key, o hindi ito kasalukuyang key. Ang Shannon key ay nagsisimula sa sk-. | Tiyaking naka-set ang variable sa shell na nagsisimula ng tool. Kopyahin muli ang key mula sa Keys & usage. |
404 sa bawat request | Sobra o kulang ng isang /v1 ang base URL para sa tool. | Claude Code: ang address na walang /v1. Codex CLI: ang address na may /v1. |
429 na may Shannon Coder call quota reached | Naubos na ang Coder calls ng kasalukuyang 4-hour window. | Hintayin ang susunod na window, lumipat sa plan na may mas maraming call, o pumili ng model na binibilang sa tokens. |
429 na may Quota exceeded | Hindi sapat ang iyong balance para sa request. | Magdagdag ng credit, o hintayin ang daily allowance ng iyong plan sa 00:00 UTC. |
400 na may prompt is too long | Mas malaki ang conversation kaysa sa context window ng model. | I-compact ang session (/compact sa parehong tool). Sabihin sa tool ang context window ng model para mas maaga itong mag-compact. |
| Nagpapakita ang Claude Code ng tinatayang numero ng context | Gumagana ang /v1/messages/count_tokens para sa mga hosted open-weight model. Sa Shannon id, sumasagot ito ng 400, at tinatantya mismo ng Claude Code ang laki. | Walang aayusin. Pumili ng hosted open-weight model kung gusto mo ng eksaktong bilang. |
| Hindi isinasaalang-alang ang na-paste na screenshot | Text input ang tinatanggap ng shannon-coder-1. | Pumili ng model na tumatanggap ng mga image para sa session na iyon. |
Nasa pahinang Keys & usage ang iyong key at balance. Keys & usage