Salti al la enhavo
CLI-iloj por programado

CLI-iloj por programado

Nova

Uzu Shannon kiel la modelon malantaŭ Claude Code, Codex CLI kaj aliaj agentaj CLI-iloj.

Koda ilo bezonas tri agordojn por funkcii kun Shannon: la bazan URL de la API, vian API-ŝlosilon kaj id de Shannon-modelo. Ĉi tiu paĝo donas la precizajn agordojn por Claude Code kaj Codex CLI, klarigas kiel la koda modelo shannon-coder-1 estas kalkulata, kaj listigas la erarojn, kiujn ĉi tiuj iloj renkontas.

Kiun endpoint uzas ĉiu ilo

Ilo Endpoint Agordenda baza URL Noto
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com La ilo mem aldonas /v1/messages al la baza URL.
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 La ilo aldonas /responses al la baza URL.
Aliaj agent-iloj, kiuj parolas la formaton OpenAI chat POST /v1/chat/completions https://api.shannon-ai.com/v1 Agordu la bazan URL, la ŝlosilon kaj id de Shannon-modelo en la propraj agordoj de la ilo.

Ĉiuj tri endpoints akceptas la saman API-ŝlosilon, kiel Authorization: Bearer aŭ kiel x-api-key. La kapoj anthropic-version, anthropic-beta kaj openai-beta, kiujn ĉi tiuj iloj sendas, estas akceptataj.

Elekti Shannon-modelon

Ĉiu peto devas nomi model-id, kiun Shannon publikigas. Koda ilo sendas la nomon de sia propra defaŭlta modelo, se vi ne diras alie, kaj nomo, kiun Shannon ne publikigas, ricevas respondon 400 kun la mesaĝo unknown model: <name>. Neniu alia nomo estas mapata al Shannon-modelo, do agordu la modelon en la ilo antaŭ la unua peto.

GET /v1/models listigas ĉiun id kun ĝia kunteksta fenestro. Ĝi ne bezonas ŝlosilon. Modeloj kaj prezoj

Modelo Kalkulata kiel Kion ĝi alportas
shannon-coder-1 Unu voko por peto ĉe /v1/messages kaj /v1/chat/completions. Tokenoj ĉe /v1/responses. La koda modelo. Teksta enigo, vokoj de iloj, kunteksta fenestro de 131,072 tokenoj.
shannon-1.6-lite
shannon-1.6-pro
Tokenoj el via saldo. Ĝeneralaj modeloj kun vokoj de iloj. shannon-1.6-lite taŭgas por la mallongaj fonaj petoj, kiujn ilo faras.
Gastigitaj malfermpezaj modeloj Tokenoj el via saldo, kun kaŝmemorita enigo je 25% de la enig-prezo. Vokoj de iloj, prompt caching por longaj sesioj, kaj precizaj kalkuloj el /v1/messages/count_tokens.

Kodaj iloj gvidas la modelon per longa sistema prompt. La sisteman prompt aplikas shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro kaj la gastigitaj malfermpezaj modeloj, do elektu unu el ili por koda ilo.

Claude Code

Claude Code legas sian konekton el medivariabloj. Agordu ilin en la ŝelo, kiu lanĉas ĝin, aŭ en la bloko env de ~/.claude/settings.json por konservi ilin por ĉiu sesio.

# 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
Variablo Priskribo
ANTHROPIC_BASE_URL Kien Claude Code sendas siajn petojn. Uzu la adreson sen /v1.
ANTHROPIC_AUTH_TOKEN Via Shannon API-ŝlosilo, sendita kiel Authorization: Bearer. ANTHROPIC_API_KEY ankaŭ funkcias: ĝi sendas la ŝlosilon kiel x-api-key, kaj Claude Code petas unufoje aprobon.
ANTHROPIC_MODEL La modelo de la sesio. claude --model <id> kaj /model <id> agordas la samon.
ANTHROPIC_DEFAULT_HAIKU_MODEL La modelo por fonaj petoj kiel sesiaj titoloj, kaj por ĉio, kio petas haiku.
ANTHROPIC_DEFAULT_SONNET_MODEL La modelo uzata, kiam subagento aŭ komando petas sonnet.
ANTHROPIC_DEFAULT_OPUS_MODEL La modelo uzata, kiam subagento aŭ komando petas opus.
CLAUDE_CODE_MAX_CONTEXT_TOKENS La kunteksta fenestro, kiun Claude Code supozas por la modelo. Uzu la context_window, kiun GET /v1/models raportas por la id, kiun vi elektis.
  • Agordu ĉiujn tri variablojn ANTHROPIC_DEFAULT_…_MODEL. Subagentoj kaj kelkaj komandoj petas modelon per ĝia enkonstruita nomo, kaj ĉiu nomo devas solviĝi al Shannon-id.
  • La ekzemplo direktas fonajn petojn al shannon-1.6-lite, kiu estas kalkulata en tokenoj. Sesiaj titoloj kaj similaj petoj tiam ne uzas vokojn de Coder.
  • Claude Code petas de POST /v1/messages/count_tokens la grandon de la kunteksto. La endpoint kalkulas por la gastigitaj malfermpezaj modeloj. Kun Shannon-id ĝi respondas 400; Claude Code traktas la kalkuladon de tokenoj kiel laŭvolan kaj mem taksas la grandon. Kalkulado de tokenoj

Por kontroli la adreson, la ŝlosilon kaj modelo-id antaŭ ol vi lanĉas la ilon, sendu unu peton permane:

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 parolas al la Responses API. Priskribu Shannon kiel modelan provizanton en ~/.codex/config.toml, elektu tie Shannon-modelo-id, kaj metu vian API-ŝlosilon en la medivariablon, kiun la provizanto nomas.

~/.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"
Ŝelo
# 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
Ŝlosilo Priskribo
model La Shannon-modelo-id. codex --model <id> agordas ĝin por unu ruligo.
model_provider La nomo de la provizanta bloko uzenda, ĉi tie shannon.
base_url La adreso de la API kun /v1.
env_key La nomo de la medivariablo, kiu enhavas vian Shannon API-ŝlosilon.
wire_api responses: Codex parolas al POST /v1/responses.
model_context_window La kunteksta fenestro de la modelo, por ke Codex kompaktigu longan sesion ĝustatempe. Uzu la context_window, kiun GET /v1/models raportas.
  • /v1/responses ne tenas konversacion sur la servilo: ĉiu peto portas la konversacion en input. previous_response_id estas akceptata pro kongrueco.
  • Funkciaj iloj (type: "function") estas proponataj al la modelo ĉe /v1/responses.
  • Ĉe /v1/responses shannon-coder-1 estas kalkulata en tokenoj el via saldo, ne en vokoj de Coder.

La sama kontrolo por la endpoint Responses:

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

La koda modelo kaj kiel ĝi estas kalkulata

shannon-coder-1 estas la Shannon-modelo por programaj agentoj. GET /v1/models raportas ĝin kun kunteksta fenestro de 131,072 tokenoj, ilovokoj, reasoning kaj teksta enigo. Ĝi estas kalkulata laŭ unu el du manieroj, depende de la endpoint, kiun ilo uzas.

Endpoint Peto kostas Prenata el
/v1/messages 1 voko por peto La kvoto de vokoj de Coder de via plano. Neniuj tokenoj estas prenataj el via saldo.
/v1/chat/completions 1 voko por peto La kvoto de vokoj de Coder de via plano. Neniuj tokenoj estas prenataj el via saldo.
/v1/responses Tokenoj, je $8.00 por 1M Via saldo, kiel ĉe ĉiu alia modelo. La voka kvoto ne estas uzata.

Voko estas unu peto, kia ajn estas ĝia grando. Ĝi estas kalkulata kiam la peto estas akceptata, antaŭ ol la modelo respondas. Agenta sesio sendas unu peton por ĉiu paŝo, kiun ĝi faras, do longa tasko uzas multajn vokojn. La kvoto dependas de via plano kaj rekomenciĝas ĉiujn 4 horojn, je 00:00, 04:00, 08:00, 12:00, 16:00 kaj 20:00 UTC.

Plano Vokoj por 4-hora fenestro
Free 3
Plus 20
Standard 40
Pro 60

La plana paĝo montras la nunajn nombrojn. Planoj

Kiam la vokoj de fenestro estas elĉerpitaj, la peto ricevas respondon 429. Ĉe /v1/messages la sama eraro venas en la formo de 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"
  }
}

Superfluo de kunteksto

Kiam konversacio estas pli granda ol la kunteksta fenestro de la modelo, /v1/chat/completions kaj /v1/messages respondas per 400, la tipo invalid_request_error, la kodo context_length_exceeded kaj mesaĝo, kiu komenciĝas per prompt is too long. Kodaj iloj legas ĉi tiun eraron por kompaktigi la sesion kaj resendi la peton. Ĝin produktas shannon-coder-1, shannon-1.6-lite kaj 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
  }
}

La mesaĝo estas prompt is too long: <sent> tokens > <limit> maximum. Kiam la du nombroj ne estas konataj, ĝi estas prompt is too long. Please compact the conversation and try again.

En fluo la stato jam estas 200, do la eraro venas kiel evento kaj la fluo poste fermiĝas en la normala maniero:

/v1/chat/completions, fluo
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, fluo
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"}

Kion povas fidi agent-ciklo

Temo Konduto
Skemoj de iloj Ilo-difinoj estas prenataj tiel, kiel la ilo sendas ilin. Ĉe shannon-coder-1 kaj shannon-1.6-* ŝlosilvortoj de JSON Schema, kiujn la modelo ne uzas, kiel $schema, $ref, additionalProperties, default kaj title, estas preterlasataj el tio, kion la modelo legas, kaj oneOf estas legata kiel anyOf. Neniu peto estas rifuzata pro ili.
Argumentoj de ilovoko En fluo la argumentoj de ilovoko alvenas kompletaj en unu delta: tool_calls[].function.arguments, input_json_delta.partial_json aŭ response.function_call_arguments.delta.
Fino de ilo-turno finish_reason: "tool_calls" ĉe Chat Completions, stop_reason: "tool_use" ĉe Messages.
Keep-alive Dum la modelo laboras, /v1/messages sendas event: ping kaj /v1/chat/completions sendas komentan linion : ping ĉiujn 15 sekundojn.
Halti peton Fermo de la konekto haltigas la fluon. La turno mem funkcias ĝis sia fino kaj estas kalkulata.

Solvo de problemoj

Simptomo Kaŭzo Riparo
400 kun unknown model: claude-… aŭ unknown model: gpt-… La ilo sendis la nomon de sia propra defaŭlta modelo. Nur publikigitaj Shannon-id estas servataj, kaj neniu alia nomo estas mapata al unu el ili. Elektu Shannon-id: ANTHROPIC_MODEL kaj la tri variabloj ANTHROPIC_DEFAULT_…_MODEL en Claude Code, model en la agordo de Codex.
400 kun unknown model: kaj sen nomo, el Codex CLI La peto ne nomis modelon. /v1/responses bezonas unu. Agordu model en ~/.codex/config.toml aŭ donu --model.
401 kun Missing authentication aŭ Invalid API key La ŝlosilo ne atingis la API, aŭ ĝi ne estas aktuala ŝlosilo. Ŝlosilo de Shannon komenciĝas per sk-. Kontrolu, ke la variablo estas agordita en la ŝelo, kiu startigas la ilon. Kopiu la ŝlosilon denove el Keys & usage.
404 ĉe ĉiu peto La baza URL havas unu /v1 tro multe aŭ tro malmulte por la ilo. Claude Code: la adreso sen /v1. Codex CLI: la adreso kun /v1.
429 kun Shannon Coder call quota reached La vokoj de Coder en la nuna 4-hora fenestro estas elĉerpitaj. Atendu la sekvan fenestron, transiru al plano kun pli da vokoj, aŭ elektu modelon, kiu estas kalkulata per tokenoj.
429 kun Quota exceeded Via saldo ne kovras la peton. Aldonu kreditaĵon, aŭ atendu la ĉiutagan kvoton de via plano je 00:00 UTC.
400 kun prompt is too long La konversacio estas pli granda ol la kunteksta fenestro de la modelo. Kompaktigu la sesion (/compact en ambaŭ iloj). Diru al la ilo la kuntekstan fenestron de la modelo, por ke ĝi kompaktigu pli frue.
Claude Code montras proksimumajn nombrojn de kunteksto /v1/messages/count_tokens kalkulas por la gastigitaj malfermpezaj modeloj. Kun Shannon-id ĝi respondas 400, kaj Claude Code mem taksas la grandon. Nenio riparenda. Elektu gastigitan malfermpezan modelon, se vi volas precizajn kalkulojn.
Algluita ekrankopio ne estas konsiderata shannon-coder-1 akceptas tekstan enigon. Elektu modelon, kiu akceptas bildojn, por tiu sesio.

Via ŝlosilo kaj via saldo estas en la paĝo Keys & usage. Ŝlosiloj kaj uzado