أضف نماذج الكتالوج السحابية إلى Jan دون مغادرة local-first.
Updated 2026-07-29
يشغّل Jan النماذج على جهازك بالتصميم، وتقبل إعدادات Model Providers الخاصة به أي نقطة نهاية متوافقة مع OpenAI للأيام التي لا يكفي فيها المحلي: أضف مزوّداً، اضبط Base URL على https://api.apisrouter.com/v1، الصق مفتاحاً واحداً، وتنضم معرّفات Claude وGPT وGemini وDeepSeek إلى تشكيلتك المحلية.
إجابة سريعة: مزوّد واحد في Settings.
افتح Settings في Jan واذهب إلى Model Providers. انقر عنصر التحكم بعلامة الجمع بجانب قائمة المزوّدين لإضافة مزوّد مخصص، أعطه اسماً (APIsRouter)، وعلى الإصدارات الحديثة اختر تنسيق OpenAI API عندما يسأل الحوار (أضاف Jan v0.8.1 مُحدِّد تنسيق OpenAI-أو-Anthropic؛ بالنسبة للبوابة اختر OpenAI). ثم املأ الحقلين المهمَّين: Base URL بقيمة https://api.apisrouter.com/v1 ومفتاح API الخاص بك. أضف النماذج التي تريدها بالمعرّف: توثيق Jan صريح بأن خاصية id يجب أن تطابق اسم النموذج الذي تخدمه نقطة النهاية، لذا انسخ المعرّفات من قائمة الكتالوج (claude-sonnet-4-6، gpt-5.4-mini، gemini-3.5-flash) بدلاً من الكتابة من الذاكرة. احفظ، وتظهر المعرّفات في منتقي النموذج بجانب أي شيء تشغّله محلياً. تحرّكت التسميات بين الإصدارات (الإصدارات الأقدم سمّت هذه المنطقة Remote Engines)، لذا عامل مزوّد، تنسيق، URL، مفتاح، نماذج، كالهيكل الثابت.
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-flashكيف يعامل Jan المزوّدين البعيدين.
Jan (menloresearch على GitHub، بنحو 44 ألف نجمة) هو عميل سطح المكتب local-first: النماذج تُنزَّل إلى جهازك، تعمل عبر llama.cpp، وتعمل دون اتصال، مع أن التطبيق يُظهِر حتى خادمه الخاص المتوافق مع OpenAI على http://127.0.0.1:1337/v1 لأدوات أخرى. المزوّدون البعيدون هم الممر الثاني المقصود، للنماذج الكبيرة جداً على التشغيل المحلي أو المهام التي تستحق جودة حديثة. مزوّد مخصص بتنسيق OpenAI هو وصف نقطة نهاية بسيط: base URL، مفتاح، معرّفات نماذج مُعلَنة. المحادثات مقابل تلك المعرّفات تخرج كطلبات chat-completions قياسية بالمعرّف كسلسلة النموذج، لذا بوابة متعددة البائعين تحتاج مُدخَلاً واحداً بالضبط. Claude للكتابة الدقيقة، DeepSeek للتلخيص الحجمي، Gemini للسرعة، مفتاح واحد خلفها جميعاً. التناسب الفلسفي أفضل مما يبدو للوهلة الأولى. مستخدمو local-first يميلون إلى التعمّد بشأن ما يغادر الجهاز، والبوابة تُبقي الممر البعيد متعمَّداً بالمثل: نقطة نهاية واحدة لتقييدها بجدار ناري، سجل استخدام واحد لقراءته، رصيد واحد يتحرك فقط عندما تختار إرسال شيء. لا شيء في الممر المحلي يتغيّر؛ نماذجك المُنزَّلة تستمر في العمل دون اتصال تماماً كما كانت.
إعلان النماذج: عقد المعرّف.
لا يجلب Jan كتالوج نقطة نهاية مخصصة نيابة عنك؛ النماذج التي تعلنها هي النماذج التي تحصل عليها، والمعرّف هو العقد. الهجاء المرجعي يأتي من قائمة /v1/models الخاصة بالبوابة، بما في ذلك لواحق الإصدار. معرّف مُعلَن ينحرف عن القائمة ينتج أخطاء not-found فقط عند اختيار ذلك النموذج، وهو ما يبدو كمزوّد غير مستقر حتى تقارن السلاسل. أعلن بتعمّد. منتقي local-first يعمل بشكل أفضل عندما تكون الصفوف البعيدة قليلة ومقصودة: معرّف سريع واحد للأدوار البعيدة اليومية (gpt-5.4-mini أو claude-haiku-4-5-20251001)، معرّف حديث واحد للعمل الذي يبرر مغادرة الجهاز (claude-sonnet-4-6)، وأياً كان المتخصص الذي يستحقه حِمل عملك (deepseek-v4-flash للملخصات الطويلة متعددة اللغات، gemini-3.5-flash عندما تكون زمن الاستجابة هي الميزة). كل صف سهل الإضافة لاحقاً؛ كتالوج مُلصَق ضجيج تمرّ عليه يومياً بالتمرير. إذا استخدمت أيضاً خادم Jan المحلي لخدمة أدوات أخرى، أبقِ النموذج الذهني واضحاً: ذلك الخادم هو Jan وهو يعمل كمزوّد على 127.0.0.1:1337/v1؛ مُدخَل المزوّد المخصص هو Jan وهو يعمل كعميل. الاثنان مستقلان، وإعداد أحدهما لا يؤثر أبداً على الآخر.
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اختيار المحادثات التي تغادر الجهاز.
لأن الاستخدام البعيد مدفوع مسبقاً ومقاس لكل مفتاح، تكلفة الممر البعيد رقم تقرأه، لا اشتراك تخمّنه. شغّل شهراً من تقسيمك الحقيقي ويخبرك سجل الاستخدام بالضبط بما تكلّفه مغادرة الجهاز، لكل نموذج، لكل يوم.
- الأدوار البعيدة اليومية، الأسئلة السريعة، إعادة الصياغة، الترجمة، تنتمي إلى المستوى السريع: gpt-5.4-mini وclaude-haiku-4-5-20251001 يجيبان بسرعة ويُبقيان الرصيد شبه ثابت.
- claude-sonnet-4-6 هو الترقية للعمل الذي لا يستطيع نموذج محلي حمله بوضوح: صياغة طويلة دقيقة، مراجعة كود دقيقة، تحليل ستُرسِله لاحقاً.
- gemini-3.5-flash يستحق صفه في زمن الاستجابة؛ للأدوار التفاعلية القصيرة يشعر أقرب إلى استجابة نموذج محلي.
- deepseek-v4-flash هو الخيار الحجمي لتلخيص مستندات طويلة ما كنت ستُطعِمها لنموذج محلي صغير.
- أبقِ المواد الخاصة تماماً على النماذج المحلية؛ الفصل بين الممرَّين هو بيت القصيد من تشغيل 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.
أخطاء not-found على نموذج معيّن هي عقد المعرّف: المعرّف المُعلَن لا يطابق هجاء نقطة النهاية. قارن مقابل مخرجات /v1/models حرفاً بحرف. فشل المصادقة في كل طلب هو حقل المفتاح. مزوّد يُحفَظ لكن لا يجيب أبداً عادة لديه مشكلة Base URL: يجب أن تكون لاحقة /v1 موجودة، لأن Jan يُلحِق مسارات مثل /chat/completions بالـ base الذي تعطيه، وجزء مضاعَف أو مفقود ينتج 404. إذا أُنشئ المزوّد على إصدار أقدم، تحقق من تنسيق API: أضاف v0.8.1 مُحدِّد OpenAI-أو-Anthropic، ومُدخَل بوابة مضبوط عن طريق الخطأ على تنسيق Anthropic يتحدث اللهجة الخاطئة إلى نقطة نهاية /v1/chat/completions. وتذكّر أي ممر تصحّحه. أعطال النماذج المحلية (VRAM، التكميم، إعدادات llama.cpp) والأعطال البعيدة (URL، مفتاح، معرّفات) تشترك في نافذة محادثة لكن لا شيء آخر؛ منتقي النموذج يُظهِر أي ممر تنتمي إليه محادثة فاشلة قبل أن تبدأ بسحب الخيط الخاطئ.
من يضيف ممر بوابة إلى Jan.
- مستخدمو local-first الذين يحتاجون أحياناً جودة حديثة ويريدون ذلك الممر العرضي على رصيد مدفوع مسبقاً بدلاً من اشتراك بائع.
- المطورون على أجهزة لا تستطيع تشغيل نماذج محلية كبيرة جيداً، يستخدمون Jan كواجهة والبوابة للعمل الثقيل.
- المستخدمون المهتمون بالخصوصية عمداً الذين يريدون بالضبط نقطة نهاية بعيدة واحدة للتفكير فيها وتقييدها بجدار ناري ومراجعتها، بدلاً من واحدة لكل بائع.
- الأشخاص الذين يقارنون مُخرَج المحلي مقابل السحابي على مهام حقيقية، حيث المرشّحون البعيدون صفوف مُعلَنة، لا حسابات جديدة.
- المطورون الذين لا يملكون وصولاً إلى فوترة بائع معيّن. الوصول القائم على تعبئة الرصيد بدون شرط بطاقة يزيل الاعتماد على التسجيل لكل مزوّد.
تحقق من نقطة النهاية وصحّح أخطاء أول دور بعيد.
أجرِ curl على قائمة النماذج وإكمال محادثة واحد أولاً؛ مع نجاح كليهما، كل ما تبقى يعيش في مُدخَل المزوّد. هذا أيضاً يعطيك الهجاء الدقيق للمعرّفات لإعلانها. داخل Jan، أرسل رسالة قصيرة واحدة على المعرّف البعيد السريع. أخطاء المصادقة هي المفتاح؛ not-found هي المعرّف؛ الصمت أو 404 هو شكل Base URL. إذا عمل الممر البعيد لكن شعر ببطء على المعرّف الحديث، فذلك زمن استجابة النموذج، لا مشكلة إعداد؛ نماذج الاستدلال تأخذ وقتها على الأدوار الطويلة. بمجرد تدفّق الأدوار البعيدة، تعرض لوحة APIsRouter النموذج لكل طلب، وعدد tokens، والإنفاق. بالنسبة لمستخدم local-first، هذا السجل قراءة مُرضِية بشكل غير معتاد: هو السجل الكامل لكل ما غادر الجهاز على الإطلاق، لكل نموذج، لكل يوم، مع مساهمة الممر المحلي بلا شيء بالضبط فيه.
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"}]}'الأسئلة الشائعة
كيف أضيف مزوّداً مخصصاً متوافقاً مع OpenAI إلى Jan؟
Settings، Model Providers، ثم عنصر التحكم بعلامة الجمع لإضافة مزوّد. سمِّه، اختر تنسيق OpenAI API على الإصدارات التي تسأل (v0.8.1+)، اضبط Base URL بقيمة https://api.apisrouter.com/v1، الصق مفتاحك، وأعلن معرّفات نماذج تطابق قائمة نقطة النهاية.
لماذا يُعيد النموذج الذي أعلنته not-found؟
يرسل Jan المعرّف المُعلَن حرفياً كسلسلة النموذج، ويتطلب توثيقه أن يطابق المعرّف اسم نموذج نقطة النهاية تماماً. اسحب قائمة /v1/models وانسخ الهجاء، بما في ذلك لواحق الإصدار، بدلاً من كتابة المعرّفات من الذاكرة.
هل إضافة مزوّد بعيد تغيّر كيفية عمل النماذج المحلية؟
لا. تستمر النماذج المحلية في العمل على الجهاز عبر llama.cpp، بما في ذلك دون اتصال. مُدخَل المزوّد يضيف ممراً بعيداً منفصلاً إلى المنتقي، والمحادثات تلامس الشبكة فقط عندما تختار معرّفاً بعيداً.
هل يجب أن يتضمن Base URL لاحقة /v1؟
نعم: https://api.apisrouter.com/v1. يُلحِق Jan مسارات مثل /chat/completions بالـ base الذي تُعِدّه، لذا /v1 مفقود ينتج 404 وواحد مضاعَف كذلك. إذا فشلت الطلبات، اقرأ عنوان URL المُركَّب في الخطأ قبل تغيير أي شيء آخر.
هل يمكن لـ Jan الوصول إلى Claude وGemini عبر مُدخَل مزوّد واحد؟
نعم. في تنسيق OpenAI يسافر معرّف النموذج كسلسلة نصية عادية، لذا يمكن إعلان claude-sonnet-4-6 وgemini-3.5-flash وgpt-5.4-mini وdeepseek-v4-flash تحت مُدخَل واحد، مُفوتَرة عبر مفتاح واحد، ومُبدَّلة لكل محادثة.
هل هذا نفسه خادم Jan المحلي؟
لا. الخادم المحلي على 127.0.0.1:1337/v1 هو Jan وهو يخدم نماذجه المحلية لأدوات أخرى. مُدخَل المزوّد المخصص هو Jan وهو يستهلك نقطة نهاية بعيدة. هما ميزتان مستقلتان تتشاركان صدفة تنسيق سلك OpenAI.