استخدام QCode مع 9router
أضف QCode.cc بصفته مزوّدًا مخصصًا في 9router، وهو موجّه محلي متعدد المزوّدين، لتحقيق التبديل الاحتياطي بين المزوّدين والإدارة الموحدة
تحتاج مفتاح API؟ أنشئ حسابًا ←نقاط النهاية وعناوين Base URL ←
في هذه الصفحة
9router هو وكيل توجيه ذكاء اصطناعي محلي متعدد المزوّدين: يشغّل خدمة متوافقة مع OpenAI على جهازك (الافتراضي http://localhost:20128/v1)، ويتولى الطلبات الواردة من أدوات مثل Claude Code وCursor وCline وCodex، ثم يعيد توجيهها إلى عدة مزوّدين للنماذج وفقًا لقواعدك (بما في ذلك التبديل الاحتياطي التلقائي / التبديل عند نفاد الحصة / ضغط الإخراج لتوفير tokens، وغير ذلك). من حيث المفهوم، يشبه CCR الخاص بـ QCode — والفرق أن 9router يعمل على جهازك وأنت من يديره.
للاطلاع على الميزات والمنافذ وواجهة المستخدم بالضبط، راجع مستودع 9router الرسمي؛ تتناول هذه المقالة فقط «كيفية إضافة QCode إليه».
متى تحتاج إليه¶
- الاتصال المباشر بـ QCode أبسط: إذا كنت تستخدم QCode فقط، فوجّه BASE_URL الخاص بأداتك إلى
api.qcode.cc— ولست بحاجة إلى 9router. - متى يكون 9router منطقيًا: عندما تريد مزج QCode مع مزوّدين آخرين (خطط اشتراك، أرصدة ترويجية، استضافة ذاتية، وغير ذلك) وتحتاج إلى نقطة دخول موحدة، أو تبديل احتياطي تلقائي، أو تبديل بين المزوّدين، أو ضغط tokens، يمكنك تسجيل QCode بصفته أحد مزوّدي 9router (كمزوّد أساسي أو كطبقة احتياطية).
إضافة QCode بصفته مزوّدًا¶
- شغّل 9router وفق وثائقه وافتح وحدة التحكم المحلية (الافتراضي
http://localhost:20128). -
ضمن المزوّدين، أضف مزوّدًا مخصصًا / متوافقًا مع OpenAI (عقدة متوافقة):
-
نقطة النهاية / Base URL:
- الدردشة (عائلة GPT):
https://api.qcode.cc/openai/v1 - الدردشة (عائلة Claude، إذا كان 9router يدعم عقدًا ببروتوكول Anthropic):
https://api.qcode.cc/api - الصور (اختياري):
https://api.qcode.cc/qcode-img/v1(راجع الملاحظة أدناه) - في البر الرئيسي الصيني، استبدل النطاق بـ
asia.qcode.cc(نقطة الوصول الآسيوية القريبة).
- الدردشة (عائلة GPT):
- مفتاح API: مفتاح API الخاص بك في QCode (يبدأ بـ
cr_). - النماذج / الأسماء المستعارة: سجّل
claude-opus-5،claude-sonnet-5،gpt-6-sol،gpt-5.6-terra، إلخ حسب الحاجة (لا يزال الإصدار 4.x مثلclaude-sonnet-4-6معروضًا للبيع). - ضع مزوّد QCode هذا في سلسلة المستويات / السلسلة الاحتياطية لديك (مثلًا كمزوّد أساسي، أو كطبقة احتياطية عندما تنفد حصة المزوّدين الآخرين).
- وجّه أدواتك (Claude Code / Cursor / Cline، إلخ) إلى نقطة الدخول المحلية لـ 9router
http://localhost:20128/v1— ومنذ ذلك الحين يقرر 9router متى يوجّه الطلبات إلى QCode.
QCode مباشرةً مقابل استخدامه عبر 9router¶
| QCode مباشرةً | عبر 9router | |
|---|---|---|
| تعقيد الإعداد | منخفض (قيمة BASE_URL واحدة) | متوسط (يلزم إعداد المزوّد / الطبقة / الأسماء المستعارة) |
| الاحتياطي متعدد المزوّدين | لا يوجد | نعم (يمكن أن يكون QCode أساسيًا أو احتياطيًا) |
| المشاركة بين أعضاء الفريق | نعم (خدمة سحابية) | لا (9router محلي فقط؛ ولا تتم مشاركة الإعداد بين الأعضاء) |
| إحصاءات الاستخدام | دقيقة عبر لوحة تحكم QCode probe.qcode.cc | لا يعكس 9router سوى خيارات التوجيه الخاصة به؛ ولا تزال الحصص تتبع لوحة تحكم QCode |
| المسار | مباشر | طبقة وسيط محلية إضافية واحدة |
ملاحظات¶
- محلي فقط: يعمل 9router محليًا، ولا تتم مشاركة إعداده بين أعضاء الفريق.
- توجيه الصور يتطلب اختبارك بنفسك: يتيح 9router المسار
/v1/images/generations، لكن «استدعاءgpt-image-2الخاص بـ QCode عبر 9router» غير مُختبَر وقد يحتاج إلى إعداد إضافي؛ إذا كنت تحتاج إلى الموثوقية، فوجّه الصور عبر image-2 المباشر. - الحصص تتبع لوحة تحكم QCode: إحصاءات 9router ليست نفس حصة حساب QCode الفعلية لديك (الحدود اليومية لكل مفتاح، وما إلى ذلك، تتبع لوحة تحكم QCode / probe.qcode.cc).
- تعيين البروتوكول إلى المسار: يستخدم
/openai/v1بروتوكول OpenAI، ويستخدم/apiبروتوكول Anthropic، و/qcode-img/v1مخصص للصور — راجع نقاط النهاية وتنسيقات API.
التثبيت ونقطة النهاية المحلية (وفق README الرسمي لـ 9router)¶
حتى 2026-10-15، يكون البدء السريع في README الرسمي لـ 9router كما يلي: ثبّته باستخدام npm install -g 9router، وشغّله باستخدام 9router، وافتح لوحة التحكم على http://localhost:20128 افتراضيًا. في الأداة التي تريد الاتصال بها، عيّن نقطة النهاية إلى http://localhost:20128/v1 وانسخ مفتاح API من لوحة تحكم 9router. يذكر README أيضًا أن نقاط النهاية المخصصة المتوافقة مع OpenAI / Anthropic مدعومة، وبهذه الطريقة تُضاف QCode.
شرح الإعدادات الرئيسية¶
| العنصر في 9router | ما تُدخله لـ QCode | ملاحظات |
|---|---|---|
| النوع | مخصص / متوافق مع OpenAI (عقدة متوافقة) | تحتاج نماذج Claude إلى عقدة ببروتوكول Anthropic؛ ويتوقف ما إذا كانت الواجهة توفر واحدة على 9router |
| Base URL | https://api.qcode.cc/openai/v1 (نماذج GPT والنماذج الصينية) أو https://api.qcode.cc/api (Claude) |
دون شرطة مائلة في النهاية؛ استخدم asia.qcode.cc في البر الرئيسي للصين |
| مفتاح API | مفتاح QCode الخاص بك الذي يبدأ بـ cr_ |
المفتاح نفسه المستخدم في الاتصال المباشر |
| النموذج / الاسم المستعار | على سبيل المثال claude-sonnet-5، gpt-6-sol |
الاسم المستعار ليس سوى الاسم الداخلي في 9router؛ وما يصل إلى QCode يجب أن يكون معرّف النموذج الحقيقي |
| الطبقة / سلسلة الاحتياط | ضع QCode في موضع الأساسي أو الاحتياطي | يقرر 9router الترتيب؛ ولا يرى QCode سوى الطلبات التي تصل فعليًا |
الأخطاء الشائعة وكيفية استكشاف الأخطاء وإصلاحها¶
| العَرَض | السبب المحتمل | الإصلاح |
|---|---|---|
تعذّر على الأداة الوصول إلى localhost:20128 |
9router لا يعمل، أو المنفذ مشغول | تحقق من أن لوحة التحكم تُفتح في المتصفح، ثم أعد الاختبار في الأداة |
Invalid API key |
مفتاح QCode خاطئ أو محاط بمسافات زائدة، أو إدخال مفتاح 9router الخاص في مزوّد QCode | هما مفتاحان مختلفان: تحصل الأداة على المفتاح من لوحة التحكم في 9router، ويحصل مزوّد QCode على مفتاح cr_ |
model_not_available_on_endpoint |
وُجّه نموذج Claude إلى نقطة نهاية OpenAI | أنشئ عقدة منفصلة ببروتوكول Anthropic (/api) لـ Claude؛ راجع نقاط النهاية وصيغ API |
| 404 | إضافة /v1 أو غيابه في Base URL، أو وجود شرطة مائلة في النهاية |
قارن بالجدول أعلاه |
| يختلف الاستخدام عن لوحة التحكم في QCode | تعكس إحصاءات 9router توجيهه الخاص فقط | اعتمد على لوحة التحكم في QCode وprobe.qcode.cc |
استدعِ QCode مباشرة باستخدام curl أولًا (القسم 5 من نقاط النهاية وصيغ API) لتأكيد المفتاح والمسار، ثم استكشف أخطاء طبقة 9router. فهذا يوفر الكثير من الذهاب والإياب.
الأسئلة الشائعة¶
هل أحتاج إلى 9router إذا كنت أستخدم QCode فقط؟¶
لا. إذا كنت تستخدم QCode فقط، فوجّه BASE_URL الخاص بالأداة مباشرة إلى api.qcode.cc (أو asia.qcode.cc في البر الرئيسي للصين). هذا أبسط: وكيل محلي واحد أقل، وموضع واحد أقل لوقوع المشكلات.
لماذا تختلف التكلفة المعروضة في 9router عن فاتورة QCode الخاصة بي؟¶
الأرقام في 9router هي تقديرات خاصة به مبنية على خيارات التوجيه لديه. تحسب QCode الفاتورة لكل token، بأسعار لكل نموذج مدرجة في qcode.cc/models، ولوحة التحكم في QCode هي ما يُحتسب فعليًا.
هل يمكن لـ Claude Code استخدام نماذج Claude عبر 9router؟¶
فقط إذا كان 9router يدعم عقدة ببروتوكول Anthropic وكنت قد أعددت عنوان /api الخاص بـ QCode كعقدة من هذا النوع. مع وجود عقدة متوافقة مع OpenAI فقط، تُرفض نماذج Claude. تُوصَف واجهة المستخدم الدقيقة في مستودع 9router الرسمي.
كيف أتأكد من أن الطلبات التي تمر عبر 9router تصل فعليًا إلى QCode؟¶
أدخل مفتاح cr_ الخاص بك في probe.qcode.cc؛ إذا تمكنت من رؤية النموذج وtokens الطلب، فقد وصل. وإذا لم يكن كذلك، فتحقق مما إذا كان مزوّد QCode موجودًا في سلسلة المستويات / الاحتياط في 9router وما إذا كان موضعه متقدمًا بما يكفي.
يعمل مفتاح API واحد عبر بروتوكولين (Anthropic / OpenAI)، سواء اتصلت مباشرة أو عبر موجّه مثل 9router. تعرّف على أسعار QCode.cc.
ابدأ مع QCode
مفتاح API واحد لـ Claude Code وCodex وغيرها — تُحسب حسب التوكن، وأسعار كل نموذج على qcode.cc/models