Langsung ke konten
Tool coding CLI

Tool coding CLI

Baru

Gunakan Shannon sebagai model di balik Claude Code, Codex CLI, dan CLI agen lainnya.

Tool coding membutuhkan tiga pengaturan agar berfungsi dengan Shannon: base URL API, API key Anda, dan id model Shannon. Halaman ini memberikan pengaturan yang tepat untuk Claude Code dan Codex CLI, menjelaskan cara model coding shannon-coder-1 dihitung, dan mencantumkan error yang ditemui tool-tool ini.

Endpoint mana yang dipakai setiap tool

Tool Endpoint Base URL yang diatur Catatan
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com Tool menambahkan /v1/messages ke base URL sendiri.
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 Tool menambahkan /responses ke base URL.
Tool agen lain yang memakai format chat OpenAI POST /v1/chat/completions https://api.shannon-ai.com/v1 Atur base URL, kunci, dan id model Shannon di pengaturan tool itu sendiri.

Ketiga endpoint menerima API key yang sama, sebagai Authorization: Bearer atau sebagai x-api-key. Header anthropic-version, anthropic-beta, dan openai-beta yang dikirim tool-tool ini diterima.

Pilih model Shannon

Setiap permintaan harus menyebutkan id model yang dipublikasikan Shannon. Tool coding mengirim nama model default-nya sendiri kecuali Anda mengatakan lain, dan nama yang tidak dipublikasikan Shannon dijawab dengan 400 dan pesan unknown model: <name>. Tidak ada nama lain yang dipetakan ke model Shannon, jadi atur model di tool sebelum permintaan pertama.

GET /v1/models mencantumkan setiap id beserta jendela konteksnya. Tidak memerlukan kunci. Model & harga

Model Dihitung sebagai Yang didapat
shannon-coder-1 Satu panggilan per permintaan di /v1/messages dan /v1/chat/completions. Token di /v1/responses. Model coding. Input teks, panggilan tool, jendela konteks 131,072 token.
shannon-1.6-lite
shannon-1.6-pro
Token dari saldo Anda. Model umum dengan panggilan tool. shannon-1.6-lite cocok untuk permintaan latar belakang singkat yang dibuat tool.
Model open-weight hosted Token dari saldo Anda, dengan input ter-cache seharga 25% dari harga input. Panggilan tool, prompt caching untuk sesi panjang, dan penghitungan tepat dari /v1/messages/count_tokens.

Tool coding mengarahkan model dengan system prompt yang panjang. System prompt diterapkan oleh shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro, dan model open-weight hosted, jadi pilih salah satunya untuk tool coding.

Claude Code

Claude Code membaca koneksinya dari environment variable. Atur di shell yang memulainya, atau di blok env pada ~/.claude/settings.json agar berlaku untuk 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
Variabel Deskripsi
ANTHROPIC_BASE_URL Tempat Claude Code mengirim permintaannya. Gunakan alamat tanpa /v1.
ANTHROPIC_AUTH_TOKEN API key Shannon Anda, dikirim sebagai Authorization: Bearer. ANTHROPIC_API_KEY juga berfungsi: ia mengirim kunci sebagai x-api-key, dan Claude Code meminta persetujuan satu kali.
ANTHROPIC_MODEL Model untuk sesi. claude --model <id> dan /model <id> mengatur hal yang sama.
ANTHROPIC_DEFAULT_HAIKU_MODEL Model untuk permintaan latar belakang seperti judul sesi, dan untuk apa pun yang meminta haiku.
ANTHROPIC_DEFAULT_SONNET_MODEL Model yang dipakai ketika subagent atau perintah meminta sonnet.
ANTHROPIC_DEFAULT_OPUS_MODEL Model yang dipakai ketika subagent atau perintah meminta opus.
CLAUDE_CODE_MAX_CONTEXT_TOKENS Jendela konteks yang diasumsikan Claude Code untuk model. Gunakan context_window yang dilaporkan GET /v1/models untuk id yang Anda pilih.
  • Atur ketiga variabel ANTHROPIC_DEFAULT_…_MODEL. Subagent dan beberapa perintah meminta model dengan nama bawaannya, dan setiap nama harus diarahkan ke id Shannon.
  • Contoh mengarahkan permintaan latar belakang ke shannon-1.6-lite, yang dihitung dalam token. Judul sesi dan permintaan serupa kemudian tidak memakai panggilan Coder.
  • Claude Code meminta POST /v1/messages/count_tokens untuk ukuran konteks. Endpoint ini menghitung untuk model open-weight hosted. Dengan id Shannon, endpoint menjawab 400; Claude Code menganggap penghitungan token opsional dan memperkirakan ukurannya sendiri. Penghitungan token

Untuk memeriksa alamat, kunci, dan id model sebelum Anda memulai tool, kirim 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 berbicara ke Responses API. Deskripsikan Shannon sebagai model provider di ~/.codex/config.toml, pilih id model Shannon di sana, dan taruh API key Anda di environment variable yang disebut provider.

~/.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
Key Deskripsi
model Id model Shannon. codex --model <id> mengaturnya untuk satu kali jalan.
model_provider Nama blok provider yang dipakai, di sini shannon.
base_url Alamat API dengan /v1.
env_key Nama environment variable yang menyimpan API key Shannon Anda.
wire_api responses: Codex berbicara ke POST /v1/responses.
model_context_window Jendela konteks model, agar Codex meringkas sesi panjang tepat waktu. Gunakan context_window yang dilaporkan GET /v1/models.
  • /v1/responses tidak menyimpan percakapan di server: setiap permintaan membawa percakapan di input. previous_response_id diterima demi kompatibilitas.
  • Tool fungsi (type: "function") ditawarkan ke model di /v1/responses.
  • Di /v1/responses, shannon-coder-1 dihitung dalam token dari saldo Anda, bukan dalam panggilan Coder.

Pemeriksaan 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 coding dan cara penghitungannya

shannon-coder-1 adalah model Shannon untuk agen coding. GET /v1/models melaporkannya dengan jendela konteks 131,072 token, panggilan tool, reasoning, dan input teks. Penghitungannya ada dua cara, tergantung endpoint yang dipakai tool.

Endpoint Biaya satu permintaan Diambil dari
/v1/messages 1 panggilan per permintaan Kuota panggilan Coder dari paket Anda. Tidak ada token yang diambil dari saldo Anda.
/v1/chat/completions 1 panggilan per permintaan Kuota panggilan Coder dari paket Anda. Tidak ada token yang diambil dari saldo Anda.
/v1/responses Token, dengan $8.00 per 1M Saldo Anda, seperti model lainnya. Kuota panggilan tidak dipakai.

Satu panggilan adalah satu permintaan, berapa pun ukurannya. Panggilan dihitung ketika permintaan diterima, sebelum model menjawab. Sesi agen mengirim satu permintaan untuk setiap langkah yang diambilnya, sehingga tugas panjang memakai banyak panggilan. Kuota bergantung pada paket Anda dan dimulai lagi setiap 4 jam, pada pukul 00:00, 04:00, 08:00, 12:00, 16:00, dan 20:00 UTC.

Paket Panggilan per jendela 4 jam
Free 3
Plus 20
Standard 40
Pro 60

Halaman paket menampilkan angka terkini. Paket

Ketika panggilan dalam satu jendela habis, permintaan dijawab dengan 429. Di /v1/messages, error 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"
  }
}

Konteks melebihi batas

Ketika percakapan lebih besar daripada jendela konteks model, /v1/chat/completions dan /v1/messages menjawab dengan 400, tipe invalid_request_error, kode context_length_exceeded, dan pesan yang diawali prompt is too long. Tool coding membaca error ini untuk meringkas sesi dan mengirim permintaan sekali lagi. Error ini 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
  }
}

Pesannya adalah prompt is too long: <sent> tokens > <limit> maximum. Ketika kedua angka tidak diketahui, pesannya prompt is too long. Please compact the conversation and try again.

Pada stream, statusnya sudah 200, jadi error tiba sebagai event dan stream kemudian ditutup secara normal:

/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"}

Yang dapat diandalkan oleh loop agen

Topik Perilaku
Schema tool Definisi tool diambil seperti yang dikirim tool. Pada shannon-coder-1 dan shannon-1.6-*, keyword JSON Schema yang tidak dipakai model, seperti $schema, $ref, additionalProperties, default, dan title, dihilangkan dari yang dibaca model, dan oneOf dibaca sebagai anyOf. Tidak ada permintaan yang ditolak karenanya.
Argumen panggilan tool Dalam stream, argumen panggilan tool tiba lengkap dalam satu delta: tool_calls[].function.arguments, input_json_delta.partial_json, atau response.function_call_arguments.delta.
Akhir giliran tool finish_reason: "tool_calls" di Chat Completions, stop_reason: "tool_use" di Messages.
Keep-alive Selama model bekerja, /v1/messages mengirim event: ping dan /v1/chat/completions mengirim baris komentar : ping setiap 15 detik.
Menghentikan permintaan Menutup koneksi menghentikan stream. Giliran itu sendiri berjalan sampai selesai dan dihitung.

Pemecahan masalah

Gejala Penyebab Perbaikan
400 dengan unknown model: claude-… atau unknown model: gpt-… Tool mengirim nama model default-nya sendiri. Hanya id Shannon yang dipublikasikan yang dilayani, dan tidak ada nama lain yang dipetakan ke salah satunya. Pilih id Shannon: ANTHROPIC_MODEL dan ketiga variabel ANTHROPIC_DEFAULT_…_MODEL di Claude Code, model di konfigurasi Codex.
400 dengan unknown model: tanpa nama, dari Codex CLI Permintaan tidak menyebutkan model. /v1/responses memerlukannya. Atur model di ~/.codex/config.toml atau berikan --model.
401 dengan Missing authentication atau Invalid API key Kunci tidak sampai ke API, atau bukan kunci yang berlaku. Kunci Shannon diawali sk-. Pastikan variabel diatur di shell yang memulai tool. Salin kunci sekali lagi dari Keys & usage.
404 pada setiap permintaan Base URL kelebihan atau kekurangan satu /v1 untuk tool tersebut. Claude Code: alamat tanpa /v1. Codex CLI: alamat dengan /v1.
429 dengan Shannon Coder call quota reached Panggilan Coder pada jendela 4 jam saat ini sudah habis. Tunggu jendela berikutnya, pindah ke paket dengan lebih banyak panggilan, atau pilih model yang dihitung dalam token.
429 dengan Quota exceeded Saldo Anda tidak mencukupi permintaan. Tambah kredit, atau tunggu kuota harian paket Anda pada pukul 00:00 UTC.
400 dengan prompt is too long Percakapan lebih besar daripada jendela konteks model. Ringkas sesi (/compact di kedua tool). Beri tahu tool jendela konteks model agar meringkas lebih awal.
Claude Code menampilkan angka konteks perkiraan /v1/messages/count_tokens menghitung untuk model open-weight hosted. Dengan id Shannon, endpoint menjawab 400, dan Claude Code memperkirakan ukurannya sendiri. Tidak ada yang perlu diperbaiki. Pilih model open-weight hosted jika Anda menginginkan penghitungan yang tepat.
Screenshot yang ditempel tidak diperhitungkan shannon-coder-1 menerima input teks. Pilih model yang menerima gambar untuk sesi itu.

Kunci dan saldo Anda ada di halaman Keys & usage. Keys & usage