Mjete CLI për kodim
E rePërdorni Shannon si modelin pas Claude Code, Codex CLI dhe CLI-ve të tjera të agjentëve.
Një mjet kodimi ka nevojë për tri cilësime për të punuar me Shannon: URL-në bazë të API-t, çelësin tuaj API dhe një id modeli Shannon. Kjo faqe jep cilësimet e sakta për Claude Code dhe Codex CLI, shpjegon si numërohet modeli i kodimit shannon-coder-1 dhe liston gabimet që has në këto mjete.
Cilin endpoint përdor çdo mjet
| Mjeti | Endpoint | URL bazë për t'u vendosur | Shënim |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Mjeti e shton vetë /v1/messages te URL-ja bazë. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Mjeti e shton /responses te URL-ja bazë. |
| Mjete të tjera agjentësh që flasin formatin e bisedës OpenAI | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Vendosni URL-në bazë, çelësin dhe një id modeli Shannon në cilësimet e vetë mjetit. |
Të tri endpoint-et pranojnë të njëjtin çelës API, si Authorization: Bearer ose si x-api-key. Header-at anthropic-version, anthropic-beta dhe openai-beta që dërgojnë këto mjete pranohen.
Zgjidhni një model Shannon
Çdo kërkesë duhet të emërtojë një id modeli që Shannon e publikon. Një mjet kodimi dërgon emrin e modelit të vet të parazgjedhur përveç nëse i thoni ndryshe, dhe një emër që Shannon nuk e publikon merr përgjigje 400 dhe mesazhin unknown model: <name>. Asnjë emër tjetër nuk lidhet me një model Shannon, prandaj caktojeni modelin te mjeti para kërkesës së parë.
GET /v1/models liston çdo id me dritaren e kontekstit. Nuk kërkon çelës. Modelet dhe çmimet
| Modeli | Numërohet si | Çfarë sjell |
|---|---|---|
shannon-coder-1 | Një thirrje për kërkesë në /v1/messages dhe /v1/chat/completions. Tokens në /v1/responses. | Modeli i kodimit. Hyrje teksti, thirrje mjetesh, dritare konteksti 131,072 tokens. |
shannon-1.6-liteshannon-1.6-pro | Tokens nga bilanci juaj. | Modele të përgjithshme me thirrje mjetesh. shannon-1.6-lite i përshtatet kërkesave të shkurtra në sfond që bën një mjet. |
| Modele open-weight të hostuara | Tokens nga bilanci juaj, me hyrjen e ruajtur në cache me 25% të çmimit të hyrjes. | Thirrje mjetesh, caching i prompt-it për sesione të gjata dhe numërime të sakta nga /v1/messages/count_tokens. |
Mjetet e kodimit e drejtojnë modelin me një system prompt të gjatë. System prompt-in e zbatojnë shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro dhe modelet open-weight të hostuara, prandaj zgjidhni një prej tyre për një mjet kodimi.
Claude Code
Claude Code e lexon lidhjen e vet nga variablat e mjedisit. Vendosini në shell-in që e nis, ose në bllokun env të ~/.claude/settings.json për t'i mbajtur për çdo sesion.
# 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"
}
} | Variabla | Përshkrimi |
|---|---|
ANTHROPIC_BASE_URL | Ku i dërgon Claude Code kërkesat e tij. Përdorni adresën pa /v1. |
ANTHROPIC_AUTH_TOKEN | Çelësi juaj Shannon API, i dërguar si Authorization: Bearer. Funksionon edhe ANTHROPIC_API_KEY: e dërgon çelësin si x-api-key, dhe Claude Code kërkon një herë ta miratoni. |
ANTHROPIC_MODEL | Modeli i sesionit. claude --model <id> dhe /model <id> caktojnë të njëjtën gjë. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Modeli për kërkesat në sfond, si titujt e sesioneve, dhe për çdo gjë që kërkon haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Modeli që përdoret kur një subagent ose një komandë kërkon sonnet. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Modeli që përdoret kur një subagent ose një komandë kërkon opus. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Dritarja e kontekstit që Claude Code supozon për modelin. Përdorni context_window që GET /v1/models raporton për id-në që zgjodhët. |
- Vendosni të tri variablat
ANTHROPIC_DEFAULT_…_MODEL. Subagentët dhe disa komanda kërkojnë një model me emrin e tij të integruar, dhe çdo emër duhet të zgjidhet në një id Shannon. - Shembulli i drejton kërkesat në sfond te
shannon-1.6-lite, i cili numërohet në tokens. Titujt e sesioneve dhe kërkesat e ngjashme pastaj nuk përdorin thirrje Coder. - Claude Code i kërkon
POST /v1/messages/count_tokensmadhësinë e kontekstit. Endpoint-i numëron për modelet open-weight të hostuara. Me një id Shannon përgjigjet400; Claude Code e trajton numërimin e tokens-ave si opsional dhe e vlerëson vetë madhësinë. Numërimi i tokens-ave
Për të kontrolluar adresën, çelësin dhe një id modeli para se ta nisni mjetin, dërgoni një kërkesë me dorë:
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 komunikon me Responses API. Përshkruajeni Shannon si ofrues modelesh te ~/.codex/config.toml, zgjidhni aty një id modeli Shannon, dhe vendoseni çelësin tuaj API te variabla e mjedisit që emërton ofruesi.
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 | Çelësi | Përshkrimi |
|---|---|
model | Id-ja e modelit Shannon. codex --model <id> e cakton për një ekzekutim. |
model_provider | Emri i bllokut të ofruesit që do të përdoret, këtu shannon. |
base_url | Adresa e API-t me /v1. |
env_key | Emri i variablës së mjedisit që mban çelësin tuaj Shannon API. |
wire_api | responses: Codex komunikon me POST /v1/responses. |
model_context_window | Dritarja e kontekstit e modelit, që Codex ta kompaktojë në kohë një sesion të gjatë. Përdorni context_window që raporton GET /v1/models. |
/v1/responsesnuk mban bisedë në server: çdo kërkesë e mban bisedën teinput.previous_response_idpranohet për pajtueshmëri.- Mjetet funksion (
type: "function") i ofrohen modelit në/v1/responses. - Në
/v1/responses,shannon-coder-1numërohet në tokens nga bilanci juaj, jo në thirrje Coder.
I njëjti kontroll për endpoint-in 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."
}' Modeli i kodimit dhe si numërohet
shannon-coder-1 është modeli Shannon për agjentët e kodimit. GET /v1/models e raporton me dritare konteksti 131,072 tokens, thirrje mjetesh, arsyetim dhe hyrje teksti. Numërohet në një nga dy mënyrat, sipas endpoint-it që përdor një mjet.
| Endpoint | Një kërkesë kushton | Merret nga |
|---|---|---|
/v1/messages | 1 thirrje për kërkesë | Kuota e thirrjeve Coder e planit tuaj. Nga bilanci juaj nuk merren tokens. |
/v1/chat/completions | 1 thirrje për kërkesë | Kuota e thirrjeve Coder e planit tuaj. Nga bilanci juaj nuk merren tokens. |
/v1/responses | Tokens, me $8.00 për 1M | Bilanci juaj, si çdo model tjetër. Kuota e thirrjeve nuk përdoret. |
Një thirrje është një kërkesë, sado e madhe qoftë. Numërohet kur kërkesa pranohet, para se modeli të përgjigjet. Një sesion agjenti dërgon një kërkesë për çdo hap që ndërmerr, kështu që një detyrë e gjatë përdor shumë thirrje. Kuota varet nga plani juaj dhe rifillon çdo 4 orë, në 00:00, 04:00, 08:00, 12:00, 16:00 dhe 20:00 UTC.
| Plani | Thirrje për dritare 4-orëshe |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Faqja e planeve tregon numrat aktualë. Planet
Kur thirrjet e një dritareje shterojnë, kërkesa merr përgjigje 429. Në /v1/messages i njëjti gabim vjen në formën 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"
}
} Tejkalimi i kontekstit
Kur një bisedë është më e madhe se dritarja e kontekstit të modelit, /v1/chat/completions dhe /v1/messages përgjigjen me 400, llojin invalid_request_error, kodin context_length_exceeded dhe një mesazh që fillon me prompt is too long. Mjetet e kodimit e lexojnë këtë gabim për ta kompaktuar sesionin dhe për ta dërguar kërkesën përsëri. Prodhohet nga shannon-coder-1, shannon-1.6-lite dhe 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
}
} Mesazhi është prompt is too long: <sent> tokens > <limit> maximum. Kur dy numrat nuk dihen, është prompt is too long. Please compact the conversation and try again.
Në një stream statusi është tashmë 200, prandaj gabimi arrin si ngjarje dhe stream-i pastaj mbyllet në mënyrën normale:
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"} Çfarë mund të mbështesë një cikël agjenti
| Tema | Sjellja |
|---|---|
| Skemat e mjeteve | Përkufizimet e mjeteve merren siç i dërgon mjeti. Te shannon-coder-1 dhe shannon-1.6-*, fjalët kyçe JSON Schema që modeli nuk i përdor, si $schema, $ref, additionalProperties, default dhe title, lihen jashtë asaj që lexon modeli, dhe oneOf lexohet si anyOf. Asnjë kërkesë nuk refuzohet për to. |
| Argumentet e thirrjes së mjetit | Në një stream, argumentet e një thirrjeje mjeti arrijnë të plota në një delta: tool_calls[].function.arguments, input_json_delta.partial_json ose response.function_call_arguments.delta. |
| Fundi i një radhe mjetesh | finish_reason: "tool_calls" te Chat Completions, stop_reason: "tool_use" te Messages. |
| Keep-alive | Ndërsa modeli punon, /v1/messages dërgon event: ping dhe /v1/chat/completions dërgon një rresht komenti : ping çdo 15 sekonda. |
| Ndalimi i një kërkese | Mbyllja e lidhjes e ndalon stream-in. Vetë radha ekzekutohet deri në fund dhe numërohet. |
Zgjidhja e problemeve
| Simptoma | Shkaku | Zgjidhja |
|---|---|---|
400 me unknown model: claude-… ose unknown model: gpt-… | Mjeti dërgoi emrin e modelit të vet të parazgjedhur. Shërbehen vetëm id-të e publikuara të Shannon, dhe asnjë emër tjetër nuk lidhet me një prej tyre. | Zgjidhni një id Shannon: ANTHROPIC_MODEL dhe tri variablat ANTHROPIC_DEFAULT_…_MODEL te Claude Code, model te konfigurimi i Codex. |
400 me unknown model: dhe pa emër, nga Codex CLI | Kërkesa nuk emërtoi asnjë model. /v1/responses ka nevojë për një. | Caktoni model te ~/.codex/config.toml ose jepni --model. |
401 me Missing authentication ose Invalid API key | Çelësi nuk arriti te API-ja, ose nuk është çelës aktual. Një çelës Shannon fillon me sk-. | Kontrolloni që variabla është vendosur në shell-in që e nis mjetin. Kopjojeni çelësin përsëri nga Çelësat dhe përdorimi. |
404 në çdo kërkesë | URL-ja bazë ka një /v1 më shumë ose më pak se sa duhet për mjetin. | Claude Code: adresa pa /v1. Codex CLI: adresa me /v1. |
429 me Shannon Coder call quota reached | Thirrjet Coder të dritares aktuale 4-orëshe janë shfrytëzuar. | Prisni dritaren tjetër, kaloni në një plan me më shumë thirrje, ose zgjidhni një model që numërohet në tokens. |
429 me Quota exceeded | Bilanci juaj nuk e mbulon kërkesën. | Shtoni kredi, ose prisni kuotën ditore të planit tuaj në 00:00 UTC. |
400 me prompt is too long | Biseda është më e madhe se dritarja e kontekstit të modelit. | Kompaktoni sesionin (/compact në të dy mjetet). Tregojini mjetit dritaren e kontekstit të modelit që ta kompaktojë më herët. |
| Claude Code tregon numra të përafërt për kontekstin | /v1/messages/count_tokens numëron për modelet open-weight të hostuara. Me një id Shannon përgjigjet 400, dhe Claude Code e vlerëson vetë madhësinë. | Nuk ka çfarë të rregullohet. Zgjidhni një model open-weight të hostuar nëse dëshironi numërime të sakta. |
| Një pamje ekrani e ngjitur nuk merret parasysh | shannon-coder-1 pranon hyrje teksti. | Zgjidhni për atë sesion një model që pranon imazhe. |
Çelësi dhe bilanci juaj gjenden në faqen Çelësat dhe përdorimi. Çelësat dhe përdorimi