CLI alati za programiranje
NovoKoristite Shannon kao model iza Claude Code, Codex CLI i drugih agentskih CLI alata.
Alatu za programiranje trebaju tri podešavanja da radi sa Shannonom: osnovni URL API-ja, vaš API ključ i id Shannon modela. Ova stranica daje tačna podešavanja za Claude Code i Codex CLI, objašnjava kako se računa model za programiranje shannon-coder-1 i navodi greške na koje ovi alati nailaze.
Koji endpoint koristi koji alat
| Alat | Endpoint | Osnovni URL za podešavanje | 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. |
| Drugi agentski alati koji govore OpenAI čet format | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | Postavite osnovni URL, ključ i id Shannon modela u podešavanjima samog 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.
Izaberite Shannon model
Svaki zahtev mora da navede id modela koji Shannon objavljuje. Alat za programiranje šalje ime sopstvenog podrazumevanog modela osim ako mu ne kažete drugačije, a na ime koje Shannon ne objavljuje odgovara se sa 400 i porukom unknown model: <name>. Nijedno drugo ime se ne preslikava u Shannon model, zato postavite model u alatu pre prvog zahteva.
GET /v1/models navodi svaki id sa kontekstnim prozorom. Ne traži ključ. Modeli i cene
| Model | Računa se kao | Šta donosi |
|---|---|---|
shannon-coder-1 | Jedan poziv po zahtevu na /v1/messages i /v1/chat/completions. Tokeni na /v1/responses. | Model za programiranje. Tekst na ulazu, pozivi alata, kontekstni prozor od 131,072 tokena. |
shannon-1.6-liteshannon-1.6-pro | Tokeni sa vašeg stanja. | Opšti modeli sa pozivima alata. shannon-1.6-lite odgovara kratkim pozadinskim zahtevima koje alat šalje. |
| Hostovani open-weight modeli | Tokeni sa vašeg stanja, a keširani ulaz po 25% cene ulaza. | Pozivi alata, keširanje promptova za duge sesije i tačna brojanja iz /v1/messages/count_tokens. |
Alati za programiranje usmeravaju model dugim system promptom. System prompt primenjuju shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro i hostovani open-weight modeli, zato za alat za programiranje izaberite jedan od njih.
Claude Code
Claude Code čita svoju vezu iz promenljivih okruženja. Postavite ih u shell-u 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"
}
} | Promenljiva | Opis |
|---|---|
ANTHROPIC_BASE_URL | Gde Claude Code šalje svoje zahteve. Koristite adresu bez /v1. |
ANTHROPIC_AUTH_TOKEN | Vaš Shannon API ključ, poslat kao Authorization: Bearer. Radi i ANTHROPIC_API_KEY: šalje ključ kao x-api-key, a Claude Code jednom traži da to odobrite. |
ANTHROPIC_MODEL | Model sesije. claude --model <id> i /model <id> postavljaju istu stvar. |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Model za pozadinske zahteve 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 izabrali. |
- Postavite sve tri promenljive
ANTHROPIC_DEFAULT_…_MODEL. Subagenti i neke komande traže model po njegovom ugrađenom imenu, a svako ime mora da se razreši u Shannon id. - Primer usmerava pozadinske zahteve na
shannon-1.6-lite, koji se računa u tokenima. Naslovi sesija i slični zahtevi tada ne troše Coder pozive. - Claude Code traži od
POST /v1/messages/count_tokensveličinu konteksta. Endpoint broji za hostovane open-weight modele. Sa Shannon id-jem odgovara400; Claude Code smatra brojanje tokena opcionim i sam procenjuje veličinu. Brojanje tokena
Da proverite adresu, ključ i id modela pre pokretanja alata, pošaljite jedan zahtev 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 sa Responses API-jem. Opišite Shannon kao provajdera modela u ~/.codex/config.toml, tamo izaberite id Shannon modela i stavite svoj API ključ u promenljivu okruženja koju provajder navodi.
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 | Id Shannon modela. codex --model <id> ga postavlja za jedno pokretanje. |
model_provider | Ime bloka provajdera koji se koristi, ovde shannon. |
base_url | Adresa API-ja sa /v1. |
env_key | Ime promenljive okruženja koja sadrži vaš Shannon API ključ. |
wire_api | responses: Codex komunicira sa POST /v1/responses. |
model_context_window | Kontekstni prozor modela, da Codex na vreme sažme dugu sesiju. Koristite context_window koji prijavljuje GET /v1/models. |
/v1/responsesne čuva razgovor na serveru: svaki zahtev nosi razgovor uinput.previous_response_idse prihvata radi kompatibilnosti.- Funkcijski alati (
type: "function") nude se modelu na/v1/responses. - Na
/v1/responsesshannon-coder-1se računa u tokenima sa vašeg stanja, a ne u Coder pozivima.
Ista provera 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 programiranje i kako se računa
shannon-coder-1 je Shannon model za agente za programiranje. GET /v1/models ga prijavljuje sa kontekstnim prozorom od 131,072 tokena, pozivima alata, reasoningom i tekstom na ulazu. Računa se na jedan od dva načina, zavisno od endpointa koji alat koristi.
| Endpoint | Zahtev košta | Uzima se sa |
|---|---|---|
/v1/messages | 1 poziv po zahtevu | Dozvola Coder poziva vašeg plana. Nijedan token se ne skida sa vašeg stanja. |
/v1/chat/completions | 1 poziv po zahtevu | Dozvola Coder poziva vašeg plana. Nijedan token se ne skida sa vašeg stanja. |
/v1/responses | Tokeni, po $8.00 za 1M | Vaše stanje, kao i svaki drugi model. Dozvola poziva se ne koristi. |
Poziv je jedan zahtev, bez obzira na veličinu. Računa se kada se zahtev prihvati, pre nego što model odgovori. Agentska sesija šalje po jedan zahtev za svaki korak koji napravi, pa dug zadatak troši mnogo poziva. Dozvola zavisi od vašeg plana i počinje iznova na svaka 4 sata, u 00:00, 04:00, 08:00, 12:00, 16:00 i 20:00 UTC.
| Plan | Poziva po 4-časovnom periodu |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
Stranica plana prikazuje trenutne brojeve. Planovi
Kada se pozivi jednog perioda potroše, na zahtev se odgovara sa 429. Na /v1/messages ista greška stiže 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"
}
} Prelivanje konteksta
Kada je razgovor veći od kontekstnog prozora modela, /v1/chat/completions i /v1/messages odgovaraju sa 400, tipom invalid_request_error, kodom context_length_exceeded i porukom koja počinje sa prompt is too long. Alati za programiranje čitaju ovu grešku da sažmu sesiju i ponovo pošalju zahtev. 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 uzimaju onako kako ih alat šalje. Na shannon-coder-1 i shannon-1.6-* ključne reči JSON šeme 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. Nijedan zahtev se ne odbija zbog njih. |
| Argumenti poziva alata | U streamu argumenti poziva alata stižu kompletni u jednom delta-u: tool_calls[].function.arguments, input_json_delta.partial_json ili response.function_call_arguments.delta. |
| Kraj poteza sa alatom | 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 komentarsku liniju : ping na svakih 15 sekundi. |
| Zaustavljanje zahteva | Zatvaranje veze zaustavlja stream. Sam potez se izvršava do kraja i računa se. |
Rešavanje problema
| Simptom | Uzrok | Rešenje |
|---|---|---|
400 sa unknown model: claude-… ili unknown model: gpt-… | Alat je poslao ime sopstvenog podrazumevanog modela. Opslužuju se samo objavljeni Shannon id-jevi, a nijedno drugo ime se ne preslikava u njih. | Izaberite Shannon id: ANTHROPIC_MODEL i tri promenljive ANTHROPIC_DEFAULT_…_MODEL u Claude Code, model u Codex konfiguraciji. |
400 sa unknown model: i bez imena, iz Codex CLI | Zahtev nije naveo model. /v1/responses ga traži. | Postavite model u ~/.codex/config.toml ili prosledite --model. |
401 sa Missing authentication ili Invalid API key | Ključ nije stigao do API-ja, ili nije važeći ključ. Shannon ključ počinje sa sk-. | Proverite da je promenljiva postavljena u shell-u koji pokreće alat. Ponovo kopirajte ključ iz Ključevi i upotreba. |
404 na svakom zahtevu | Osnovni URL ima jedno /v1 previše ili premalo za taj alat. | Claude Code: adresa bez /v1. Codex CLI: adresa sa /v1. |
429 sa Shannon Coder call quota reached | Coder pozivi tekućeg 4-časovnog perioda su potrošeni. | Sačekajte sledeći period, pređite na plan sa više poziva ili izaberite model koji se računa u tokenima. |
429 sa Quota exceeded | Vaše stanje ne pokriva zahtev. | Dodajte kredit ili sačekajte dnevni limit svog plana u 00:00 UTC. |
400 sa 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 hostovane open-weight modele. Sa Shannon id-jem odgovara 400, a Claude Code sam procenjuje veličinu. | Nema šta da se popravi. Izaberite hostovani open-weight model ako želite tačna brojanja. |
| Nalepljeni snimak ekrana se ne uzima u obzir | shannon-coder-1 prima tekst na ulazu. | Izaberite model koji prima slike za tu sesiju. |
Vaš ključ i stanje nalaze se na stranici Ključevi i upotreba. Ključevi i upotreba