شغّل عقلك الثاني في Khoj على base URL مخصص متوافق مع OpenAI.

Updated 2026-07-29

يوثّق Khoj إعداد بروكسي OpenAI بسطحين: متغيّر بيئة OPENAI_BASE_URL يزرع النماذج عند أول تشغيل، ومُدخَل AI Model API في اللوحة الإدارية بحقل Api Base Url. وجّه أياً منهما نحو https://api.apisrouter.com/v1 وتعمل المحادثة والوكلاء والأتمتة على أي نموذج في الكتالوج.

إجابة سريعة: متغيّر بيئة عند أول تشغيل، اللوحة الإدارية في أي وقت.

يحمل ملف compose الخاص باستضافة Khoj الذاتية سطر OPENAI_BASE_URL معلَّقاً، مقصوداً، بكلماته الخاصة، لمزوّدي OpenAI API متوافقين آخرين. اضبطه على https://api.apisrouter.com/v1 مع OPENAI_API_KEY يحمل مفتاح بوابة قبل أول إقلاع، ويفعل تهيئة Khoj شيئاً مفيداً بشكل غير معتاد: يستعلم عن قائمة نماذج نقطة النهاية ويزرع جدول نموذج المحادثة الخاص به بكل معرّف تخدمه نقطة النهاية، لذا يظهر الكتالوج في منتقي نموذج Khoj دون إدخال يدوي. على خادم مُهيَّأ بالفعل، استخدم اللوحة الإدارية بدلاً من ذلك. أنشئ مُدخَل AI Model API (الحقول: Name، Api Key، Api Base Url) يشير إلى البوابة، ثم أنشئ مُدخَلات Chat Model التي يكون Name فيها معرّف النموذج الدقيق، مع ضبط Model Type على Openai وربطه بذلك الـ AI Model API. كلا السطحين موثَّقان في دليل بروكسي OpenAI الخاص بـ Khoj على docs.khoj.dev.

services:
  server:
    environment:
      - OPENAI_BASE_URL=https://api.apisrouter.com/v1
      - OPENAI_API_KEY=sk-YOUR-APISROUTER-KEY

ما يفعله Khoj بنموذج المحادثة الخاص به.

Khoj (khoj-ai على GitHub، بنحو 36 ألف نجمة) هو عقل ثانٍ AI قابل للاستضافة الذاتية: يفهرس ملاحظاتك ومستنداتك (markdown، org-mode، PDF، وأكثر)، ثم يتيح لك المحادثة عليها، وتشغيل وكلاء مخصصين بشخصياتهم وأدواتهم الخاصة، وجدولة أتمتة تُطلَق على cron، وإطلاق تشغيلات بحث متعددة الخطوات. يوجد تطبيق مُستضاف، لكن الخادم ذاتي الاستضافة هو حيث تنطبق نقاط النهاية المخصصة، وهو النشرة التي تصفها هذه الصفحة. كل ميزة من هذه تمر عبر نموذج المحادثة الذي تختاره. محادثة المستندات تحزم مقاطع ملاحظات مسترجَعة في الموجّه، الوكلاء يضيفون استدعاءات أدوات وتعليمات شخصية، الأتمتة تشغّل نفس الأنبوب دون إشراف، ووضع البحث يسلسل استدعاءات نموذج كثيرة لكل سؤال. Model Type بقيمة Openai يخبر Khoj بالتحدث بـ /v1/chat/completions إلى Api Base Url الخاص بمُدخَل AI Model API المرتبط، مُمرِّراً Name النموذج كسلسلة نصية عادية، ولهذا يعمل معرّف Claude أو DeepSeek هناك طالما تخدمه نقطة النهاية. تضمينات البحث نظام فرعي مختلف. يُضمِّن Khoj مستنداتك بنموذج sentence-transformers محلي افتراضياً، لذا يستمر الفهرسة والبحث الدلالي في العمل بغض النظر عما تفعله بنقطة نهاية المحادثة. توجيه المحادثة عبر بوابة يُحرِّك فقط فاتورة الاستدلال.

الإعداد الكامل: مُدخَلات اللوحة الإدارية خطوة بخطوة.

على خادم يعمل، التكامل بأكمله ثلاث شاشات إدارية. أولاً، أضف AI Model API: افتح /server/admin/database/aimodelapi/add، سمِّه، الصق مفتاح البوابة في Api Key، واضبط Api Base Url على https://api.apisrouter.com/v1. ثانياً، أضف نماذج المحادثة: على /server/admin/database/chatmodel/add، اضبط Name على معرّف كتالوج دقيق (claude-sonnet-4-6، deepseek-v4-flash)، اضبط Model Type على Openai، اربط مُدخَل Ai Model Api الذي أنشأته للتو، واضبط Max prompt size على قيمة تتناسب مع نافذة سياق النموذج. ينصح التوثيق بترك Tokenizer دون ضبط للنماذج من نوع OpenAI. كرّر لكل نموذج تريده في المنتقي. ثالثاً، اختر النموذج: على /settings، اختر نموذج المحادثة الجديد كافتراضي. يمكن للوكلاء تجاوز النموذج لكل وكيل، وهذا كيف تشغّل نسخة Khoj واحدة معرّفاً سريعاً للأتمتة اليومية ومعرّفاً حديثاً للبحث.

1) /server/admin/database/aimodelapi/add
   Name:         APIsRouter
   Api Key:      sk-YOUR-APISROUTER-KEY
   Api Base Url: https://api.apisrouter.com/v1

2) /server/admin/database/chatmodel/add
   Name:         claude-sonnet-4-6   (exact catalog id)
   Model Type:   Openai
   Ai Model Api: APIsRouter
   Max prompt size: 100000

3) /settings -> select the new chat model

اختيار النماذج لعقل ثانٍ.

لأن نماذج المحادثة صفوف تضيفها مقابل AI Model API واحد، الاحتفاظ باثنين أو ثلاثة معرّفات في المنتقي لا يكلّف شيئاً. الإعداد العملي هو افتراضي سريع بالإضافة إلى تصعيد حديث، كلاهما مُفوتَر عبر نفس المفتاح بحيث يُظهِر سجل الاستخدام ما يكلّفه كل مستوى فعلياً على ملاحظاتك.

  • محادثة المستندات ثقيلة بالمدخل: مقاطع الملاحظات المسترجَعة تفوق الإجابة بكثير. سعر token المدخل يقود التكلفة لكل سؤال، وهذا يفضّل claude-haiku-4-5-20251001 أو deepseek-v4-flash أو gemini-3.5-flash للاستدعاء اليومي.
  • وضع البحث يُضاعِف الاستدعاءات. سؤال بحث واحد يمكن أن يسلسل أدواراً كثيرة للنموذج، لذا المعرّف الذي تُسنِده هناك يُحرِّك الفاتورة أكثر من أي إعداد آخر؛ claude-sonnet-4-6 هو الخيار المتوازن، وgpt-5.4 هو التصعيد.
  • الأتمتة المجدولة تعمل دون إشراف. سعّرها كاشتراك: استدعاءات لكل يوم مضروبة في tokens لكل استدعاء، وهذا بالضبط ما يُبلِّغ عنه سجل الاستخدام لكل مفتاح.
  • المعرفة الشخصية غنية بالتناقضات (الخطط تتغير، الملاحظات تصبح قديمة)، والنماذج تختلف في مدى جودة الإشارة إلى الملاحظات المتناقضة بدلاً من مزجها؛ اختبر معرّفين على نفس مجموعة الأسئلة قبل الالتزام.
  • Max prompt size لكل نموذج محادثة في Khoj، لذا معرّف طويل السياق يستحق فقط إذا رفعت ذلك الحقل ليطابق.

ادفع حسب الاستخدام · أقل من السعر الرسمي

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

النموذجالسعر الرسميسعرنا
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
GPT-5.4$2.50 / $15.00 per M$2.00 / $12.00 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M

أنماط الفشل الخاصة بـ Khoj.

متغيّر البيئة بذرة أول تشغيل، لا إعداد حي. يُقرَأ OPENAI_BASE_URL أثناء التهيئة لإنشاء مُدخَل المزوّد واكتشاف النماذج؛ على خادم هُيِّئ بالفعل، تعديل ملف compose لا يغيّر شيئاً يمكنك رؤيته. استخدم اللوحة الإدارية للتغييرات بعد أول إقلاع، أو أعِد ضبط قاعدة البيانات إذا أردت حقاً بذرة جديدة. فخ المفتاح الوهمي: عندما يُضبَط OPENAI_BASE_URL بدون OPENAI_API_KEY، يملأ Khoj المفتاح بقيمة وهمية بحيث تعمل خوادم محلية مثل Ollama. تتطلب البوابة مفتاحاً حقيقياً، لذا إذا حدثت بذرة أول تشغيل بدون واحد، تفشل المحادثات بأخطاء مصادقة حتى تلصق المفتاح في مُدخَل AI Model API في اللوحة الإدارية. الاكتشاف التلقائي يزرع كل شيء. لأن التهيئة تُدرِج كل نموذج تخدمه نقطة النهاية، يمكن لبوابة متعددة البائعين أن تزرع جدول نماذج طويلاً. غير ضار، لكن يستحق التقليم في اللوحة الإدارية حتى يبقى المنتقي قابلاً للاستخدام. Name نموذج المحادثة دقيق. يُمرِّره Khoj حرفياً؛ خطأ إملائي يظهر كـ model-not-found عند أول رسالة، ومخرجات /v1/models الخاصة بالبوابة هي الهجاء المرجعي. وإذا أساء البحث الدلالي عبر ملاحظاتك التصرف، فذلك النظام الفرعي للتضمين المحلي، غير مرتبط بنقطة نهاية المحادثة.

من يوجّه Khoj عبر بوابة.

  • المستضيفون ذاتياً الذين يريدون محادثة بنموذج حديث فوق ملاحظاتهم دون حساب بائع لكل عائلة نماذج؛ مفتاح واحد يغطي معرّفات Claude وGPT وDeepSeek وGemini.
  • المستخدمون الذين يشغّلون أتمتة مجدولة يومياً، حيث معرّف سريع يُبقي التكلفة المتكررة ثابتة ويجعلها سجل الاستخدام مرئية.
  • الإعدادات المهتمة بالخصوصية التي تُبقي الفهرسة والتضمينات محلية وتكشف فقط موجّهات المحادثة إلى نقطة نهاية واحدة قابلة للمراجعة.
  • الهواة الذين يقارنون نماذج المحادثة على نفس المجموعة الشخصية: كل مرشّح صف نموذج محادثة واحد مقابل نفس AI Model API.
  • المطورون الذين لا يملكون وصولاً إلى فوترة بائع معيّن. الوصول القائم على تعبئة الرصيد بدون شرط بطاقة يزيل الاعتماد على التسجيل لكل مزوّد.

تحقق من نقطة النهاية وصحّح أخطاء أول محادثة.

تحقق من البوابة أولاً: اسرد النماذج بمفتاحك وأكّد المعرّفات التي تنوي تسجيلها. يقوم اكتشاف Khoj التلقائي بنفس الاستدعاء أثناء بذرة أول تشغيل، لذا إذا نجح هذا الـ curl، ستنجح البذرة أيضاً. الأعطال تتموضع بوضوح. أخطاء المصادقة تعني أن Api Key على مُدخَل AI Model API خاطئ أو لا يزال القيمة الوهمية المزروعة. model-not-found يعني أن Name نموذج المحادثة لا يطابق هجاء الكتالوج. الردود التي تنقطع في منتصف الإجابة عادة تعني أن Max prompt size أو سقف مُخرَج النموذج مضبوط منخفضاً جداً للمحادثة. مشاكل الفهرسة والبحث هي أنبوب التضمين المحلي ولا علاقة لها بنقطة النهاية. بمجرد تدفّق المحادثات، تعرض لوحة APIsRouter النموذج لكل طلب، وعدد tokens، والإنفاق. الأتمتة وتشغيلات البحث هي حيث تختبئ تكاليف العقل الثاني، والاستخدام لكل مفتاح هو كيفية رؤيتها لكل ميزة بدلاً من مفاجأة شهرية واحدة.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

الأسئلة الشائعة

هل يدعم Khoj بروكسي أو بوابة متوافقة مع OpenAI؟

نعم، كإعداد موثَّق: أنشئ مُدخَل AI Model API بـ Api Base Url يشير إلى نقطة النهاية، ثم أضف نماذج محادثة بـ Model Type بقيمة Openai. يكشف ملف compose أيضاً OPENAI_BASE_URL لبذرة أول تشغيل.

هل يمكن لـ Khoj المحادثة مع نماذج Claude أو DeepSeek عبر هذا؟

نعم. تُمرِّر Model Type بقيمة Openai اسم نموذج المحادثة Name كسلسلة نصية عادية عبر /v1/chat/completions إلى Api Base Url. أي معرّف تخدمه البوابة يعمل، بما في ذلك معرّفات Claude وDeepSeek وGLM وGemini.

لماذا لم يفعل تغيير OPENAI_BASE_URL في docker-compose شيئاً؟

يزرع المتغيّر المزوّدين والنماذج أثناء تهيئة أول تشغيل فقط. على خادم مُهيَّأ، عدّل مُدخَل AI Model API في اللوحة الإدارية بدلاً من ذلك؛ ذلك هو الإعداد الحي.

هل يؤثر الـ base URL المخصص على بحث مستندات Khoj؟

لا. يُضمِّن Khoj مستنداتك ويبحث فيها بنموذج sentence-transformers محلي افتراضياً. مُدخَل AI Model API يُحرِّك فقط المحادثة والوكلاء والأتمتة والبحث.

ما هو Max prompt size على مُدخَل نموذج المحادثة؟

سقف لكل نموذج على مقدار الموجّه الذي يحزمه Khoj في طلب. اضبطه ليتناسب مع نافذة سياق النموذج؛ منخفض جداً يُقلِّم الملاحظات المسترجَعة، ومعرّف طويل السياق يساعد فقط إذا رُفع هذا الحقل ليطابق.

هل ينطبق هذا على تطبيق Khoj المُستضاف؟

لا، نقاط النهاية المخصصة ميزة استضافة ذاتية. يدير التطبيق المُستضاف نماذجه الخاصة من جانب الخادم؛ سطحا اللوحة الإدارية والبيئة هنا ينتميان إلى خادم تشغّله بنفسك.