Langkau ke kandungan
Alat pengekodan CLI

Alat pengekodan CLI

baru

Gunakan Shannon sebagai model di sebalik Claude Code, Codex CLI dan CLI ejen yang lain.

Alat pengekodan memerlukan tiga tetapan untuk berfungsi dengan Shannon: base URL API, kunci API anda dan id model Shannon. Halaman ini memberikan tetapan tepat untuk Claude Code dan Codex CLI, menerangkan cara model pengekodan shannon-coder-1 dikira, dan menyenaraikan ralat yang ditemui oleh alat ini.

Endpoint yang digunakan oleh setiap alat

Alat Endpoint Base URL yang ditetapkan Nota
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com Alat menambah /v1/messages pada base URL dengan sendirinya.
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 Alat menambah /responses pada base URL.
Alat ejen lain yang menggunakan format sembang OpenAI POST /v1/chat/completions https://api.shannon-ai.com/v1 Tetapkan base URL, kunci dan id model Shannon dalam tetapan alat itu sendiri.

Ketiga-tiga endpoint menerima kunci API yang sama, sebagai Authorization: Bearer atau sebagai x-api-key. Header anthropic-version, anthropic-beta dan openai-beta yang dihantar oleh alat ini diterima.

Pilih model Shannon

Setiap permintaan mesti menamakan id model yang diterbitkan oleh Shannon. Alat pengekodan menghantar nama model lalainya sendiri kecuali anda memberitahunya sebaliknya, dan nama yang tidak diterbitkan oleh Shannon dijawab dengan 400 dan mesej unknown model: <name>. Tiada nama lain dipetakan kepada model Shannon, jadi tetapkan model dalam alat sebelum permintaan pertama.

GET /v1/models menyenaraikan setiap id dengan tetingkap konteksnya. Ia tidak memerlukan kunci. Model & harga

Model Dikira sebagai Apa yang dibawanya
shannon-coder-1 Satu panggilan bagi setiap permintaan pada /v1/messages dan /v1/chat/completions. Token pada /v1/responses. Model pengekodan. Input teks, panggilan alat, tetingkap konteks 131,072 token.
shannon-1.6-lite
shannon-1.6-pro
Token daripada baki anda. Model umum dengan panggilan alat. shannon-1.6-lite sesuai untuk permintaan latar belakang yang pendek yang dibuat oleh alat.
Model open-weight yang dihoskan Token daripada baki anda, dengan input cached pada 25% daripada harga input. Panggilan alat, caching prompt untuk sesi yang panjang, dan pengiraan tepat daripada /v1/messages/count_tokens.

Alat pengekodan mengarahkan model dengan system prompt yang panjang. System prompt dilaksanakan oleh shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro dan model open-weight yang dihoskan, jadi pilih salah satu daripadanya untuk alat pengekodan.

Claude Code

Claude Code membaca sambungannya daripada pemboleh ubah persekitaran. Tetapkannya dalam shell yang memulakannya, atau dalam blok env pada ~/.claude/settings.json untuk mengekalkannya bagi setiap sesi.

# 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
Pemboleh ubah Penerangan
ANTHROPIC_BASE_URL Tempat Claude Code menghantar permintaannya. Gunakan alamat tanpa /v1.
ANTHROPIC_AUTH_TOKEN Kunci API Shannon anda, dihantar sebagai Authorization: Bearer. ANTHROPIC_API_KEY juga berfungsi: ia menghantar kunci sebagai x-api-key, dan Claude Code meminta kelulusan sekali.
ANTHROPIC_MODEL Model sesi. claude --model <id> dan /model <id> menetapkan perkara yang sama.
ANTHROPIC_DEFAULT_HAIKU_MODEL Model untuk permintaan latar belakang seperti tajuk sesi, dan untuk apa-apa yang meminta haiku.
ANTHROPIC_DEFAULT_SONNET_MODEL Model yang digunakan apabila subejen atau perintah meminta sonnet.
ANTHROPIC_DEFAULT_OPUS_MODEL Model yang digunakan apabila subejen atau perintah meminta opus.
CLAUDE_CODE_MAX_CONTEXT_TOKENS Tetingkap konteks yang diandaikan oleh Claude Code untuk model. Gunakan context_window yang dilaporkan oleh GET /v1/models untuk id yang anda pilih.
  • Tetapkan ketiga-tiga pemboleh ubah ANTHROPIC_DEFAULT_…_MODEL. Subejen dan sesetengah perintah meminta model melalui nama terbina dalamnya, dan setiap nama mesti diselesaikan kepada id Shannon.
  • Contoh ini mengarahkan permintaan latar belakang ke shannon-1.6-lite, yang dikira dalam token. Tajuk sesi dan permintaan yang serupa kemudian tidak menggunakan panggilan Coder.
  • Claude Code meminta POST /v1/messages/count_tokens untuk saiz konteks. Endpoint ini mengira untuk model open-weight yang dihoskan. Dengan id Shannon ia menjawab 400; Claude Code menganggap pengiraan token sebagai pilihan dan menganggarkan saiz itu sendiri. Pengiraan token

Untuk menyemak alamat, kunci dan id model sebelum anda memulakan alat, hantar satu permintaan secara manual:

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 berhubung dengan API Responses. Terangkan Shannon sebagai penyedia model dalam ~/.codex/config.toml, pilih id model Shannon di sana, dan letakkan kunci API anda dalam pemboleh ubah persekitaran yang dinamakan oleh penyedia.

~/.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"
Shell
# 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
Kunci Penerangan
model Id model Shannon. codex --model <id> menetapkannya untuk satu larian.
model_provider Nama blok provider yang hendak digunakan, di sini shannon.
base_url Alamat API dengan /v1.
env_key Nama pemboleh ubah persekitaran yang menyimpan kunci API Shannon anda.
wire_api responses: Codex berhubung dengan POST /v1/responses.
model_context_window Tetingkap konteks model, supaya Codex memampatkan sesi yang panjang tepat pada masanya. Gunakan context_window yang dilaporkan oleh GET /v1/models.
  • /v1/responses tidak menyimpan perbualan pada pelayan: setiap permintaan membawa perbualan dalam input. previous_response_id diterima untuk keserasian.
  • Alat fungsi (type: "function") ditawarkan kepada model pada /v1/responses.
  • Pada /v1/responses, shannon-coder-1 dikira dalam token daripada baki anda, bukan dalam panggilan Coder.

Semakan yang sama untuk endpoint 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 pengekodan dan cara ia dikira

shannon-coder-1 ialah model Shannon untuk ejen pengekodan. GET /v1/models melaporkannya dengan tetingkap konteks 131,072 token, panggilan alat, penaakulan dan input teks. Ia dikira dengan salah satu daripada dua cara, bergantung pada endpoint yang digunakan oleh alat.

Endpoint Kos permintaan Diambil daripada
/v1/messages 1 panggilan bagi setiap permintaan Kuota panggilan Coder pelan anda. Tiada token diambil daripada baki anda.
/v1/chat/completions 1 panggilan bagi setiap permintaan Kuota panggilan Coder pelan anda. Tiada token diambil daripada baki anda.
/v1/responses Token, pada $8.00 setiap 1M Baki anda, seperti model lain. Kuota panggilan tidak digunakan.

Panggilan ialah satu permintaan, tidak kira saiznya. Ia dikira apabila permintaan diterima, sebelum model menjawab. Sesi ejen menghantar satu permintaan bagi setiap langkah yang diambilnya, jadi tugasan yang panjang menggunakan banyak panggilan. Kuota bergantung pada pelan anda dan bermula semula setiap 4 jam, pada 00:00, 04:00, 08:00, 12:00, 16:00 dan 20:00 UTC.

Pelan Panggilan bagi setiap tetingkap 4 jam
Free 3
Plus 20
Standard 40
Pro 60

Halaman pelan menunjukkan nombor semasa. Pelan

Apabila panggilan sesuatu tetingkap habis digunakan, permintaan dijawab dengan 429. Pada /v1/messages ralat yang sama datang dalam bentuk 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"
  }
}

Limpahan konteks

Apabila perbualan lebih besar daripada tetingkap konteks model, /v1/chat/completions dan /v1/messages menjawab dengan 400, jenis invalid_request_error, kod context_length_exceeded dan mesej yang bermula dengan prompt is too long. Alat pengekodan membaca ralat ini untuk memampatkan sesi dan menghantar permintaan sekali lagi. Ia dihasilkan oleh shannon-coder-1, shannon-1.6-lite dan 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
  }
}

Mesejnya ialah prompt is too long: <sent> tokens > <limit> maximum. Apabila kedua-dua nombor tidak diketahui, mesejnya ialah prompt is too long. Please compact the conversation and try again.

Pada stream, statusnya sudah 200, jadi ralat tiba sebagai peristiwa dan stream kemudian ditutup dengan cara biasa:

/v1/chat/completions, stream
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, stream
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"}

Apa yang boleh diharapkan oleh gelung ejen

Topik Tingkah laku
Skema alat Takrifan alat diambil seperti yang dihantar oleh alat. Pada shannon-coder-1 dan shannon-1.6-*, kata kunci JSON Schema yang tidak digunakan oleh model, seperti $schema, $ref, additionalProperties, default dan title, ditinggalkan daripada apa yang dibaca oleh model, dan oneOf dibaca sebagai anyOf. Tiada permintaan ditolak kerananya.
Argumen panggilan alat Dalam stream, argumen panggilan alat tiba lengkap dalam satu delta: tool_calls[].function.arguments, input_json_delta.partial_json atau response.function_call_arguments.delta.
Penghujung giliran alat finish_reason: "tool_calls" pada Chat Completions, stop_reason: "tool_use" pada Messages.
Keep-alive Semasa model bekerja, /v1/messages menghantar event: ping dan /v1/chat/completions menghantar baris komen : ping setiap 15 saat.
Menghentikan permintaan Menutup sambungan menghentikan stream. Giliran itu sendiri berjalan sehingga selesai dan dikira.

Penyelesaian masalah

Gejala Punca Pembetulan
400 dengan unknown model: claude-… atau unknown model: gpt-… Alat menghantar nama model lalainya sendiri. Hanya id Shannon yang diterbitkan dilayani, dan tiada nama lain dipetakan kepada satu pun. Pilih id Shannon: ANTHROPIC_MODEL dan tiga pemboleh ubah ANTHROPIC_DEFAULT_…_MODEL dalam Claude Code, model dalam konfigurasi Codex.
400 dengan unknown model: tanpa nama, daripada Codex CLI Permintaan tidak menamakan model. /v1/responses memerlukannya. Tetapkan model dalam ~/.codex/config.toml atau hantar --model.
401 dengan Missing authentication atau Invalid API key Kunci tidak sampai ke API, atau ia bukan kunci semasa. Kunci Shannon bermula dengan sk-. Semak bahawa pemboleh ubah ditetapkan dalam shell yang memulakan alat. Salin kunci sekali lagi daripada Kunci & penggunaan.
404 pada setiap permintaan Base URL mempunyai satu /v1 terlebih atau terkurang untuk alat itu. Claude Code: alamat tanpa /v1. Codex CLI: alamat dengan /v1.
429 dengan Shannon Coder call quota reached Panggilan Coder bagi tetingkap 4 jam semasa telah habis digunakan. Tunggu tetingkap seterusnya, beralih ke pelan dengan lebih banyak panggilan, atau pilih model yang dikira dalam token.
429 dengan Quota exceeded Baki anda tidak menampung permintaan. Tambah kredit, atau tunggu kuota harian pelan anda pada 00:00 UTC.
400 dengan prompt is too long Perbualan lebih besar daripada tetingkap konteks model. Mampatkan sesi (/compact dalam kedua-dua alat). Beritahu alat tetingkap konteks model supaya ia memampatkan lebih awal.
Claude Code menunjukkan nombor konteks yang anggaran /v1/messages/count_tokens mengira untuk model open-weight yang dihoskan. Dengan id Shannon ia menjawab 400, dan Claude Code menganggarkan saiz itu sendiri. Tiada apa-apa untuk dibetulkan. Pilih model open-weight yang dihoskan jika anda mahukan pengiraan tepat.
Tangkapan skrin yang ditampal tidak diambil kira shannon-coder-1 menerima input teks. Pilih model yang menerima imej untuk sesi itu.

Kunci dan baki anda berada pada halaman Kunci & penggunaan. Kunci & penggunaan