အကြောင်းအရာသို့ ကျော်သွားရန်
CLI coding tools

CLI coding tools

အသစ်

Claude Code၊ Codex CLI နှင့် အခြား agent CLI များ၏ နောက်ကွယ်ရှိ model အဖြစ် Shannon ကို အသုံးပြုပါ။

coding tool တစ်ခုသည် Shannon နှင့် အလုပ်လုပ်ရန် setting သုံးခု လိုအပ်သည်- API ၏ base URL၊ သင့် API key နှင့် Shannon model id။ ဤစာမျက်နှာတွင် Claude Code နှင့် Codex CLI အတွက် တိကျသော settings များကို ဖော်ပြထားပြီး coding model shannon-coder-1 ကို မည်သို့ ရေတွက်သည်ကို ရှင်းပြကာ ဤ tool များ ကြုံတွေ့ရသော အမှားများကို စာရင်းပြုစုထားသည်။

tool တစ်ခုစီ အသုံးပြုသော endpoint

Tool Endpoint သတ်မှတ်ရန် Base URL မှတ်ချက်
Claude Code POST /v1/messages
POST /v1/messages/count_tokens
https://api.shannon-ai.com tool သည် base URL သို့ /v1/messages ကို ကိုယ်တိုင်ထည့်ပေါင်းသည်။
Codex CLI POST /v1/responses https://api.shannon-ai.com/v1 tool သည် base URL သို့ /responses ကို ထည့်ပေါင်းသည်။
OpenAI chat format ကို အသုံးပြုသည့် အခြား agent tool များ POST /v1/chat/completions https://api.shannon-ai.com/v1 base URL၊ key နှင့် Shannon model id ကို tool ၏ ကိုယ်ပိုင် settings တွင် သတ်မှတ်ပါ။

endpoint သုံးခုလုံးသည် Authorization: Bearer အဖြစ်ဖြစ်စေ x-api-key အဖြစ်ဖြစ်စေ တူညီသော API key ကို လက်ခံသည်။ ဤ tool များ ပို့သော anthropic-version၊ anthropic-beta နှင့် openai-beta headers များကိုလည်း လက်ခံသည်။

Shannon model တစ်ခု ရွေးချယ်ခြင်း

request တိုင်းတွင် Shannon ထုတ်ပြန်ထားသော model id တစ်ခုကို အမည်ပေးရမည်။ သင်မပြောင်းပါက coding tool သည် ၎င်း၏ ကိုယ်ပိုင် default model အမည်ကို ပို့ပြီး Shannon မထုတ်ပြန်ထားသော အမည်ကို 400 နှင့် unknown model: <name> မက်ဆေ့ချ်ဖြင့် ဖြေကြားသည်။ အခြားအမည်များကို Shannon model သို့ မချိတ်ထားသဖြင့် ပထမဆုံး request မတိုင်မီ tool တွင် model ကို သတ်မှတ်ပါ။

GET /v1/models သည် id တိုင်းကို ၎င်း၏ context window နှင့်အတူ စာရင်းပြသည်။ key မလိုအပ်ပါ။ Model များနှင့် ဈေးနှုန်း

Model ရေတွက်ပုံ ရရှိသည့်အရာ
shannon-coder-1 /v1/messages နှင့် /v1/chat/completions တွင် request တစ်ခုလျှင် call တစ်ခု။ /v1/responses တွင် tokens။ coding အတွက် model ဖြစ်သည်။ စာသားကိုသာ လက်ခံပြီး tool calls ပါဝင်ကာ context window မှာ 131,072 tokens ဖြစ်သည်။
shannon-1.6-lite
shannon-1.6-pro
သင့် လက်ကျန်ငွေ မှ နုတ်ယူသော tokens များ။ tool calls ပါသော အထွေထွေသုံး models များ။ shannon-1.6-lite သည် tool တစ်ခု ပို့သော တိုတောင်းသည့် နောက်ခံ request များနှင့် သင့်တော်သည်။
Host လုပ်ထားသော open-weight မော်ဒယ်များ သင့် လက်ကျန်ငွေ မှ tokens၊ cache လုပ်ထားသော input ကို input ဈေးနှုန်း၏ 25% ဖြင့်။ Tool calls၊ ကြာရှည်သော session များအတွက် prompt caching နှင့် /v1/messages/count_tokens မှ တိကျသော ရေတွက်မှုများ။

Coding tool များသည် ရှည်လျားသော system prompt ဖြင့် model ကို ထိန်းကျောင်းသည်။ system prompt ကို shannon-coder-1၊ shannon-1.6-lite၊ shannon-1.6-pro၊ shannon-2-lite၊ shannon-2-pro နှင့် host လုပ်ထားသော open-weight models များက အသုံးပြုသဖြင့် coding tool အတွက် ၎င်းတို့အနက် တစ်ခုကို ရွေးပါ။

Claude Code

Claude Code သည် ၎င်း၏ ချိတ်ဆက်မှုကို environment variable များမှ ဖတ်သည်။ ၎င်းကို စတင်သည့် shell တွင် သတ်မှတ်ပါ၊ သို့မဟုတ် session တိုင်းအတွက် ထားရှိလိုပါက ~/.claude/settings.json ၏ env block တွင် သတ်မှတ်ပါ။

# 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 ၏ model။ claude --model <id> နှင့် /model <id> တို့သည် တူညီသည့်အရာကို သတ်မှတ်သည်။
ANTHROPIC_DEFAULT_HAIKU_MODEL session ခေါင်းစဉ်များကဲ့သို့ နောက်ခံ request များအတွက် model၊ နှင့် haiku တောင်းဆိုသည့် အရာအားလုံးအတွက်လည်း။
ANTHROPIC_DEFAULT_SONNET_MODEL subagent သို့မဟုတ် command က sonnet တောင်းဆိုသောအခါ အသုံးပြုသော model။
ANTHROPIC_DEFAULT_OPUS_MODEL subagent သို့မဟုတ် command က opus တောင်းဆိုသောအခါ အသုံးပြုသော model။
CLAUDE_CODE_MAX_CONTEXT_TOKENS Claude Code က model အတွက် ယူဆသော context window။ ရွေးထားသော id အတွက် GET /v1/models ဖော်ပြသည့် context_window ကို သုံးပါ။
  • ANTHROPIC_DEFAULT_…_MODEL variable သုံးခုလုံးကို သတ်မှတ်ပါ။ Subagent များနှင့် အချို့ command များသည် model ကို built-in အမည်ဖြင့် တောင်းဆိုသဖြင့် အမည်တစ်ခုစီသည် Shannon id တစ်ခုသို့ ညွှန်းရမည်။
  • နမူနာတွင် နောက်ခံ request များကို tokens ဖြင့် ရေတွက်သော shannon-1.6-lite သို့ ညွှန်းထားသည်။ ထိုအခါ session ခေါင်းစဉ်များနှင့် အလားတူ request များသည် Coder calls ကို မသုံးပါ။
  • Claude Code သည် context အရွယ်အစားအတွက် POST /v1/messages/count_tokens ကို မေးသည်။ ဤ endpoint သည် host လုပ်ထားသော open-weight models များအတွက် ရေတွက်ပေးသည်။ Shannon id ဖြင့်ဆိုလျှင် 400 ဖြင့် ဖြေသည်၊ Claude Code သည် token ရေတွက်ခြင်းကို ရွေးချယ်စရာအဖြစ် သတ်မှတ်ပြီး အရွယ်အစားကို ကိုယ်တိုင် ခန့်မှန်းသည်။ Token ရေတွက်ခြင်း

tool မစတင်မီ လိပ်စာ၊ key နှင့် model id ကို စစ်ဆေးရန် 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 နှင့် ဆက်သွယ်သည်။ ~/.codex/config.toml တွင် Shannon ကို model provider အဖြစ် ဖော်ပြပါ၊ ထိုနေရာတွင် Shannon model id တစ်ခုကို ရွေးပါ၊ ပြီးလျှင် provider က အမည်ပေးထားသော environment variable တွင် သင့် API key ကို ထည့်ပါ။

~/.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> သည် run တစ်ကြိမ်အတွက် သတ်မှတ်ပေးသည်။
model_provider အသုံးပြုမည့် provider block ၏ အမည်၊ ဤနေရာတွင် shannon။
base_url /v1 ပါသော API လိပ်စာ။
env_key သင့် Shannon API key ကို ကိုင်ထားသည့် environment variable ၏ အမည် ဖြစ်သည်။
wire_api responses: Codex သည် POST /v1/responses နှင့် ဆက်သွယ်သည်။
model_context_window model ၏ context window၊ Codex သည် ကြာရှည်သော session ကို အချိန်မီ compact လုပ်နိုင်ရန်။ GET /v1/models ဖော်ပြသည့် context_window ကို သုံးပါ။
  • /v1/responses သည် server ပေါ်တွင် စကားပြောဆိုမှုကို မသိမ်းပါ- request တစ်ခုစီသည် စကားပြောဆိုမှုကို input ထဲတွင် သယ်ဆောင်သည်။ previous_response_id ကို ကိုက်ညီမှုအတွက် လက်ခံသည်။
  • Function tools (type: "function") များကို /v1/responses တွင် model သို့ ပေးအပ်သည်။
  • /v1/responses တွင် shannon-coder-1 ကို Coder calls ဖြင့်မဟုတ်ဘဲ သင့် လက်ကျန်ငွေ မှ tokens ဖြင့် ရေတွက်သည်။

Responses endpoint အတွက် တူညီသော စစ်ဆေးမှု-

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 model နှင့် ၎င်းကို ရေတွက်ပုံ

shannon-coder-1 သည် coding agent များအတွက် Shannon model ဖြစ်သည်။ GET /v1/models က ၎င်းကို 131,072 tokens ပါသော context window၊ tool calls၊ reasoning နှင့် စာသား input ပါသည်ဟု ဖော်ပြသည်။ tool တစ်ခု အသုံးပြုသော endpoint ပေါ်မူတည်၍ နည်းလမ်းနှစ်မျိုးအနက် တစ်မျိုးဖြင့် ရေတွက်သည်။

Endpoint Request တစ်ခု၏ ကုန်ကျစရိတ် နုတ်ယူရာ
/v1/messages request တစ်ခုလျှင် call 1 ခု သင့် plan ၏ Coder call ခွင့်ပြုချက်။ သင့် လက်ကျန်ငွေ မှ tokens မနုတ်ပါ။
/v1/chat/completions request တစ်ခုလျှင် call 1 ခု သင့် plan ၏ Coder call ခွင့်ပြုချက်။ သင့် လက်ကျန်ငွေ မှ tokens မနုတ်ပါ။
/v1/responses Tokens၊ 1M လျှင် $8.00 အခြား model များကဲ့သို့ သင့် လက်ကျန်ငွေ။ call ခွင့်ပြုချက်ကို မသုံးပါ။

call တစ်ခုဆိုသည်မှာ အရွယ်အစား မည်သို့ပင်ဖြစ်စေ request တစ်ခုဖြစ်သည်။ request ကို လက်ခံသည့်အခါ model မဖြေမီ ရေတွက်သည်။ agent session သည် လုပ်ဆောင်သော အဆင့်တိုင်းအတွက် request တစ်ခု ပို့သဖြင့် ကြာရှည်သောလုပ်ငန်းသည် call များစွာ သုံးသည်။ ခွင့်ပြုချက်သည် သင့် plan ပေါ်မူတည်ပြီး 4 နာရီတိုင်း၊ 00:00၊ 04:00၊ 08:00၊ 12:00၊ 16:00 နှင့် 20:00 UTC တွင် ပြန်စသည်။

Plan 4 နာရီ window တစ်ခုလျှင် Calls
Free 3
Plus 20
Standard 40
Pro 60

လက်ရှိနံပါတ်များကို plan စာမျက်နှာတွင် ပြထားသည်။ Plans

window တစ်ခု၏ calls ကုန်သွားလျှင် 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 ကျော်လွန်ခြင်း

စကားပြောဆိုမှုသည် model ၏ context window ထက် ပိုကြီးလျှင် /v1/chat/completions နှင့် /v1/messages တို့သည် 400၊ type invalid_request_error၊ code context_length_exceeded နှင့် prompt is too long ဖြင့် စတင်သော မက်ဆေ့ချ်တို့ဖြင့် ဖြေကြားသည်။ Coding tool များသည် session ကို compact လုပ်ပြီး 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 တွင် status သည် 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 တစ်ခု အားထားနိုင်သည့်အရာများ

ခေါင်းစဉ် ပြုမူပုံ
Tool schemas Tool အဓိပ္ပာယ်ဖွင့်ဆိုချက်များကို tool ပို့သည့်အတိုင်း လက်ခံသည်။ shannon-coder-1 နှင့် shannon-1.6-* တွင် model မသုံးသော JSON Schema keyword များ၊ ဥပမာ $schema၊ $ref၊ additionalProperties၊ default နှင့် title တို့ကို model ဖတ်သည့်အရာမှ ဖယ်ထားပြီး oneOf ကို anyOf အဖြစ် ဖတ်သည်။ ၎င်းတို့ကြောင့် မည်သည့် request ကိုမျှ ငြင်းပယ်ခြင်း မရှိပါ။
Tool call arguments stream တွင် tool call ၏ arguments များသည် delta တစ်ခုတည်းဖြင့် ပြည့်စုံစွာ ရောက်လာသည်- tool_calls[].function.arguments၊ input_json_delta.partial_json သို့မဟုတ် response.function_call_arguments.delta။
Tool turn ၏ အဆုံး Chat Completions တွင် finish_reason: "tool_calls" ဖြစ်ပြီး Messages တွင် stop_reason: "tool_use" ဖြစ်သည်။
Keep-alive model အလုပ်လုပ်နေစဉ် /v1/messages သည် event: ping ကို၊ /v1/chat/completions သည် : ping comment စာကြောင်းကို 15 စက္ကန့်တိုင်း ပို့သည်။
Request ကို ရပ်ခြင်း ချိတ်ဆက်မှုကို ပိတ်လိုက်လျှင် stream ရပ်သည်။ turn ကိုယ်တိုင်မူ အဆုံးထိ run ပြီး ရေတွက်သည်။

ပြဿနာဖြေရှင်းခြင်း

လက္ခဏာ အကြောင်းရင်း ဖြေရှင်းနည်း
unknown model: claude-… သို့မဟုတ် unknown model: gpt-… ပါသော 400 tool သည် ၎င်း၏ ကိုယ်ပိုင် default model အမည်ကို ပို့ခဲ့သည်။ ထုတ်ပြန်ထားသော Shannon id များကိုသာ ဝန်ဆောင်မှုပေးပြီး အခြားအမည်များကို မည်သည့် id သို့မျှ မချိတ်ထားပါ။ Shannon id တစ်ခုကို ရွေးပါ- Claude Code တွင် ANTHROPIC_MODEL နှင့် ANTHROPIC_DEFAULT_…_MODEL variable သုံးခု၊ Codex config တွင် model။
Codex CLI မှ အမည်မပါသော unknown model: ပါသည့် 400 request တွင် model အမည် မပါပါ။ /v1/responses တွင် တစ်ခု လိုအပ်သည်။ ~/.codex/config.toml တွင် model ကို သတ်မှတ်ပါ၊ သို့မဟုတ် --model ကို ပေးပါ။
Missing authentication သို့မဟုတ် Invalid API key ပါသော 401 key သည် API သို့ မရောက်ခဲ့ပါ၊ သို့မဟုတ် လက်ရှိ key မဟုတ်ပါ။ Shannon key သည် sk- ဖြင့် စတင်သည်။ tool ကို စတင်သည့် shell တွင် variable သတ်မှတ်ထားကြောင်း စစ်ဆေးပါ။ Keys & usage မှ key ကို ထပ်မံကူးယူပါ။
request တိုင်းတွင် 404 base URL တွင် tool အတွက် /v1 တစ်ခု ပိုနေသည် သို့မဟုတ် လိုနေသည်။ Claude Code- /v1 မပါသော လိပ်စာ။ Codex CLI- /v1 ပါသော လိပ်စာ။
Shannon Coder call quota reached ပါသော 429 လက်ရှိ 4 နာရီ window ၏ Coder calls ကုန်သွားပြီ။ နောက် window ကို စောင့်ပါ၊ calls ပိုများသော plan သို့ ပြောင်းပါ၊ သို့မဟုတ် tokens ဖြင့် ရေတွက်သော model ကို ရွေးပါ။
Quota exceeded ပါသော 429 သင့် လက်ကျန်ငွေ သည် request ကို မဖုံးလွှမ်းနိုင်ပါ။ credit ထပ်ထည့်ပါ၊ သို့မဟုတ် သင့် plan ၏ နေ့စဉ် allowance ကို 00:00 UTC တွင် စောင့်ပါ။
prompt is too long ပါသော 400 စကားပြောဆိုမှုသည် model ၏ context window ထက် ပိုကြီးနေသည်။ session ကို compact လုပ်ပါ (tool နှစ်ခုလုံးတွင် /compact)။ tool က ပိုစောစောစွာ compact လုပ်နိုင်ရန် model ၏ context window ကို tool သို့ ပြောပါ။
Claude Code က ခန့်မှန်း context နံပါတ်များကို ပြသည် /v1/messages/count_tokens သည် host လုပ်ထားသော open-weight models များအတွက် ရေတွက်ပေးသည်။ Shannon id ဖြင့်ဆိုလျှင် 400 ဖြင့် ဖြေပြီး Claude Code က အရွယ်အစားကို ကိုယ်တိုင် ခန့်မှန်းသည်။ ပြင်ရန် မလိုပါ။ တိကျသော ရေတွက်မှုများ လိုချင်လျှင် host လုပ်ထားသော open-weight model တစ်ခုကို ရွေးပါ။
paste လုပ်ထားသော screenshot ကို ထည့်သွင်းမစဉ်းစားပါ shannon-coder-1 သည် စာသား input ကိုသာ လက်ခံသည်။ ထို session အတွက် ပုံကို လက်ခံသော model တစ်ခုကို ရွေးပါ။

သင့် key နှင့် လက်ကျန်ငွေ တို့ကို Keys & usage စာမျက်နှာတွင် ကြည့်နိုင်သည်။ Keys & usage