CLI alati za kodiranje
NovoKoristite Shannon kao model iza Claude Code, Codex CLI i drugih agentskih CLI alata.
Alatu za kodiranje trebaju tri postavke da bi radio sa Shannonom: osnovni URL API-ja, vaš API ključ i Shannon id modela. Ova stranica daje tačne postavke za Claude Code i Codex CLI, objašnjava kako se broji model za kodiranje shannon-coder-1 i navodi greške na koje ovi alati nailaze.
Koji endpoint koristi koji alat
| Alat | Endpoint | Osnovni URL za postavljanje | Napomena |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | Alat sam dodaje /v1/messages na osnovni URL. |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | Alat dodaje /responses na osnovni URL. |
| Ostali agentski alati koji govore OpenAI chat format | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Postavite osnovni URL, ključ i Shannon id modela u vlastitim postavkama alata. |
Sva tri endpointa primaju isti API ključ, kao Authorization: Bearer ili kao x-api-key. Zaglavlja anthropic-version, anthropic-beta i openai-beta koja ovi alati šalju se prihvataju.
Odaberite Shannon model
Svaki zahtjev mora navesti id modela koji Shannon objavljuje. Alat za kodiranje šalje ime vlastitog zadanog modela osim ako mu ne kažete drugačije, a na ime koje Shannon ne objavljuje odgovara se s 400 i porukom unknown model: <name>. Nijedno drugo ime se ne preslikava u Shannon model, zato postavite model u alatu prije prvog zahtjeva.
GET /v1/models navodi svaki id s njegovim kontekstnim prozorom. Ne treba ključ. Modeli i cijene
| Model | Broji se kao | Šta donosi |
|---|---|---|
shannon-coder-1 | Jedan poziv po zahtjevu na /v1/messages i /v1/chat/completions. Tokeni na /v1/responses. | Model za kodiranje. Tekstualni ulaz, pozivi alata, kontekstni prozor od 131,072 tokena. |
shannon-1.6-liteshannon-1.6-pro | Tokeni s vašeg stanja. | Opći modeli s pozivima alata. shannon-1.6-lite odgovara kratkim pozadinskim zahtjevima koje alat pravi. |
| Hostirani open-weight modeli | Tokeni s vašeg stanja, uz keširani ulaz po 25% cijene ulaza. | Pozivi alata, keširanje promptova za duge sesije i tačna brojanja iz /v1/messages/count_tokens. |
Alati za kodiranje usmjeravaju model dugim system promptom. System prompt primjenjuju shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro i hostirani open-weight modeli, pa za alat za kodiranje odaberite jedan od njih.
Claude Code
Claude Code čita svoju vezu iz varijabli okruženja. Postavite ih u shellu koji ga pokreće, ili u bloku env u ~/.claude/settings.json da ih zadržite za svaku sesiju.
# 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"
}
} | Varijabla | Opis |
|---|---|
ANTHROPIC_BASE_URL | Kamo Claude Code šalje svoje zahtjeve. Koristite adresu bez /v1. |
ANTHROPIC_AUTH_TOKEN | Vaš Shannon API ključ, poslan kao Authorization: Bearer. ANTHROPIC_API_KEY također radi: šalje ključ kao x-api-key, a Claude Code jednom traži da ga odobrite. |
ANTHROPIC_MODEL | Model sesije. claude --model <id> i /model <id> postavljaju istu stvar. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Model za pozadinske zahtjeve kao što su naslovi sesija i za sve što traži haiku. |
ANTHROPIC_DEFAULT_SONNET_MODEL | Model koji se koristi kada subagent ili komanda traži sonnet. |
ANTHROPIC_DEFAULT_OPUS_MODEL | Model koji se koristi kada subagent ili komanda traži opus. |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | Kontekstni prozor koji Claude Code pretpostavlja za model. Koristite context_window koji GET /v1/models prijavljuje za id koji ste odabrali. |
- Postavite sve tri varijable
ANTHROPIC_DEFAULT_…_MODEL. Subagenti i neke komande traže model po njegovom ugrađenom imenu, a svako ime mora se razriješiti u Shannon id. - Primjer usmjerava pozadinske zahtjeve na
shannon-1.6-lite, koji se broji u tokenima. Naslovi sesija i slični zahtjevi tada ne troše Coder pozive. - Claude Code traži od
POST /v1/messages/count_tokensveličinu konteksta. Endpoint broji za hostirane open-weight modele. Sa Shannon idom odgovara400; Claude Code smatra brojanje tokena opcionalnim i sam procjenjuje veličinu. Brojanje tokena
Da provjerite adresu, ključ i id modela prije pokretanja alata, pošaljite jedan zahtjev ručno:
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 komunicira s Responses API-jem. Opišite Shannon kao provider modela u ~/.codex/config.toml, tamo odaberite Shannon id modela i stavite svoj API ključ u varijablu okruženja koju provider imenuje.
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 | Ključ | Opis |
|---|---|
model | Shannon id modela. codex --model <id> ga postavlja za jedno pokretanje. |
model_provider | Ime bloka providera koji se koristi, ovdje shannon. |
base_url | Adresa API-ja sa /v1. |
env_key | Ime varijable okruženja koja sadrži vaš Shannon API ključ. |
wire_api | responses: Codex komunicira s POST /v1/responses. |
model_context_window | Kontekstni prozor modela, da Codex na vrijeme sažme dugu sesiju. Koristite context_window koji prijavljuje GET /v1/models. |
/v1/responsesne čuva razgovor na serveru: svaki zahtjev nosi razgovor uinput.previous_response_idse prihvata zbog kompatibilnosti.- Alati-funkcije (
type: "function") nude se modelu na/v1/responses. - Na
/v1/responses,shannon-coder-1se broji u tokenima s vašeg stanja, a ne u Coder pozivima.
Ista provjera za Responses endpoint:
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."
}' Model za kodiranje i kako se broji
shannon-coder-1 je Shannon model za agente za kodiranje. GET /v1/models ga prijavljuje s kontekstnim prozorom od 131,072 tokena, pozivima alata, reasoningom i tekstualnim ulazom. Broji se na jedan od dva načina, ovisno o endpointu koji alat koristi.
| Endpoint | Zahtjev košta | Uzima se iz |
|---|---|---|
/v1/messages | 1 poziv po zahtjevu | Kvota Coder poziva vašeg plana. Nijedan token se ne uzima s vašeg stanja. |
/v1/chat/completions | 1 poziv po zahtjevu | Kvota Coder poziva vašeg plana. Nijedan token se ne uzima s vašeg stanja. |
/v1/responses | Tokeni, po $8.00 za 1M | Vaše stanje, kao i svaki drugi model. Kvota poziva se ne koristi. |
Poziv je jedan zahtjev, bez obzira na veličinu. Broji se kada se zahtjev prihvati, prije nego što model odgovori. Sesija agenta šalje jedan zahtjev za svaki korak, pa dug zadatak troši mnogo poziva. Kvota ovisi o vašem planu i počinje ponovo svaka 4 sata, u 00:00, 04:00, 08:00, 12:00, 16:00 i 20:00 UTC.
| Plan | Poziva po 4-satnom prozoru |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Stranica plana prikazuje trenutne brojeve. Planovi
Kada se pozivi prozora potroše, na zahtjev se odgovara s 429. Na /v1/messages ista greška dolazi u Anthropic obliku.
{
"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"
}
} Prelijevanje konteksta
Kada je razgovor veći od kontekstnog prozora modela, /v1/chat/completions i /v1/messages odgovaraju s 400, tipom invalid_request_error, kodom context_length_exceeded i porukom koja počinje s prompt is too long. Alati za kodiranje čitaju ovu grešku da sažmu sesiju i ponovo pošalju zahtjev. Proizvode je shannon-coder-1, shannon-1.6-lite i 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
}
} Poruka je prompt is too long: <sent> tokens > <limit> maximum. Kada dva broja nisu poznata, poruka je prompt is too long. Please compact the conversation and try again.
Na streamu je status već 200, pa greška stiže kao događaj, a stream se zatim zatvara na uobičajen način:
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"} Na šta se petlja agenta može osloniti
| Tema | Ponašanje |
|---|---|
| Šeme alata | Definicije alata se preuzimaju onako kako ih alat šalje. Na shannon-coder-1 i shannon-1.6-*, ključne riječi JSON Schema koje model ne koristi, kao što su $schema, $ref, additionalProperties, default i title, izostavljaju se iz onoga što model čita, a oneOf se čita kao anyOf. Zbog njih se nijedan zahtjev ne odbija. |
| Argumenti poziva alata | U streamu, argumenti poziva alata stižu kompletni u jednoj delti: tool_calls[].function.arguments, input_json_delta.partial_json ili response.function_call_arguments.delta. |
| Kraj kruga alata | finish_reason: "tool_calls" na Chat Completions, stop_reason: "tool_use" na Messages. |
| Keep-alive | Dok model radi, /v1/messages šalje event: ping, a /v1/chat/completions šalje liniju komentara : ping svakih 15 sekundi. |
| Zaustavljanje zahtjeva | Zatvaranje veze zaustavlja stream. Sam krug se izvršava do kraja i broji se. |
Rješavanje problema
| Simptom | Uzrok | Rješenje |
|---|---|---|
400 s unknown model: claude-… ili unknown model: gpt-… | Alat je poslao ime vlastitog zadanog modela. Poslužuju se samo objavljeni Shannon idovi, a nijedno drugo ime se ne preslikava u njih. | Odaberite Shannon id: ANTHROPIC_MODEL i tri varijable ANTHROPIC_DEFAULT_…_MODEL u Claude Code, model u Codex konfiguraciji. |
400 s unknown model: bez imena, iz Codex CLI | Zahtjev nije naveo nijedan model. /v1/responses ga traži. | Postavite model u ~/.codex/config.toml ili proslijedite --model. |
401 s Missing authentication ili Invalid API key | Ključ nije stigao do API-ja, ili nije trenutni ključ. Shannon ključ počinje s sk-. | Provjerite je li varijabla postavljena u shellu koji pokreće alat. Ponovo kopirajte ključ sa stranice Ključevi i korištenje. |
404 na svaki zahtjev | Osnovni URL ima jedno /v1 previše ili premalo za alat. | Claude Code: adresa bez /v1. Codex CLI: adresa sa /v1. |
429 s Shannon Coder call quota reached | Coder pozivi trenutnog 4-satnog prozora su potrošeni. | Pričekajte sljedeći prozor, pređite na plan s više poziva ili odaberite model koji se broji u tokenima. |
429 s Quota exceeded | Vaše stanje ne pokriva zahtjev. | Dodajte kredit ili pričekajte dnevnu kvotu svog plana u 00:00 UTC. |
400 s prompt is too long | Razgovor je veći od kontekstnog prozora modela. | Sažmite sesiju (/compact u oba alata). Recite alatu kontekstni prozor modela da sažima ranije. |
| Claude Code prikazuje približne brojeve konteksta | /v1/messages/count_tokens broji za hostirane open-weight modele. Sa Shannon idom odgovara 400, a Claude Code sam procjenjuje veličinu. | Nema šta popravljati. Odaberite hostirani open-weight model ako želite tačna brojanja. |
| Zalijepljeni snimak ekrana se ne uzima u obzir | shannon-coder-1 prima tekstualni ulaz. | Za tu sesiju odaberite model koji prima slike. |
Vaš ključ i vaše stanje su na stranici Ključevi i korištenje. Ključevi i korištenje