រំលងទៅមាតិកា
ឧបករណ៍សរសេរកូដ CLI

ឧបករណ៍សរសេរកូដ CLI

ថ្មី

ប្រើ Shannon ជាម៉ូដែលនៅពីក្រោយ Claude Code, Codex CLI និង agent CLI ផ្សេងទៀត។

ឧបករណ៍សរសេរកូដត្រូវការការកំណត់បីដើម្បីដំណើរការជាមួយ Shannon៖ base URL របស់ API, API key របស់អ្នក និង Shannon model id។ ទំព័រនេះផ្តល់ការកំណត់ពិតប្រាកដសម្រាប់ Claude Code និង Codex CLI ពន្យល់ពីរបៀបដែលម៉ូដែល coding shannon-coder-1 ត្រូវបានរាប់ ហើយរាយកំហុសដែល tool ទាំងនេះជួប។

endpoint ណាដែល tool នីមួយៗប្រើ

Tool Endpoint Base URL ដែលត្រូវកំណត់ កំណត់ចំណាំ
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com tool បន្ថែម /v1/messages ទៅ base URL ដោយខ្លួនឯង។
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 tool បន្ថែម /responses ទៅ base URL។
agent tool ផ្សេងទៀតដែលនិយាយទ្រង់ទ្រាយ chat របស់ OpenAI POST /v1/chat/completions https://api.shannon-ai.com/v1 កំណត់ base URL, key និង Shannon model id ក្នុងការកំណត់របស់ tool ផ្ទាល់។

endpoint ទាំងបីទទួល API key ដូចគ្នា ជា Authorization: Bearer ឬជា x-api-key។ header anthropic-version, anthropic-beta និង openai-beta ដែល tool ទាំងនេះផ្ញើ ត្រូវបានទទួលយក។

ជ្រើសរើស Shannon model

រាល់ request ត្រូវតែដាក់ឈ្មោះ model id ដែល Shannon ផ្សព្វផ្សាយ។ ឧបករណ៍សរសេរកូដផ្ញើឈ្មោះម៉ូដែលលំនាំដើមរបស់ខ្លួន លុះត្រាតែអ្នកប្រាប់ឱ្យធ្វើផ្សេង ហើយឈ្មោះដែល Shannon មិនផ្សព្វផ្សាយត្រូវបានឆ្លើយដោយ 400 និងសារ unknown model: <name>។ គ្មានឈ្មោះផ្សេងត្រូវបានផ្គូផ្គងទៅម៉ូដែល Shannon ទេ ដូច្នេះសូមកំណត់ម៉ូដែលក្នុង tool មុន request ដំបូង។

GET /v1/models រាយគ្រប់ id ជាមួយ context window របស់វា។ វាមិនត្រូវការ key ទេ។ ម៉ូដែល និងតម្លៃ

ម៉ូដែល រាប់ជា អ្វីដែលវាផ្តល់
shannon-coder-1 មួយការហៅក្នុងមួយ request លើ /v1/messages និង /v1/chat/completions។ Token លើ /v1/responses។ ម៉ូដែលសម្រាប់សរសេរកូដ។ ទទួលអត្ថបទ មានការហៅ tool និងមាន context window ទំហំ 131,072 token។
shannon-1.6-lite
shannon-1.6-pro
Token ពីសមតុល្យរបស់អ្នក។ ម៉ូដែលទូទៅដែលមានការហៅ tool។ shannon-1.6-lite សមស្របនឹង request ផ្ទៃខាងក្រោយខ្លីៗដែល tool ធ្វើ។
ម៉ូដែល open-weight ដែលបង្ហោះ Token ពីសមតុល្យរបស់អ្នក ដោយ input ក្នុង cache គិត 25% នៃតម្លៃ input។ ការហៅ tool, prompt caching សម្រាប់ session វែង និងការរាប់ត្រឹមត្រូវពី /v1/messages/count_tokens។

ឧបករណ៍សរសេរកូដដឹកនាំម៉ូដែលដោយ system prompt វែង។ system prompt ត្រូវបានអនុវត្តដោយ shannon-coder-1, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro និងម៉ូដែល open-weight ដែលបង្ហោះ ដូច្នេះសូមជ្រើសមួយក្នុងចំណោមទាំងនេះសម្រាប់ឧបករណ៍សរសេរកូដ។

Claude Code

Claude Code អានការតភ្ជាប់របស់វាពី environment variable។ កំណត់ពួកវានៅក្នុង shell ដែលចាប់ផ្តើមវា ឬក្នុង block env នៃ ~/.claude/settings.json ដើម្បីរក្សាទុកសម្រាប់គ្រប់ session។

# 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
Variable ការពិពណ៌នា
ANTHROPIC_BASE_URL កន្លែងដែល Claude Code ផ្ញើ request របស់វា។ ប្រើអាសយដ្ឋានដោយគ្មាន /v1។
ANTHROPIC_AUTH_TOKEN Shannon API key របស់អ្នក ផ្ញើជា Authorization: Bearer។ ANTHROPIC_API_KEY ក៏ដំណើរការដែរ៖ វាផ្ញើ key ជា x-api-key ហើយ Claude Code សួរម្តងដើម្បីអនុម័តវា។
ANTHROPIC_MODEL ម៉ូដែលនៃ session។ claude --model <id> និង /model <id> កំណត់រឿងដូចគ្នា។
ANTHROPIC_DEFAULT_HAIKU_MODEL ម៉ូដែលសម្រាប់ request ផ្ទៃខាងក្រោយ ដូចជាចំណងជើង session និងសម្រាប់អ្វីដែលសុំ haiku។
ANTHROPIC_DEFAULT_SONNET_MODEL ម៉ូដែលដែលប្រើនៅពេល subagent ឬពាក្យបញ្ជាសុំ sonnet។
ANTHROPIC_DEFAULT_OPUS_MODEL ម៉ូដែលដែលប្រើនៅពេល subagent ឬពាក្យបញ្ជាសុំ opus។
CLAUDE_CODE_MAX_CONTEXT_TOKENS context window ដែល Claude Code សន្មត់សម្រាប់ម៉ូដែល។ ប្រើ context_window ដែល GET /v1/models រាយការណ៍សម្រាប់ id ដែលអ្នកបានជ្រើស។
  • កំណត់ variable ANTHROPIC_DEFAULT_…_MODEL ទាំងបី។ Subagent និងពាក្យបញ្ជាមួយចំនួនសុំម៉ូដែលតាមឈ្មោះដែលមានស្រាប់ ហើយឈ្មោះនីមួយៗត្រូវបានបកស្រាយទៅជា Shannon id។
  • គំរូនេះចង្អុលបង្ហាញ request ផ្ទៃខាងក្រោយទៅ shannon-1.6-lite ដែលត្រូវបានរាប់ជា token។ ចំណងជើង session និង request ស្រដៀងគ្នាមិនប្រើការហៅ Coder ទេ។
  • Claude Code សួរ POST /v1/messages/count_tokens អំពីទំហំ context។ endpoint រាប់សម្រាប់ម៉ូដែល open-weight ដែលបង្ហោះ។ ជាមួយ Shannon id វាឆ្លើយ 400; Claude Code ចាត់ទុកការរាប់ token ជាជម្រើស ហើយប៉ាន់ស្មានទំហំដោយខ្លួនឯង។ ការរាប់ token

ដើម្បីពិនិត្យអាសយដ្ឋាន key និង model id មុនចាប់ផ្តើម tool សូមផ្ញើ request មួយដោយដៃ៖

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 និយាយជាមួយ Responses API។ ពិពណ៌នា Shannon ជា model provider ក្នុង ~/.codex/config.toml ជ្រើស Shannon model id នៅទីនោះ ហើយដាក់ API key របស់អ្នកក្នុង environment variable ដែល 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 ការពិពណ៌នា
model Shannon model id។ codex --model <id> កំណត់វាសម្រាប់ការដំណើរការមួយដង។
model_provider ឈ្មោះរបស់ block provider ដែលត្រូវប្រើ នៅទីនេះគឺ shannon។
base_url អាសយដ្ឋាន API ជាមួយ /v1។
env_key ឈ្មោះរបស់ environment variable ដែលមាន Shannon API key របស់អ្នក។
wire_api responses៖ Codex និយាយជាមួយ POST /v1/responses។
model_context_window context window របស់ម៉ូដែល ដើម្បីឱ្យ Codex បង្រួម session វែងទាន់ពេល។ ប្រើ context_window ដែល GET /v1/models រាយការណ៍។
  • /v1/responses មិនរក្សាការសន្ទនាលើ server ទេ៖ រាល់ request មានការសន្ទនាក្នុង input។ previous_response_id ត្រូវបានទទួលយកដើម្បីភាពត្រូវគ្នា។
  • Function tool (type: "function") ត្រូវបានផ្តល់ជូនម៉ូដែលលើ /v1/responses។
  • លើ /v1/responses shannon-coder-1 ត្រូវបានរាប់ជា token ពីសមតុល្យរបស់អ្នក មិនមែនជាការហៅ Coder ទេ។

ការពិនិត្យដូចគ្នាសម្រាប់ 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."
  }'

ម៉ូដែល coding និងរបៀបដែលវាត្រូវបានរាប់

shannon-coder-1 គឺជាម៉ូដែល Shannon សម្រាប់ coding agent។ GET /v1/models រាយការណ៍វាដោយមាន context window 131,072 token, ការហៅ tool, reasoning និង text input។ វាត្រូវបានរាប់តាមវិធីមួយក្នុងចំណោមពីរ អាស្រ័យលើ endpoint ដែល tool ប្រើ។

Endpoint Request មួយតម្លៃ យកពី
/v1/messages 1 ការហៅក្នុងមួយ request កូតាការហៅ Coder នៃគម្រោងរបស់អ្នក។ គ្មាន token ត្រូវបានយកពីសមតុល្យរបស់អ្នកទេ។
/v1/chat/completions 1 ការហៅក្នុងមួយ request កូតាការហៅ Coder នៃគម្រោងរបស់អ្នក។ គ្មាន token ត្រូវបានយកពីសមតុល្យរបស់អ្នកទេ។
/v1/responses Token ក្នុងតម្លៃ $8.00 ក្នុង 1M សមតុល្យរបស់អ្នក ដូចម៉ូដែលផ្សេងទៀត។ កូតាការហៅមិនត្រូវបានប្រើទេ។

ការហៅមួយគឺ request មួយ ទោះទំហំប៉ុនណា។ វាត្រូវបានរាប់នៅពេល request ត្រូវបានទទួលយក មុនម៉ូដែលឆ្លើយ។ session របស់ agent ផ្ញើ request មួយសម្រាប់រាល់ជំហានដែលវាធ្វើ ដូច្នេះការងារវែងប្រើការហៅច្រើន។ កូតាអាស្រ័យលើគម្រោងរបស់អ្នក ហើយចាប់ផ្តើមឡើងវិញរៀងរាល់ 4 ម៉ោង នៅម៉ោង 00:00, 04:00, 08:00, 12:00, 16:00 និង 20:00 UTC។

គម្រោង ការហៅក្នុងមួយចន្លោះ 4 ម៉ោង
Free 3
Plus 20
Standard 40
Pro 60

ទំព័រគម្រោងបង្ហាញលេខបច្ចុប្បន្ន។ គម្រោង

នៅពេលការហៅក្នុងចន្លោះពេលមួយត្រូវបានប្រើអស់ request ត្រូវបានឆ្លើយដោយ 429។ លើ /v1/messages កំហុសដូចគ្នាមកក្នុងរូបរាង 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"
  }
}

context លើស

នៅពេលការសន្ទនាធំជាង context window របស់ម៉ូដែល /v1/chat/completions និង /v1/messages ឆ្លើយដោយ 400 ប្រភេទ invalid_request_error កូដ context_length_exceeded និងសារដែលចាប់ផ្តើមដោយ prompt is too long។ ឧបករណ៍សរសេរកូដអានកំហុសនេះដើម្បីបង្រួម session ហើយផ្ញើ request ម្តងទៀត។ វាត្រូវបានបង្កើតដោយ shannon-coder-1, shannon-1.6-lite និង 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
  }
}

សារគឺ prompt is too long: <sent> tokens > <limit> maximum។ នៅពេលមិនស្គាល់លេខទាំងពីរ វាគឺ prompt is too long. Please compact the conversation and try again.

លើ stream ស្ថានភាពគឺ 200 រួចហើយ ដូច្នេះកំហុសមកដល់ជា event ហើយ stream បិទតាមរបៀបធម្មតា៖

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

អ្វីដែល agent loop អាចពឹងផ្អែកបាន

ប្រធានបទ ឥរិយាបថ
Schema របស់ tool និយមន័យ tool ត្រូវបានយកតាមដែល tool ផ្ញើ។ លើ shannon-coder-1 និង shannon-1.6-* keyword របស់ JSON Schema ដែលម៉ូដែលមិនប្រើ ដូចជា $schema, $ref, additionalProperties, default និង title ត្រូវបានទុកចោលពីអ្វីដែលម៉ូដែលអាន ហើយ oneOf ត្រូវបានអានជា anyOf។ គ្មាន request ត្រូវបានបដិសេធដោយសារពួកវាទេ។
អាគុយម៉ង់នៃការហៅ tool ក្នុង stream អាគុយម៉ង់នៃការហៅ tool មកដល់ពេញលេញក្នុង delta តែមួយ៖ tool_calls[].function.arguments, input_json_delta.partial_json ឬ response.function_call_arguments.delta។
ចុងបញ្ចប់នៃវគ្គ tool finish_reason: "tool_calls" សម្រាប់ Chat Completions និង stop_reason: "tool_use" សម្រាប់ Messages។
Keep-alive ខណៈម៉ូដែលធ្វើការ /v1/messages ផ្ញើ event: ping ហើយ /v1/chat/completions ផ្ញើបន្ទាត់មតិយោបល់ : ping រៀងរាល់ 15 វិនាទី។
ការបញ្ឈប់ request ការបិទការតភ្ជាប់បញ្ឈប់ stream។ វគ្គខ្លួនឯងដំណើរការរហូតដល់ចប់ ហើយត្រូវបានរាប់។

ការដោះស្រាយបញ្ហា

រោគសញ្ញា មូលហេតុ ដំណោះស្រាយ
400 ជាមួយ unknown model: claude-… ឬ unknown model: gpt-… tool បានផ្ញើឈ្មោះម៉ូដែលលំនាំដើមរបស់ខ្លួន។ មានតែ Shannon id ដែលបានផ្សព្វផ្សាយប៉ុណ្ណោះដែលត្រូវបានបម្រើ ហើយគ្មានឈ្មោះផ្សេងត្រូវបានផ្គូផ្គងទៅវាទេ។ ជ្រើស Shannon id៖ ANTHROPIC_MODEL និង variable ANTHROPIC_DEFAULT_…_MODEL ទាំងបីក្នុង Claude Code, model ក្នុងការកំណត់ Codex។
400 ជាមួយ unknown model: ហើយគ្មានឈ្មោះ ពី Codex CLI request មិនបានដាក់ឈ្មោះម៉ូដែលទេ។ /v1/responses ត្រូវការមួយ។ កំណត់ model ក្នុង ~/.codex/config.toml ឬបញ្ចូល --model។
401 ជាមួយ Missing authentication ឬ Invalid API key key មិនបានដល់ API ឬវាមិនមែនជា key បច្ចុប្បន្នទេ។ Shannon key ចាប់ផ្តើមដោយ sk-។ ពិនិត្យថា variable ត្រូវបានកំណត់នៅក្នុង shell ដែលចាប់ផ្តើម tool។ ចម្លង key ម្តងទៀតពី Keys & usage។
404 លើរាល់ request base URL មាន /v1 លើស ឬខ្វះមួយ សម្រាប់ tool។ Claude Code៖ អាសយដ្ឋានដោយគ្មាន /v1។ Codex CLI៖ អាសយដ្ឋានជាមួយ /v1។
429 ជាមួយ Shannon Coder call quota reached ការហៅ Coder នៃចន្លោះពេល 4 ម៉ោងបច្ចុប្បន្នត្រូវបានប្រើអស់។ រង់ចាំចន្លោះពេលបន្ទាប់ ប្តូរទៅគម្រោងដែលមានការហៅច្រើនជាង ឬជ្រើសម៉ូដែលដែលរាប់ជា token។
429 ជាមួយ Quota exceeded សមតុល្យរបស់អ្នកមិនគ្រប់គ្រាន់សម្រាប់ request ទេ។ បន្ថែមឥណទាន ឬរង់ចាំកូតាប្រចាំថ្ងៃនៃគម្រោងរបស់អ្នកនៅម៉ោង 00:00 UTC។
400 ជាមួយ prompt is too long ការសន្ទនាធំជាង context window របស់ម៉ូដែល។ បង្រួម session (/compact ក្នុង tool ទាំងពីរ)។ ប្រាប់ tool អំពី context window របស់ម៉ូដែល ដើម្បីឱ្យវាបង្រួមឱ្យលឿនជាងមុន។
Claude Code បង្ហាញលេខ context ប្រហែល /v1/messages/count_tokens រាប់សម្រាប់ម៉ូដែល open-weight ដែលបង្ហោះ។ ជាមួយ Shannon id វាឆ្លើយ 400 ហើយ Claude Code ប៉ាន់ស្មានទំហំដោយខ្លួនឯង។ គ្មានអ្វីត្រូវជួសជុលទេ។ ជ្រើសម៉ូដែល open-weight ដែលបង្ហោះ ប្រសិនបើអ្នកចង់បានការរាប់ត្រឹមត្រូវ។
រូបថតអេក្រង់ដែលបិទភ្ជាប់មិនត្រូវបានគិតបញ្ចូល shannon-coder-1 ទទួល text input។ ជ្រើសម៉ូដែលដែលទទួលរូបភាពសម្រាប់ session នោះ។

key និងសមតុល្យរបស់អ្នកស្ថិតនៅទំព័រ Keys & usage។ Keys & usage