Przejdź do treści
Narzędzia CLI do programowania

Narzędzia CLI do programowania

Nowe

Używaj Shannon jako modelu działającego w Claude Code, Codex CLI i innych agentowych narzędziach CLI.

Narzędzie do programowania potrzebuje trzech ustawień, by działać z Shannon: bazowego URL API, Twojego klucza API i id modelu Shannon. Ta strona podaje dokładne ustawienia dla Claude Code i Codex CLI, wyjaśnia, jak liczony jest model do programowania shannon-coder-1, i wymienia błędy, które te narzędzia napotykają.

Którego endpointu używa każde narzędzie

Narzędzie Endpoint Bazowy URL do ustawienia Uwaga
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com Narzędzie samo dodaje /v1/messages do bazowego URL.
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 Narzędzie dodaje /responses do bazowego URL.
Inne narzędzia agentowe, które mówią formatem czatu OpenAI POST /v1/chat/completions https://api.shannon-ai.com/v1 Ustaw bazowy URL, klucz i id modelu Shannon we własnych ustawieniach narzędzia.

Wszystkie trzy endpointy przyjmują ten sam klucz API, jako Authorization: Bearer lub jako x-api-key. Nagłówki anthropic-version, anthropic-beta i openai-beta, które te narzędzia wysyłają, są akceptowane.

Wybierz model Shannon

Każde zapytanie musi podawać id modelu, który Shannon publikuje. Narzędzie do programowania wysyła nazwę własnego modelu domyślnego, o ile nie powiesz mu inaczej, a nazwa, której Shannon nie publikuje, dostaje odpowiedź 400 z komunikatem unknown model: <name>. Żadna inna nazwa nie jest mapowana na model Shannon, więc ustaw model w narzędziu przed pierwszym zapytaniem.

GET /v1/models wymienia każdy id wraz z oknem kontekstu. Nie wymaga klucza. Modele i ceny

Model Liczone jako Co daje
shannon-coder-1 Jedno wywołanie na zapytanie w /v1/messages i /v1/chat/completions. Tokeny w /v1/responses. Model do programowania. Tekst na wejściu, wywołania narzędzi, okno kontekstu 131,072 tokenów.
shannon-1.6-lite
shannon-1.6-pro
Tokeny z Twojego salda. Modele ogólnego przeznaczenia z wywołaniami narzędzi. shannon-1.6-lite pasuje do krótkich zapytań w tle, które wysyła narzędzie.
Hostowane modele open-weight Tokeny z Twojego salda, z wejściem z cache po 25% ceny wejścia. Wywołania narzędzi, prompt caching dla długich sesji i dokładne liczby z /v1/messages/count_tokens.

Narzędzia do programowania sterują modelem długim promptem systemowym. Prompt systemowy stosują shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro i hostowane modele open-weight, więc dla narzędzia do programowania wybierz jeden z nich.

Claude Code

Claude Code odczytuje swoje połączenie ze zmiennych środowiskowych. Ustaw je w powłoce, która go uruchamia, albo w bloku env pliku ~/.claude/settings.json, aby zachować je dla każdej sesji.

# 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
Zmienna Opis
ANTHROPIC_BASE_URL Dokąd Claude Code wysyła swoje zapytania. Użyj adresu bez /v1.
ANTHROPIC_AUTH_TOKEN Twój klucz Shannon API, wysyłany jako Authorization: Bearer. Działa także ANTHROPIC_API_KEY: wysyła klucz jako x-api-key, a Claude Code raz prosi o zatwierdzenie.
ANTHROPIC_MODEL Model sesji. claude --model <id> i /model <id> ustawiają to samo.
ANTHROPIC_DEFAULT_HAIKU_MODEL Model do zapytań w tle, takich jak tytuły sesji, i do wszystkiego, co prosi o haiku.
ANTHROPIC_DEFAULT_SONNET_MODEL Model używany, gdy subagent lub polecenie prosi o sonnet.
ANTHROPIC_DEFAULT_OPUS_MODEL Model używany, gdy subagent lub polecenie prosi o opus.
CLAUDE_CODE_MAX_CONTEXT_TOKENS Okno kontekstu, które Claude Code zakłada dla modelu. Użyj context_window, które GET /v1/models raportuje dla wybranego id.
  • Ustaw wszystkie trzy zmienne ANTHROPIC_DEFAULT_…_MODEL. Subagenci i niektóre polecenia proszą o model po jego wbudowanej nazwie, a każda nazwa musi wskazywać id Shannon.
  • Przykład kieruje zapytania w tle na shannon-1.6-lite, który jest liczony w tokenach. Tytuły sesji i podobne zapytania nie zużywają wtedy wywołań Coder.
  • Claude Code pyta POST /v1/messages/count_tokens o rozmiar kontekstu. Endpoint liczy dla hostowanych modeli open-weight. Z id Shannon odpowiada 400; Claude Code traktuje liczenie tokenów jako opcjonalne i sam szacuje rozmiar. Liczenie tokenów

Aby sprawdzić adres, klucz i id modelu przed uruchomieniem narzędzia, wyślij jedno zapytanie ręcznie:

cURL
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 komunikuje się z Responses API. Opisz Shannon jako dostawcę modeli w ~/.codex/config.toml, wybierz tam id modelu Shannon i umieść swój klucz API w zmiennej środowiskowej, którą wskazuje dostawca.

~/.codex/config.toml
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"
Powłoka
# 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
Klucz Opis
model Id modelu Shannon. codex --model <id> ustawia go na jedno uruchomienie.
model_provider Nazwa bloku dostawcy do użycia, tutaj shannon.
base_url Adres API z /v1.
env_key Nazwa zmiennej środowiskowej, która zawiera Twój klucz Shannon API.
wire_api responses: Codex komunikuje się z POST /v1/responses.
model_context_window Okno kontekstu modelu, aby Codex kompaktował długą sesję na czas. Użyj context_window, które raportuje GET /v1/models.
  • /v1/responses nie przechowuje rozmowy na serwerze: każde zapytanie niesie rozmowę w input. previous_response_id jest akceptowane dla zgodności.
  • Narzędzia funkcyjne (type: "function") są oferowane modelowi w /v1/responses.
  • W /v1/responses shannon-coder-1 jest liczony w tokenach z Twojego salda, a nie w wywołaniach Coder.

To samo sprawdzenie dla endpointu Responses:

cURL
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 do programowania i sposób jego liczenia

shannon-coder-1 to model Shannon dla agentów programistycznych. GET /v1/models raportuje go z oknem kontekstu 131,072 tokenów, wywołaniami narzędzi, wnioskowaniem i tekstem na wejściu. Jest liczony na jeden z dwóch sposobów, zależnie od endpointu, którego używa narzędzie.

Endpoint Zapytanie kosztuje Pobierane z
/v1/messages 1 wywołanie na zapytanie Limit wywołań Coder w Twoim planie. Żadne tokeny nie są pobierane z Twojego salda.
/v1/chat/completions 1 wywołanie na zapytanie Limit wywołań Coder w Twoim planie. Żadne tokeny nie są pobierane z Twojego salda.
/v1/responses Tokeny, po $8.00 za 1M Twoje saldo, jak w każdym innym modelu. Limit wywołań nie jest używany.

Wywołanie to jedno zapytanie, niezależnie od rozmiaru. Jest liczone w chwili przyjęcia zapytania, zanim model odpowie. Sesja agenta wysyła jedno zapytanie na każdy krok, więc długie zadanie zużywa wiele wywołań. Limit zależy od Twojego planu i odnawia się co 4 godziny, o 00:00, 04:00, 08:00, 12:00, 16:00 i 20:00 UTC.

Plan Wywołania na 4-godzinne okno
Free 3
Plus 20
Standard 40
Pro 60

Strona planów pokazuje aktualne liczby. Plany

Gdy wywołania okna się wyczerpią, zapytanie dostaje odpowiedź 429. W /v1/messages ten sam błąd przychodzi w kształcie Anthropic.

429 /v1/chat/completions
{
  "error": {
    "type": "rate_limit_error",
    "message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
  }
}
429 /v1/messages
{
  "type": "error",
  "error": {
    "type": "rate_limit_error",
    "message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
  }
}

Przepełnienie kontekstu

Gdy rozmowa jest większa niż okno kontekstu modelu, /v1/chat/completions i /v1/messages odpowiadają 400, typem invalid_request_error, kodem context_length_exceeded i komunikatem zaczynającym się od prompt is too long. Narzędzia do programowania odczytują ten błąd, aby skompaktować sesję i wysłać zapytanie ponownie. Zwracają go shannon-coder-1, shannon-1.6-lite i shannon-1.6-pro.

400 /v1/chat/completions
{
  "error": {
    "type": "invalid_request_error",
    "code": "context_length_exceeded",
    "message": "prompt is too long: 140211 tokens > 131072 maximum",
    "param": null
  }
}
400 /v1/messages
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "code": "context_length_exceeded",
    "message": "prompt is too long: 140211 tokens > 131072 maximum",
    "param": null
  }
}

Komunikat to prompt is too long: <sent> tokens > <limit> maximum. Gdy obie liczby nie są znane, jest to prompt is too long. Please compact the conversation and try again.

W strumieniu status to już 200, więc błąd przychodzi jako zdarzenie, a strumień zamyka się potem w normalny sposób:

/v1/chat/completions, strumień
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]
/v1/messages, strumień
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 czym może polegać pętla agenta

Temat Zachowanie
Schematy narzędzi Definicje narzędzi są przyjmowane tak, jak wysyła je narzędzie. W shannon-coder-1 i shannon-1.6-* słowa kluczowe JSON Schema, których model nie używa, takie jak $schema, $ref, additionalProperties, default i title, są pomijane w tym, co model czyta, a oneOf jest czytane jako anyOf. Żadne zapytanie nie jest z ich powodu odrzucane.
Argumenty wywołania narzędzia W strumieniu argumenty wywołania narzędzia przychodzą kompletne w jednej delcie: tool_calls[].function.arguments, input_json_delta.partial_json lub response.function_call_arguments.delta.
Koniec tury narzędzia finish_reason: "tool_calls" w Chat Completions, stop_reason: "tool_use" w Messages.
Keep-alive Gdy model pracuje, /v1/messages wysyła event: ping, a /v1/chat/completions wysyła linię komentarza : ping co 15 sekund.
Zatrzymywanie zapytania Zamknięcie połączenia zatrzymuje strumień. Sama tura jest wykonywana do końca i liczona.

Rozwiązywanie problemów

Objaw Przyczyna Rozwiązanie
400 z unknown model: claude-… lub unknown model: gpt-… Narzędzie wysłało nazwę własnego modelu domyślnego. Obsługiwane są tylko opublikowane id Shannon i żadna inna nazwa nie jest na nie mapowana. Wybierz id Shannon: ANTHROPIC_MODEL i trzy zmienne ANTHROPIC_DEFAULT_…_MODEL w Claude Code, model w konfiguracji Codex.
400 z unknown model: i bez nazwy, z Codex CLI Zapytanie nie podało modelu. /v1/responses go wymaga. Ustaw model w ~/.codex/config.toml lub przekaż --model.
401 z Missing authentication lub Invalid API key Klucz nie dotarł do API albo nie jest aktualnym kluczem. Klucz Shannon zaczyna się od sk-. Sprawdź, czy zmienna jest ustawiona w powłoce, która uruchamia narzędzie. Skopiuj klucz ponownie z Keys & usage.
404 przy każdym zapytaniu Bazowy URL ma o jedno /v1 za dużo lub za mało dla tego narzędzia. Claude Code: adres bez /v1. Codex CLI: adres z /v1.
429 z Shannon Coder call quota reached Wywołania Coder bieżącego 4-godzinnego okna zostały wykorzystane. Poczekaj na następne okno, przejdź na plan z większą liczbą wywołań albo wybierz model liczony w tokenach.
429 z Quota exceeded Twoje saldo nie pokrywa zapytania. Dodaj środki albo poczekaj na dzienny limit swojego planu o 00:00 UTC.
400 z prompt is too long Rozmowa jest większa niż okno kontekstu modelu. Skompaktuj sesję (/compact w obu narzędziach). Podaj narzędziu okno kontekstu modelu, aby kompaktowało wcześniej.
Claude Code pokazuje przybliżone liczby kontekstu /v1/messages/count_tokens liczy dla hostowanych modeli open-weight. Z id Shannon odpowiada 400, a Claude Code sam szacuje rozmiar. Nie ma czego naprawiać. Wybierz hostowany model open-weight, jeśli chcesz dokładnych liczb.
Wklejony zrzut ekranu nie jest brany pod uwagę shannon-coder-1 przyjmuje tekst na wejściu. Wybierz na tę sesję model, który przyjmuje obrazy.

Twój klucz i saldo są na stronie Keys & usage. Keys & usage