CLI کوڈنگ ٹولز
نیاShannon کو Claude Code، Codex CLI اور دیگر ایجنٹ CLI ٹولز کے پیچھے ماڈل کے طور پر استعمال کریں۔
کوڈنگ ٹول کو Shannon کے ساتھ کام کرنے کے لیے تین سیٹنگز چاہییں: API کا بیس URL، آپ کی API کلید، اور ایک Shannon ماڈل id۔ یہ صفحہ Claude Code اور Codex CLI کے لیے درست سیٹنگز دیتا ہے، بتاتا ہے کہ کوڈنگ ماڈل shannon-coder-1 کی گنتی کیسے ہوتی ہے، اور ان ٹولز کو پیش آنے والے ایررز کی فہرست دیتا ہے۔
ہر ٹول کون سا endpoint استعمال کرتا ہے
| ٹول | Endpoint | سیٹ کرنے کا بیس URL | نوٹ |
|---|---|---|---|
| Claude Code | POST /v1/messagesPOST /v1/messages/count_tokens | https://api.shannon-ai.com | ٹول بیس URL میں /v1/messages خود شامل کرتا ہے۔ |
| Codex CLI | POST /v1/responses | https://api.shannon-ai.com/v1 | ٹول بیس URL میں /responses شامل کرتا ہے۔ |
| دیگر ایجنٹ ٹولز جو OpenAI چیٹ فارمیٹ بولتے ہیں | POST /v1/chat/completions | https://api.shannon-ai.com/v1 | ٹول کی اپنی سیٹنگز میں بیس URL، کلید اور Shannon ماڈل id سیٹ کریں۔ |
تینوں endpoints ایک ہی API کلید لیتے ہیں، Authorization: Bearer کے طور پر یا x-api-key کے طور پر۔ یہ ٹولز جو anthropic-version، anthropic-beta اور openai-beta ہیڈرز بھیجتے ہیں وہ قبول کیے جاتے ہیں۔
Shannon ماڈل منتخب کریں
ہر درخواست میں ایسے ماڈل id کا نام ہونا چاہیے جو Shannon شائع کرتا ہے۔ کوڈنگ ٹول، جب تک آپ اسے نہ بتائیں، اپنے ڈیفالٹ ماڈل کا نام بھیجتا ہے، اور جو نام Shannon شائع نہیں کرتا اس کا جواب 400 اور پیغام unknown model: <name> سے دیا جاتا ہے۔ کوئی دوسرا نام Shannon ماڈل سے میپ نہیں کیا جاتا، اس لیے پہلی درخواست سے پہلے ٹول میں ماڈل سیٹ کریں۔
GET /v1/models ہر id کو اس کی کانٹیکسٹ ونڈو کے ساتھ درج کرتا ہے۔ اس کے لیے کلید کی ضرورت نہیں۔ ماڈلز اور قیمتیں
| ماڈل | شمار ہوتا ہے بطور | یہ کیا دیتا ہے |
|---|---|---|
shannon-coder-1 | /v1/messages اور /v1/chat/completions پر فی درخواست ایک کال۔ /v1/responses پر ٹوکنز۔ | کوڈنگ ماڈل۔ متن ان پٹ، ٹول کالز، 131,072 ٹوکنز کی کانٹیکسٹ ونڈو۔ |
shannon-1.6-liteshannon-1.6-pro | آپ کے بیلنس سے ٹوکنز۔ | ٹول کالز والے عمومی ماڈلز۔ shannon-1.6-lite ان مختصر بیک گراؤنڈ درخواستوں کے لیے موزوں ہے جو ٹول کرتا ہے۔ |
| ہوسٹڈ اوپن ویٹ ماڈلز | آپ کے بیلنس سے ٹوکنز، کیشڈ ان پٹ ان پٹ قیمت کے 25% پر۔ | ٹول کالز، لمبے سیشنز کے لیے پرامپٹ کیشنگ، اور /v1/messages/count_tokens سے درست گنتی۔ |
کوڈنگ ٹولز ماڈل کو لمبے سسٹم پرامپٹ سے چلاتے ہیں۔ سسٹم پرامپٹ کو shannon-coder-1، shannon-1.6-lite، shannon-1.6-pro، shannon-2-lite، shannon-2-pro اور ہوسٹڈ اوپن ویٹ ماڈلز لاگو کرتے ہیں، اس لیے کوڈنگ ٹول کے لیے ان میں سے کوئی منتخب کریں۔
Claude Code
Claude Code اپنا کنکشن environment variables سے پڑھتا ہے۔ انہیں اس شیل میں سیٹ کریں جو اسے شروع کرتا ہے، یا ~/.claude/settings.json کے env بلاک میں تاکہ وہ ہر سیشن کے لیے برقرار رہیں۔
# 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 {
"env": {
"ANTHROPIC_BASE_URL": "https://api.shannon-ai.com",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "shannon-coder-1",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "shannon-coder-1",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "shannon-coder-1",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "shannon-1.6-lite",
"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "131072"
}
} | Variable | تفصیل |
|---|---|
ANTHROPIC_BASE_URL | وہ جگہ جہاں Claude Code اپنی درخواستیں بھیجتا ہے۔ /v1 کے بغیر پتہ استعمال کریں۔ |
ANTHROPIC_AUTH_TOKEN | آپ کی Shannon API کلید، جو Authorization: Bearer کے طور پر بھیجی جاتی ہے۔ ANTHROPIC_API_KEY بھی کام کرتا ہے: یہ کلید کو x-api-key کے طور پر بھیجتا ہے، اور Claude Code ایک بار منظوری مانگتا ہے۔ |
ANTHROPIC_MODEL | سیشن کا ماڈل۔ claude --model <id> اور /model <id> یہی چیز سیٹ کرتے ہیں۔ |
ANTHROPIC_DEFAULT_HAIKU_MODEL | بیک گراؤنڈ درخواستوں کے لیے ماڈل، جیسے سیشن کے عنوانات، اور ہر اس چیز کے لیے جو haiku مانگے۔ |
ANTHROPIC_DEFAULT_SONNET_MODEL | وہ ماڈل جو تب استعمال ہوتا ہے جب کوئی subagent یا کمانڈ sonnet مانگے۔ |
ANTHROPIC_DEFAULT_OPUS_MODEL | وہ ماڈل جو تب استعمال ہوتا ہے جب کوئی subagent یا کمانڈ opus مانگے۔ |
CLAUDE_CODE_MAX_CONTEXT_TOKENS | وہ کانٹیکسٹ ونڈو جو Claude Code ماڈل کے لیے فرض کرتا ہے۔ آپ کے منتخب کردہ id کے لیے GET /v1/models جو context_window بتاتا ہے وہی استعمال کریں۔ |
- تینوں
ANTHROPIC_DEFAULT_…_MODELvariables سیٹ کریں۔ Subagents اور کچھ کمانڈز ماڈل کو اس کے بلٹ ان نام سے مانگتے ہیں، اور ہر نام کو ایک Shannon id پر پہنچنا چاہیے۔ - نمونہ بیک گراؤنڈ درخواستوں کو
shannon-1.6-liteکی طرف کرتا ہے، جو ٹوکنز میں گنا جاتا ہے۔ اس طرح سیشن کے عنوانات اور ایسی ہی درخواستیں Coder کالز استعمال نہیں کرتیں۔ - Claude Code کانٹیکسٹ کے سائز کے لیے
POST /v1/messages/count_tokensسے پوچھتا ہے۔ یہ endpoint ہوسٹڈ اوپن ویٹ ماڈلز کے لیے گنتی کرتا ہے۔ Shannon id کے ساتھ یہ400سے جواب دیتا ہے؛ Claude Code ٹوکن گنتی کو اختیاری سمجھتا ہے اور سائز کا اندازہ خود لگا لیتا ہے۔ ٹوکن گنتی
ٹول شروع کرنے سے پہلے پتہ، کلید اور ماڈل id جانچنے کے لیے ہاتھ سے ایک درخواست بھیجیں:
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 کو ماڈل پرووائیڈر کے طور پر بیان کریں، وہاں Shannon ماڈل id منتخب کریں، اور اپنی API کلید اس environment variable میں رکھیں جس کا نام پرووائیڈر دیتا ہے۔
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" # 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 | کلید | تفصیل |
|---|---|
model | Shannon ماڈل id۔ codex --model <id> اسے ایک رن کے لیے سیٹ کرتا ہے۔ |
model_provider | استعمال کیے جانے والے پرووائیڈر بلاک کا نام، یہاں shannon۔ |
base_url | /v1 کے ساتھ API کا پتہ۔ |
env_key | اس environment variable کا نام جس میں آپ کی Shannon API کلید ہے۔ |
wire_api | responses: Codex POST /v1/responses سے بات کرتا ہے۔ |
model_context_window | ماڈل کی کانٹیکسٹ ونڈو، تاکہ Codex لمبے سیشن کو وقت پر کمپیکٹ کرے۔ GET /v1/models جو context_window بتاتا ہے وہی استعمال کریں۔ |
/v1/responsesسرور پر کوئی گفتگو نہیں رکھتا: ہر درخواست گفتگو کوinputمیں لے کر آتی ہے۔previous_response_idہم آہنگی کے لیے قبول کیا جاتا ہے۔- فنکشن ٹولز (
type: "function")/v1/responsesپر ماڈل کو پیش کیے جاتے ہیں۔ /v1/responsesپرshannon-coder-1آپ کے بیلنس کے ٹوکنز میں گنا جاتا ہے، Coder کالز میں نہیں۔
Responses endpoint کے لیے وہی جانچ:
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."
}' کوڈنگ ماڈل اور اس کی گنتی کیسے ہوتی ہے
shannon-coder-1 کوڈنگ ایجنٹس کے لیے Shannon ماڈل ہے۔ GET /v1/models اسے 131,072 ٹوکنز کی کانٹیکسٹ ونڈو، ٹول کالز، reasoning اور متن ان پٹ کے ساتھ رپورٹ کرتا ہے۔ اس کی گنتی دو طریقوں میں سے ایک سے ہوتی ہے، اس بات پر منحصر کہ ٹول کون سا endpoint استعمال کرتا ہے۔
| Endpoint | ایک درخواست کی لاگت | جہاں سے لیا جاتا ہے |
|---|---|---|
/v1/messages | فی درخواست 1 کال | آپ کے پلان کا Coder کال الاؤنس۔ آپ کے بیلنس سے کوئی ٹوکن نہیں لیا جاتا۔ |
/v1/chat/completions | فی درخواست 1 کال | آپ کے پلان کا Coder کال الاؤنس۔ آپ کے بیلنس سے کوئی ٹوکن نہیں لیا جاتا۔ |
/v1/responses | ٹوکنز، $8.00 فی 1M پر | آپ کا بیلنس، کسی بھی دوسرے ماڈل کی طرح۔ کال الاؤنس استعمال نہیں ہوتا۔ |
کال ایک درخواست ہے، اس کا سائز کچھ بھی ہو۔ یہ درخواست قبول ہوتے ہی، ماڈل کے جواب دینے سے پہلے، گنی جاتی ہے۔ ایجنٹ سیشن ہر قدم کے لیے ایک درخواست بھیجتا ہے، اس لیے لمبا کام بہت سی کالز استعمال کرتا ہے۔ الاؤنس آپ کے پلان پر منحصر ہے اور ہر 4 گھنٹے بعد دوبارہ شروع ہوتا ہے، یعنی 00:00، 04:00، 08:00، 12:00، 16:00 اور 20:00 UTC پر۔
| پلان | فی 4 گھنٹے ونڈو کالز |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
پلان کا صفحہ موجودہ اعداد دکھاتا ہے۔ پلانز
جب ونڈو کی کالز ختم ہو جائیں تو درخواست کا جواب 429 سے دیا جاتا ہے۔ /v1/messages پر وہی ایرر Anthropic کی شکل میں آتا ہے۔
{
"error": {
"type": "rate_limit_error",
"message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan"
}
} کانٹیکسٹ اوور فلو
جب گفتگو ماڈل کی کانٹیکسٹ ونڈو سے بڑی ہو تو /v1/chat/completions اور /v1/messages جواب میں 400، type invalid_request_error، code context_length_exceeded اور prompt is too long سے شروع ہونے والا پیغام دیتے ہیں۔ کوڈنگ ٹولز یہ ایرر پڑھ کر سیشن کمپیکٹ کرتے ہیں اور درخواست دوبارہ بھیجتے ہیں۔ یہ shannon-coder-1، shannon-1.6-lite اور shannon-1.6-pro پیدا کرتے ہیں۔
{
"error": {
"type": "invalid_request_error",
"code": "context_length_exceeded",
"message": "prompt is too long: 140211 tokens > 131072 maximum",
"param": null
}
} {
"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. ہوتا ہے۔
سٹریم پر اسٹیٹس پہلے ہی 200 ہوتا ہے، اس لیے ایرر ایونٹ کے طور پر آتا ہے اور سٹریم پھر عام طریقے سے بند ہو جاتی ہے:
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] 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"} ایجنٹ لوپ کس پر بھروسا کر سکتا ہے
| موضوع | رویہ |
|---|---|
| ٹول اسکیماز | ٹول تعریفیں ویسی ہی لی جاتی ہیں جیسی ٹول بھیجتا ہے۔ shannon-coder-1 اور shannon-1.6-* پر JSON Schema کے وہ کلیدی الفاظ جو ماڈل استعمال نہیں کرتا، جیسے $schema، $ref، additionalProperties، default اور title، ماڈل کے پڑھے جانے والے مواد سے نکال دیے جاتے ہیں، اور oneOf کو anyOf کی طرح پڑھا جاتا ہے۔ ان کی وجہ سے کوئی درخواست مسترد نہیں ہوتی۔ |
| ٹول کال کے آرگیومنٹس | سٹریم میں ٹول کال کے آرگیومنٹس ایک ہی ڈیلٹا میں مکمل آتے ہیں: tool_calls[].function.arguments، input_json_delta.partial_json یا response.function_call_arguments.delta۔ |
| ٹول ٹرن کا اختتام | Chat Completions پر finish_reason: "tool_calls" ہوتا ہے، اور Messages پر stop_reason: "tool_use"۔ |
| Keep-alive | ماڈل کے کام کرنے کے دوران /v1/messages ہر 15 سیکنڈ بعد event: ping بھیجتا ہے اور /v1/chat/completions : ping تبصرے والی لائن بھیجتا ہے۔ |
| درخواست روکنا | کنکشن بند کرنے سے سٹریم رک جاتی ہے۔ ٹرن خود اپنے اختتام تک چلتا ہے اور شمار ہوتا ہے۔ |
مسائل کا حل
| علامت | وجہ | حل |
|---|---|---|
400 کے ساتھ unknown model: claude-… یا unknown model: gpt-… | ٹول نے اپنے ڈیفالٹ ماڈل کا نام بھیجا۔ صرف شائع شدہ Shannon ids فراہم کیے جاتے ہیں، اور کوئی دوسرا نام ان سے میپ نہیں ہوتا۔ | Shannon id منتخب کریں: Claude Code میں ANTHROPIC_MODEL اور تینوں ANTHROPIC_DEFAULT_…_MODEL variables، Codex کنفیگ میں model۔ |
Codex CLI سے 400 کے ساتھ unknown model: اور کوئی نام نہیں | درخواست میں کسی ماڈل کا نام نہیں تھا۔ /v1/responses کو ایک چاہیے۔ | ~/.codex/config.toml میں model سیٹ کریں یا --model دیں۔ |
401 کے ساتھ Missing authentication یا Invalid API key | کلید API تک نہیں پہنچی، یا وہ موجودہ کلید نہیں ہے۔ Shannon کلید sk- سے شروع ہوتی ہے۔ | جانچیں کہ variable اسی شیل میں سیٹ ہے جو ٹول شروع کرتا ہے۔ کلید Keys & usage سے دوبارہ کاپی کریں۔ |
ہر درخواست پر 404 | بیس URL میں ٹول کے لیے ایک /v1 زیادہ ہے یا کم۔ | Claude Code: /v1 کے بغیر پتہ۔ Codex CLI: /v1 کے ساتھ پتہ۔ |
429 کے ساتھ Shannon Coder call quota reached | موجودہ 4 گھنٹے کی ونڈو کی Coder کالز ختم ہو چکی ہیں۔ | اگلی ونڈو کا انتظار کریں، زیادہ کالز والے پلان پر جائیں، یا ایسا ماڈل منتخب کریں جو ٹوکنز میں گنا جاتا ہو۔ |
429 کے ساتھ Quota exceeded | آپ کا بیلنس درخواست کے لیے کافی نہیں۔ | کریڈٹ شامل کریں، یا 00:00 UTC پر اپنے پلان کے روزانہ الاؤنس کا انتظار کریں۔ |
400 کے ساتھ prompt is too long | گفتگو ماڈل کی کانٹیکسٹ ونڈو سے بڑی ہے۔ | سیشن کمپیکٹ کریں (دونوں ٹولز میں /compact)۔ ٹول کو ماڈل کی کانٹیکسٹ ونڈو بتائیں تاکہ وہ پہلے کمپیکٹ کرے۔ |
| Claude Code کانٹیکسٹ کے اعداد تقریبی دکھاتا ہے | /v1/messages/count_tokens ہوسٹڈ اوپن ویٹ ماڈلز کے لیے گنتی کرتا ہے۔ Shannon id کے ساتھ یہ 400 سے جواب دیتا ہے، اور Claude Code سائز کا اندازہ خود لگاتا ہے۔ | درست کرنے کو کچھ نہیں۔ اگر درست گنتی چاہیے تو ہوسٹڈ اوپن ویٹ ماڈل منتخب کریں۔ |
| پیسٹ کیا گیا اسکرین شاٹ مدنظر نہیں رکھا جاتا | shannon-coder-1 متن ان پٹ لیتا ہے۔ | اس سیشن کے لیے ایسا ماڈل منتخب کریں جو تصاویر لیتا ہو۔ |
آپ کی کلید اور آپ کا بیلنس Keys & usage صفحے پر ہیں۔ Keys & usage