CLI-iloj por programado
NovaUzu 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/messagesPOST /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-liteshannon-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 {
"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"
}
} | 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_tokensla grandon de la kunteksto. La endpoint kalkulas por la gastigitaj malfermpezaj modeloj. Kun Shannon-id ĝi respondas400; 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 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.
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 | Ŝ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/responsesne tenas konversacion sur la servilo: ĉiu peto portas la konversacion eninput.previous_response_idestas akceptata pro kongrueco.- Funkciaj iloj (
type: "function") estas proponataj al la modelo ĉe/v1/responses. - Ĉe
/v1/responsesshannon-coder-1estas kalkulata en tokenoj el via saldo, ne en vokoj de Coder.
La sama kontrolo por la endpoint Responses:
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.
{
"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"
}
} 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.
{
"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
}
} 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:
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"} 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