Lumaktaw sa nilalaman
Mga CLI coding tool

Mga CLI coding tool

Bago

Gamitin 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/messages
POST /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-lite
shannon-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
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_tokens ang laki ng context. Gumagana ang endpoint para sa mga hosted open-weight model. Sa Shannon id, sumasagot ito ng 400; 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
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.

~/.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
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/responses sa server: dala ng bawat request ang conversation sa input. Tinatanggap ang previous_response_id para sa compatibility.
  • Iniaalok sa model ang mga function tool (type: "function") sa /v1/responses.
  • Sa /v1/responses, ang shannon-coder-1 ay binibilang sa tokens mula sa iyong balance, hindi sa Coder calls.

Ang parehong pagsusuri para sa 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."
  }'

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.

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

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.

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

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:

/v1/chat/completions, 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]
/v1/messages, stream
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