مواد پر جائیں
CLI کوڈنگ ٹولز

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/messages
POST /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-lite
shannon-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
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_…_MODEL variables سیٹ کریں۔ Subagents اور کچھ کمانڈز ماڈل کو اس کے بلٹ ان نام سے مانگتے ہیں، اور ہر نام کو ایک Shannon id پر پہنچنا چاہیے۔
  • نمونہ بیک گراؤنڈ درخواستوں کو shannon-1.6-lite کی طرف کرتا ہے، جو ٹوکنز میں گنا جاتا ہے۔ اس طرح سیشن کے عنوانات اور ایسی ہی درخواستیں Coder کالز استعمال نہیں کرتیں۔
  • Claude Code کانٹیکسٹ کے سائز کے لیے POST /v1/messages/count_tokens سے پوچھتا ہے۔ یہ endpoint ہوسٹڈ اوپن ویٹ ماڈلز کے لیے گنتی کرتا ہے۔ Shannon id کے ساتھ یہ 400 سے جواب دیتا ہے؛ Claude Code ٹوکن گنتی کو اختیاری سمجھتا ہے اور سائز کا اندازہ خود لگا لیتا ہے۔ ٹوکن گنتی

ٹول شروع کرنے سے پہلے پتہ، کلید اور ماڈل id جانچنے کے لیے ہاتھ سے ایک درخواست بھیجیں:

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 کو ماڈل پرووائیڈر کے طور پر بیان کریں، وہاں Shannon ماڈل id منتخب کریں، اور اپنی API کلید اس environment variable میں رکھیں جس کا نام پرووائیڈر دیتا ہے۔

~/.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"
شیل
# 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
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 کی شکل میں آتا ہے۔

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

کانٹیکسٹ اوور فلو

جب گفتگو ماڈل کی کانٹیکسٹ ونڈو سے بڑی ہو تو /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 پیدا کرتے ہیں۔

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. ہوتا ہے۔

سٹریم پر اسٹیٹس پہلے ہی 200 ہوتا ہے، اس لیے ایرر ایونٹ کے طور پر آتا ہے اور سٹریم پھر عام طریقے سے بند ہو جاتی ہے:

/v1/chat/completions، سٹریم
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، سٹریم
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