CLI kódoló eszközök
ÚjHasználd a Shannont a Claude Code, a Codex CLI és más agent CLI-k mögötti modellként.
Egy kódoló eszköznek három beállítás kell, hogy a Shannonnal működjön: az API alap URL-je, az API-kulcsod és egy Shannon modellazonosító. Ez az oldal megadja a pontos beállításokat a Claude Code-hoz és a Codex CLI-hez, elmagyarázza, hogyan számít a shannon-coder-1 kódoló modell, és felsorolja azokat a hibákat, amelyekkel ezek az eszközök találkoznak.
Melyik eszköz melyik végpontot használja
| Eszköz | Végpont | Beállítandó alap URL | Megjegyzés |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Az eszköz maga fűzi hozzá a /v1/messages útvonalat az alap URL-hez. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Az eszköz hozzáfűzi a /responses útvonalat az alap URL-hez. |
| Más agent eszközök, amelyek az OpenAI chat formátumot beszélik | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Állítsd be az alap URL-t, a kulcsot és egy Shannon modellazonosítót az eszköz saját beállításaiban. |
Mindhárom végpont ugyanazt az API-kulcsot fogadja, Authorization: Bearer vagy x-api-key fejlécként. Az anthropic-version, anthropic-beta és openai-beta fejléceket, amelyeket ezek az eszközök küldenek, elfogadja a rendszer.
Shannon modell kiválasztása
Minden kérésnek meg kell neveznie egy olyan modellazonosítót, amelyet a Shannon közzétesz. A kódoló eszköz a saját alapértelmezett modelljének nevét küldi, hacsak nem mondod meg neki másképp, és a Shannon által nem közzétett névre 400 a válasz unknown model: <name> üzenettel. Más nevet nem képez le Shannon modellre, ezért az első kérés előtt állítsd be a modellt az eszközben.
A GET /v1/models minden azonosítót felsorol a kontextusablakával. Nem kell hozzá kulcs. Modellek és árak
| Modell | Így számít | Mit nyújt |
|---|---|---|
shannon-coder-1 | Egy hívás kérésenként a /v1/messages és /v1/chat/completions végponton. Token a /v1/responses végponton. | A kódoló modell. Szövegbemenet, eszközhívások, 131,072 tokenes kontextusablak. |
shannon-1.6-liteshannon-1.6-pro | Token az egyenlegedből. | Általános modellek eszközhívásokkal. A shannon-1.6-lite az eszköz rövid háttérkéréseihez való. |
| Hosztolt nyílt súlyú modellek | Token az egyenlegedből, a gyorsítótárazott bemenet a bemeneti ár 25%-án. | Eszközhívások, prompt-gyorsítótárazás hosszú munkamenetekhez, és pontos számok a /v1/messages/count_tokens végpontról. |
A kódoló eszközök hosszú rendszerprompttal irányítják a modellt. A rendszerpromptot a shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro és a hosztolt nyílt súlyú modellek alkalmazzák, ezért kódoló eszközhöz ezek egyikét válaszd.
Claude Code
A Claude Code a kapcsolatát környezeti változókból olvassa. Állítsd be őket abban a shellben, amely elindítja, vagy a ~/.claude/settings.json env blokkjában, hogy minden munkamenetre megmaradjanak.
# 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"
}
} | Változó | Leírás |
|---|---|
ANTHROPIC_BASE_URL | Ahová a Claude Code a kéréseit küldi. Használd a címet /v1 nélkül. |
ANTHROPIC_AUTH_TOKEN | A Shannon API-kulcsod, Authorization: Bearer fejlécként küldve. Az ANTHROPIC_API_KEY is működik: a kulcsot x-api-key fejlécként küldi, és a Claude Code egyszer jóváhagyást kér. |
ANTHROPIC_MODEL | A munkamenet modellje. A claude --model <id> és a /model <id> ugyanezt állítja be. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | A háttérkérések modellje, például munkamenetcímekhez, és mindenhez, ami haiku-t kér. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Az a modell, amelyet akkor használ, ha egy subagent vagy parancs sonnet-et kér. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Az a modell, amelyet akkor használ, ha egy subagent vagy parancs opus-t kér. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | A kontextusablak, amelyet a Claude Code a modellre feltételez. Használd a context_window értéket, amelyet a GET /v1/models a kiválasztott azonosítóra jelent. |
- Állítsd be mindhárom
ANTHROPIC_DEFAULT_…_MODELváltozót. A subagentek és egyes parancsok a beépített nevén kérnek modellt, és minden névnek Shannon azonosítóra kell feloldódnia. - A minta a háttérkéréseket a
shannon-1.6-litemodellre irányítja, amely tokenben számít. A munkamenetcímek és hasonló kérések így nem használnak Coder hívást. - A Claude Code a
POST /v1/messages/count_tokensvégponttól kérdezi a kontextus méretét. A végpont a hosztolt nyílt súlyú modelleknél számol. Shannon azonosítóval400a válasz; a Claude Code a tokenszámlálást opcionálisnak tekinti, és maga becsüli a méretet. Tokenszámlálás
A cím, a kulcs és a modellazonosító ellenőrzéséhez az eszköz indítása előtt küldj egy kérést kézzel:
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
A Codex CLI a Responses API-val beszél. Írd le a Shannont modellszolgáltatóként a ~/.codex/config.toml fájlban, válassz ott egy Shannon modellazonosítót, és tedd az API-kulcsodat a szolgáltató által megnevezett környezeti változóba.
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 | Kulcs | Leírás |
|---|---|
model | A Shannon modellazonosító. A codex --model <id> egy futásra állítja be. |
model_provider | A használandó provider blokk neve, itt shannon. |
base_url | Az API címe /v1 utótaggal. |
env_key | A környezeti változó neve, amely a Shannon API-kulcsodat tartalmazza. |
wire_api | responses: a Codex a POST /v1/responses végponttal beszél. |
model_context_window | A modell kontextusablaka, hogy a Codex időben tömörítse a hosszú munkamenetet. Használd a context_window értéket, amelyet a GET /v1/models jelent. |
- A
/v1/responsesnem tart fenn beszélgetést a szerveren: minden kérés azinputmezőben viszi a beszélgetést. Aprevious_response_idkompatibilitás miatt elfogadott. - A függvényeszközöket (
type: "function") a/v1/responsesfelkínálja a modellnek. - A
/v1/responsesvégponton ashannon-coder-1az egyenlegedből tokenben számít, nem Coder hívásban.
Ugyanez az ellenőrzés a Responses végpontra:
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."
}' A kódoló modell és számítása
A shannon-coder-1 a Shannon modell kódoló agentekhez. A GET /v1/models 131,072 tokenes kontextusablakkal, eszközhívásokkal, reasoninggel és szövegbemenettel jelzi. Kétféleképpen számít, attól függően, melyik végpontot használja az eszköz.
| Végpont | Egy kérés költsége | Ebből vonódik le |
|---|---|---|
/v1/messages | 1 hívás kérésenként | A csomagod Coder híváskerete. Az egyenlegedből nem vonnak le tokent. |
/v1/chat/completions | 1 hívás kérésenként | A csomagod Coder híváskerete. Az egyenlegedből nem vonnak le tokent. |
/v1/responses | Token, $8.00 / 1M áron | Az egyenleged, mint bármelyik másik modellnél. A hívásszámkeretet nem használja. |
A hívás egy kérés, méretétől függetlenül. A kérés elfogadásakor számít, még a modell válasza előtt. Az agent munkamenet minden lépéshez egy kérést küld, ezért egy hosszú feladat sok hívást használ. A keret a csomagodtól függ, és 4 óránként újraindul: 00:00, 04:00, 08:00, 12:00, 16:00 és 20:00 UTC-kor.
| Csomag | Hívás 4 órás ablakonként |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
A csomagok oldala mutatja az aktuális számokat. Csomagok
Ha egy ablak hívásai elfogytak, a kérésre 429 a válasz. A /v1/messages végponton ugyanez a hiba Anthropic alakban jön.
{
"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"
}
} Kontextus-túlcsordulás
Ha a beszélgetés nagyobb a modell kontextusablakánál, a /v1/chat/completions és a /v1/messages 400 hibával válaszol, invalid_request_error típussal, context_length_exceeded kóddal és prompt is too long kezdetű üzenettel. A kódoló eszközök ebből a hibából tudják, hogy tömöríteniük kell a munkamenetet, és újra elküldik a kérést. A shannon-coder-1, shannon-1.6-lite és shannon-1.6-pro adja.
{
"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
}
} Az üzenet prompt is too long: <sent> tokens > <limit> maximum. Ha a két szám nem ismert, prompt is too long. Please compact the conversation and try again.
Streamnél a státusz már 200, ezért a hiba eseményként érkezik, majd a stream a szokásos módon lezárul:
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"} Amire egy agent ciklus számíthat
| Téma | Viselkedés |
|---|---|
| Eszközsémák | Az eszközdefiníciókat úgy veszi át a rendszer, ahogy az eszköz küldi. A shannon-coder-1 és a shannon-1.6-* modelleken a modell által nem használt JSON Schema kulcsszavak, például a $schema, $ref, additionalProperties, default és title, kimaradnak abból, amit a modell olvas, az oneOf pedig anyOf-ként értelmeződik. Emiatt egyetlen kérést sem utasít el a rendszer. |
| Eszközhívás-argumentumok | Streamben az eszközhívás argumentumai egyetlen deltában, teljesen érkeznek: tool_calls[].function.arguments, input_json_delta.partial_json vagy response.function_call_arguments.delta. |
| Az eszközkör vége | finish_reason: "tool_calls" a Chat Completionsben, stop_reason: "tool_use" a Messagesben. |
| Keep-alive | Amíg a modell dolgozik, a /v1/messages event: ping, a /v1/chat/completions pedig : ping megjegyzéssort küld 15 másodpercenként. |
| Kérés leállítása | A kapcsolat lezárása leállítja a streamet. Maga a kör a végéig fut, és beszámít. |
Hibaelhárítás
| Tünet | Ok | Megoldás |
|---|---|---|
400 unknown model: claude-… vagy unknown model: gpt-… üzenettel | Az eszköz a saját alapértelmezett modelljének nevét küldte. Csak a közzétett Shannon azonosítókat szolgálja ki a rendszer, és más nevet nem képez le egyikre sem. | Válassz Shannon azonosítót: a Claude Code-ban az ANTHROPIC_MODEL és a három ANTHROPIC_DEFAULT_…_MODEL változó, a Codex konfigurációjában a model. |
400 unknown model: üzenettel és név nélkül, a Codex CLI-ből | A kérés nem nevezett meg modellt. A /v1/responses végponthoz kell egy. | Állítsd be a model értéket a ~/.codex/config.toml fájlban, vagy add meg a --model kapcsolót. |
401 Missing authentication vagy Invalid API key üzenettel | A kulcs nem jutott el az API-hoz, vagy nem jelenlegi kulcs. A Shannon kulcs sk- előtaggal kezdődik. | Ellenőrizd, hogy a változó be van állítva abban a shellben, amely az eszközt indítja. Másold újra a kulcsot a Keys & usage oldalról. |
404 minden kérésnél | Az alap URL-ben eggyel több vagy kevesebb /v1 van, mint az eszköznek kell. | Claude Code: a cím /v1 nélkül. Codex CLI: a cím /v1 utótaggal. |
429 Shannon Coder call quota reached üzenettel | Az aktuális 4 órás ablak Coder hívásai elfogytak. | Várd meg a következő ablakot, válts több hívást adó csomagra, vagy válassz tokenben számított modellt. |
429 Quota exceeded üzenettel | Az egyenleged nem fedezi a kérést. | Tölts fel kreditet, vagy várd meg a csomagod napi keretét 00:00 UTC-kor. |
400 prompt is too long üzenettel | A beszélgetés nagyobb a modell kontextusablakánál. | Tömörítsd a munkamenetet (/compact mindkét eszközben). Add meg az eszköznek a modell kontextusablakát, hogy korábban tömörítsen. |
| A Claude Code hozzávetőleges kontextusszámokat mutat | A /v1/messages/count_tokens a hosztolt nyílt súlyú modelleknél számol. Shannon azonosítóval 400 a válasz, és a Claude Code maga becsüli a méretet. | Nincs mit javítani. Ha pontos számokat szeretnél, válassz hosztolt nyílt súlyú modellt. |
| A beillesztett képernyőképet nem veszi figyelembe | A shannon-coder-1 szövegbemenetet fogad. | Arra a munkamenetre válassz képet fogadó modellt. |
A kulcsod és az egyenleged a Keys & usage oldalon van. Keys & usage