local-first چھوڑے بغیر Jan میں cloud کیٹلاگ models شامل کریں۔
Updated 2026-07-29
Jan design کے مطابق آپ کی مشین پر models چلاتا ہے، اور اس کی Model Providers settings ان دنوں کے لیے کوئی بھی OpenAI-compatible endpoint قبول کرتی ہیں جب local کافی نہ ہو: ایک provider شامل کریں، Base URL کو https://api.apisrouter.com/v1 پر سیٹ کریں، ایک key paste کریں، اور Claude، GPT، Gemini، اور DeepSeek ids آپ کی local lineup میں شامل ہو جاتی ہیں۔
فوری جواب: Settings میں ایک provider۔
Jan کی Settings کھولیں اور Model Providers پر جائیں۔ provider list کے ساتھ موجود plus control پر کلک کر کے custom provider شامل کریں، اسے نام دیں (APIsRouter)، اور حالیہ builds پر جب dialog پوچھے تو OpenAI API format چنیں (Jan v0.8.1 نے OpenAI-یا-Anthropic format selector شامل کیا؛ gateway کے لیے OpenAI چنیں)۔ پھر وہ دو fields بھریں جو اہم ہیں: Base URL https://api.apisrouter.com/v1 اور آپ کی API key۔ جو models آپ چاہتے ہیں انہیں id سے شامل کریں: Jan کے docs واضح طور پر کہتے ہیں کہ id property اس model name سے میچ ہونی چاہیے جو endpoint serve کرتا ہے، تو ids کیٹلاگ listing سے کاپی کریں (claude-sonnet-4-6، gpt-5.4-mini، gemini-3.5-flash) نہ کہ یادداشت سے ٹائپ کریں۔ Save کریں، اور ids آپ کے local چلانے والے models کے ساتھ model selector میں ظاہر ہو جاتی ہیں۔ Releases کے درمیان labels بدلے ہیں (پرانے versions اس area کو Remote Engines کہتے تھے)، تو provider، format، URL، key، models کو stable skeleton سمجھیں۔
Name: APIsRouter
API Format: OpenAI (v0.8.1+ selector)
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Models: add ids that match the endpoint, e.g.
claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flashJan remote providers کو کیسے treat کرتا ہے۔
Jan (GitHub پر menloresearch، تقریباً 44K stars) local-first desktop client ہے: models آپ کی مشین پر download ہوتی ہیں، llama.cpp کے ذریعے چلتی ہیں، اور offline کام کرتی ہیں، اور app دوسرے tools کے لیے http://127.0.0.1:1337/v1 پر اپنا خود کا OpenAI-compatible server بھی expose کرتا ہے۔ Remote providers جان بوجھ کر دوسری lane ہیں، ان models کے لیے جو local چلانے کے لیے بہت بڑی ہیں یا ان tasks کے لیے جو frontier quality کے حق دار ہیں۔ OpenAI format میں ایک custom provider ایک سادہ endpoint تفصیل ہے: base URL، key، declared model ids۔ ان ids کے خلاف conversations standard chat-completions requests کے طور پر نکلتی ہیں، id model string کے طور پر، تو ایک multi-vendor gateway کو بالکل ایک entry چاہیے۔ محتاط لکھائی کے لیے Claude، volume summarization کے لیے DeepSeek، رفتار کے لیے Gemini، سب کے پیچھے ایک key۔ Philosophical fit پہلی نظر سے بہتر ہے۔ Local-first users معمول کے مطابق اس بارے میں محتاط رہتے ہیں کہ مشین سے کیا باہر جائے، اور ایک gateway remote lane کو یکساں طور پر محتاط رکھتا ہے: firewall کرنے کے لیے ایک endpoint، پڑھنے کے لیے ایک usage log، ایک balance جو صرف تب حرکت کرے جب آپ نے کچھ بھیجنے کا انتخاب کیا ہو۔ local lane کے بارے میں کچھ نہیں بدلتا؛ آپ کی downloaded models بالکل پہلے کی طرح offline کام کرتی رہتی ہیں۔
Models declare کرنا: id contract۔
Jan آپ کے لیے کسی custom endpoint کا catalog fetch نہیں کرتا؛ جو models آپ declare کریں وہی models آپ کو ملتی ہیں، اور id ہی contract ہے۔ authoritative spelling gateway کی /v1/models listing سے آتی ہے، version suffixes سمیت۔ ایک declared id جو listing سے ہٹ جائے وہ صرف تب not-found errors دیتی ہے جب وہ model select کی جائے، جو strings compare کرنے تک ایک flaky provider جیسا لگتا ہے۔ Deliberately declare کریں۔ ایک local-first picker بہترین اس وقت کام کرتا ہے جب remote rows کم اور مقصدی ہوں: روزمرہ remote turns کے لیے ایک تیز id (gpt-5.4-mini یا claude-haiku-4-5-20251001)، اس کام کے لیے ایک frontier id جو مشین چھوڑنے کا جواز رکھے (claude-sonnet-4-6)، اور جو بھی specialist آپ کا workload کمائے (لمبے multilingual summaries کے لیے deepseek-v4-flash، جب latency ہی feature ہو تو gemini-3.5-flash)۔ ہر row بعد میں شامل کرنا آسان ہے؛ pasted-in catalog روزانہ scroll کرنے والا شور ہے۔ اگر آپ Jan کا local API server بھی دوسرے tools کے لیے استعمال کرتے ہیں، تو mental model صاف رکھیں: وہ server Jan کا 127.0.0.1:1337/v1 پر provider ہونا ہے؛ custom provider entry Jan کا client ہونا ہے۔ دونوں خودمختار ہیں، اور ایک configure کرنا دوسرے کو کبھی متاثر نہیں کرتا۔
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# declare these ids verbatim in the provider's model listکون سی conversations مشین چھوڑیں یہ چننا۔
چونکہ remote usage prepaid اور فی-key metered ہے، remote lane کی قیمت ایک عدد ہے جو آپ پڑھتے ہیں، ایسی subscription نہیں جس کا آپ اندازہ لگائیں۔ اپنی حقیقی تقسیم کا ایک مہینہ چلائیں اور usage log بتاتا ہے کہ مشین چھوڑنے پر واقعی کیا لاگت آتی ہے، فی model، فی دن۔
- روزمرہ remote turns، فوری سوالات، rewrites، ترجمے، تیز tier کے حق دار ہیں: gpt-5.4-mini اور claude-haiku-4-5-20251001 تیزی سے جواب دیتے ہیں اور balance تقریباً ساکت رکھتے ہیں۔
- claude-sonnet-4-6 اس کام کے لیے step-up ہے جسے local model واضح طور پر نہیں اٹھا سکتا: لمبی محتاط لکھائی، باریک code review، ایسا تجزیہ جو آپ آگے forward کریں۔
- gemini-3.5-flash اپنی latency پر اپنی row کماتا ہے؛ مختصر interactive turns کے لیے یہ local model کی responsiveness کے قریب ترین محسوس ہوتا ہے۔
- deepseek-v4-flash لمبے documents summarize کرنے کے لیے volume pick ہے جنہیں آپ کسی چھوٹے local model کو نہ کھلائیں۔
- نجی مواد کو مکمل طور پر local models پر رکھیں؛ lanes کے درمیان یہی تقسیم Jan چلانے کا اصل نکتہ ہے۔
استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| ماڈل | سرکاری قیمت | ہماری قیمت |
|---|---|---|
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.4 mini | $0.75 / $4.50 per M | $0.60 / $3.60 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Flash | $0.14 / $0.28 per M | $0.10 / $0.30 per M |
Jan سے مخصوص failure modes۔
کسی خاص model پر not-found errors id contract کا مسئلہ ہیں: declared id endpoint کی spelling سے میچ نہیں کرتی۔ /v1/models output کے ساتھ حرف بہ حرف موازنہ کریں۔ ہر request پر authentication failures key field کا مسئلہ ہیں۔ جو provider save تو ہو مگر کبھی جواب نہ دے اس میں عموماً Base URL کا مسئلہ ہوتا ہے: /v1 suffix موجود ہونا چاہیے، کیونکہ Jan آپ کے دیے گئے base میں /chat/completions جیسے route paths append کرتا ہے، اور ایک doubled یا missing segment 404 دیتا ہے۔ اگر provider کسی پرانی build پر بنائی گئی تھی، تو API format چیک کریں: v0.8.1 نے OpenAI-یا-Anthropic selector متعارف کرایا، اور غلطی سے Anthropic format پر سیٹ ہوئی ایک gateway entry ایک /v1/chat/completions endpoint سے غلط dialect بولتی ہے۔ اور یاد رکھیں آپ کون سی lane debug کر رہے ہیں۔ Local model failures (VRAM، quantization، llama.cpp settings) اور remote failures (URL، key، ids) ایک chat window share کرتی ہیں مگر اور کچھ نہیں؛ model selector دکھاتا ہے کہ کوئی فیل ہونے والی conversation کس lane سے تعلق رکھتی ہے اس سے پہلے کہ آپ غلط دھاگہ کھینچنا شروع کریں۔
Jan میں gateway lane کون شامل کرتا ہے۔
- وہ local-first users جنہیں کبھی کبھار frontier quality چاہیے اور جو وہ occasional lane vendor subscription کی بجائے prepaid balance پر چاہتے ہیں۔
- وہ developers جن کی مشینیں بڑے local models اچھی طرح نہیں چلا سکتیں، Jan کو interface اور gateway کو بھاری کام کے لیے استعمال کرتے ہوئے۔
- وہ privacy-deliberate users جو بالکل ایک remote endpoint کے بارے میں سوچنا، firewall کرنا، اور audit کرنا چاہتے ہیں، فی vendor ایک کی بجائے۔
- وہ لوگ جو حقیقی tasks پر local بمقابلہ cloud output compare کرتے ہیں، جہاں remote candidates declared rows ہیں، نئے accounts نہیں۔
- وہ developers جن کے پاس کسی مخصوص vendor کی billing تک رسائی نہیں۔ Top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider sign-up کا انحصار ختم کر دیتی ہے۔
Endpoint verify کریں اور پہلا remote turn debug کریں۔
پہلے models listing اور ایک chat completion curl کریں؛ دونوں pass ہونے سے، جو کچھ بچتا ہے وہ provider entry میں ہے۔ یہ آپ کو declare کرنے کے لیے exact id spellings بھی دیتا ہے۔ Jan کے اندر، تیز remote id پر ایک مختصر message بھیجیں۔ Authentication errors key ہیں؛ not-found id ہے؛ خاموشی یا 404s Base URL shape ہیں۔ اگر remote lane کام کرتی ہے مگر frontier id پر سست محسوس ہو، تو یہ model latency ہے، configuration مسئلہ نہیں؛ reasoning models لمبے turns پر اپنا وقت لیتی ہیں۔ جب remote turns چلنے لگیں، APIsRouter console per-request model، token counts، اور spend دکھاتا ہے۔ ایک local-first user کے لیے یہ log خاص طور پر تسلی بخش پڑھائی ہے: یہ ہر اس چیز کا مکمل ریکارڈ ہے جو کبھی مشین سے باہر گئی، فی model، فی دن، جہاں local lane اس میں بالکل کچھ contribute نہیں کرتی۔
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.4-mini",
"messages":[{"role":"user","content":"ping"}]}'عمومی سوالات
میں Jan میں custom OpenAI-compatible provider کیسے شامل کروں؟
Settings، Model Providers، پھر provider شامل کرنے کے لیے plus control۔ اسے نام دیں، جو builds پوچھیں (v0.8.1+) ان پر OpenAI API format چنیں، Base URL https://api.apisrouter.com/v1 سیٹ کریں، اپنی key paste کریں، اور وہ model ids declare کریں جو endpoint کی listing سے میچ کرتی ہیں۔
میری declared model not-found کیوں لوٹاتی ہے؟
Jan declared id کو model string کے طور پر جوں کی توں بھیجتا ہے، اور اس کے docs کہتے ہیں کہ id endpoint کے model name سے بالکل میچ ہونی چاہیے۔ یادداشت سے ids ٹائپ کرنے کی بجائے /v1/models listing نکالیں اور spelling کاپی کریں، version suffixes سمیت۔
کیا remote provider شامل کرنا local models کے کام کرنے کے طریقے کو بدلتا ہے؟
نہیں۔ Local models llama.cpp کے ذریعے device پر چلتی رہتی ہیں، offline سمیت۔ provider entry selector میں ایک الگ remote lane شامل کرتی ہے، اور conversations نیٹ ورک کو صرف تب چھوتی ہیں جب آپ کوئی remote id چنیں۔
کیا Base URL میں /v1 شامل ہونا چاہیے؟
جی ہاں: https://api.apisrouter.com/v1۔ Jan آپ کے configure کردہ base میں /chat/completions جیسے routes append کرتا ہے، تو missing /v1 404 دیتا ہے اور doubled بھی۔ اگر requests فیل ہوں، تو کچھ اور بدلنے سے پہلے error میں composed URL پڑھیں۔
کیا Jan ایک provider entry کے ذریعے Claude اور Gemini تک پہنچ سکتا ہے؟
جی ہاں۔ OpenAI format میں model id plain string کے طور پر سفر کرتی ہے، تو claude-sonnet-4-6، gemini-3.5-flash، gpt-5.4-mini، اور deepseek-v4-flash سب ایک entry کے تحت declared، ایک key سے bill شدہ، اور فی conversation switchable ہو سکتی ہیں۔
کیا یہ Jan کے local API server جیسا ہی ہے؟
نہیں۔ 127.0.0.1:1337/v1 پر local server Jan کا اپنی local models کو دوسرے tools تک serve کرنا ہے۔ custom provider entry Jan کا ایک remote endpoint consume کرنا ہے۔ یہ خودمختار features ہیں جو OpenAI wire format share کرتی ہیں۔