ربط LibreChat بـ CheapTokens: نقطة نهاية مخصصة في librechat.yaml
أضف نقطة نهاية CheapTokens إلى LibreChat المستضاف ذاتيًا: مدخل واحد في librechat.yaml، والمفتاح كمتغير بيئة، وثلاثة نماذج في القائمة.

في هذه الصفحة
LibreChat لديك يعمل، لكن قائمة النماذج تعرض فقط ما جاءت به افتراضيًا. لإضافة CheapTokens تكتب مدخلًا واحدًا endpoints.custom في librechat.yaml: اسمًا، وعنوان URL الأساسي https:/، والمفتاح كمتغير بيئة، وقائمة بمعرّفات النماذج. أعد تشغيل الحاوية، وسيظهر نقطة نهاية "CheapTokens" في القائمة.
أسماء الحقول أدناه مأخوذة من مرجع نقاط النهاية المخصصة في LibreChat (فرع التوثيق "Latest (dev)"، تم التحقق منه في 30 أكتوبر 2026). لا تحمل الصفحة رقم إصدار، لذا إذا كان تثبيتك أقدم وسلك أحد الحقول سلوكًا مختلفًا، فقارنه بتوثيق إصدارك. أما جانب API فهو ذاك الموصوف في توثيقنا: صيغة OpenAI Chat Completions، ورصيد واحد لكل النماذج.
ما يحتاجه المدخل#
أربعة حقول مطلوبة، ولكل منها وظيفة واضحة:
name— اسم نقطة النهاية في القائمة.apiKey— المفتاح. يوصي التوثيق بمرجع مثل${VAR}بدلًا من المفتاح نفسه، حتى يبقى السر خارج ملف YAML.baseURL— وجهة الطلبات:https:/./ api. cheaptokens. dev/ v1 models.default— قائمة معرّفات النماذج المعروضة في القائمة.
هناك حقلان اختياريان يستحقان الضبط. يتيح titleConvo: true لـ LibreChat تسمية محادثاتك (تُنشأ العناوين ما لم يكن false)، وmodelDisplayLabel هو التسمية بجانب الإجابات (الافتراضي "AI"). قيمة models.fetch هي false افتراضيًا، لذا لن يطلب LibreChat قائمة نماذج من API؛ بل تأتي القائمة من models.default. ولهذا تُكتب المعرّفات أدناه كاملة.
اربطه في ثلاث خطوات#
خطوة بخطوة
اربط LibreChat (Docker)
زوّد الحاوية بالمفتاح
يجب أن يصل المفتاح إلى حاوية LibreChat كمتغير بيئة. يتيح لك توثيق LibreChat ضبط المتغيرات في docker- تحت environment، لذا أنشئ ذلك الملف بجانب docker-. اسم المتغير من اختيارك، اختر أي اسم، فقط أبقِه مطابقًا في ملف YAML:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_hereالقيمة عنصر نائب: استخدم المفتاح من لوحة تحكم CheapTokens لديك.
أضف نقطة النهاية إلى librechat.yaml
أنشئ librechat.yaml بجانب docker-. يتبع الشكل مثال Mistral في توثيق LibreChat، مع عنواننا ومعرّفاتنا:
endpoints:
custom:
- name: 'CheapTokens'
apiKey: '${CHEAPTOKENS_API_KEY}'
baseURL: 'https://api.cheaptokens.dev/v1'
models:
default:
- 'zai-org/GLM-5.3-Flash'
- 'deepseek-ai/DeepSeek-V4-Flash-0731'
- 'MiniMaxAI/MiniMax-M2.7'
titleConvo: true
modelDisplayLabel: 'CheapTokens'اربط الملف وأعد التشغيل
يجب أن ترى الحاوية الملف. أضف volumes إلى نفس docker-، ليحتوي الآن كليهما:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here
volumes:
- ./librechat.yaml:/app/librechat.yamlثم طبّقه:
docker compose up -d
افتح LibreChat في المتصفح، وابدأ محادثة جديدة واختر CheapTokens في قائمة نقاط النهاية. النماذج الثلاثة موجودة في القائمة. أرسل "Say hi in one sentence" ويفترض أن تصلك إجابة. إن لم تصلك، فانتقل إلى القسم الأخير.
ثلاثة نماذج في قائمة واحدة#
هذا هو الجزء الذي يجعل المحادثة المستضافة ذاتيًا جديرة بالعناء. لنفترض أنك تشغّلها لفريق صغير. معظم الأسئلة يومية: أعد صياغة هذا البريد، اشرح هذا الخطأ. لهذه يكفي zai-، بنافذة سياق 390K وحتى 8,192 رمزًا لكل إجابة. وعندما يلصق أحدهم مستندًا طويلًا ويريد ردًا مطوّلًا، يبدّل المحادثة نفسها إلى deepseek- (سياق 380K، وحتى 32,768 رمزًا لكل إجابة). أما MiniMaxAI/ (سياق 180K) فهو الرأي الثالث عندما تختلف إجابتان. لا اشتراك ثانٍ، ولا مفتاح ثانٍ: الثلاثة تُحتسب من رصيد واحد.
كم تكلّف تلك المحادثة؟ خذ فريقًا من خمسة يرسلون 200 رسالة يوميًا، تحمل كل منها نحو 3,000 رمز إدخال (السجل ينمو) وتعيد نحو 500 رمز:
| النموذج | الإدخال $/1M | الإخراج $/1M | لكل طلب | 200 طلبات | OpenRouter، 200 طلبات |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00008 | $0.016 | $0.0284 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000095 | $0.019 | $0.056 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00023 | $0.045 | $0.54 |
3,000 رمز إدخال و500 رمز إخراج لكل طلب. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.
في الجدول، يُحتسب سعر كل نموذج لتلك الطلبات الـ200 مع الإدخال والإخراج معًا، ويأتي الإجمالي أرخص من OpenRouter. اختر الصف المطابق لاستخدامك وقارنه بـصفحة الأسعار.
جرّب بنفسكجرّب: أرسل سؤالًا واحدًا إلى نموذجينإظهار الإجابة
افتح محادثة جديدة، واختر zai-، واطلب ملخصًا لفقرة تعرفها جيدًا. بدّل النموذج في القائمة نفسها إلى deepseek-، واطلب مرة أخرى. قارن طول الإجابتين ونبرتهما — وبهذا تحدد النموذج الافتراضي.
إذا لم تظهر نقطة النهاية أو أجابت بخطأ#
معظم المشكلات واحدة من ثلاثة أمور. اختر ما يطابق ما تراه:
اختر حالتك
ماذا ترى؟
اختر خيارًا لعرض الإجابة
CheapTokens مفقود من القائمة
لم يقرأ LibreChat ملفك أصلًا. تحقق من أن librechat.yaml مربوط عند / (ملف التجاوز أعلاه)، وأن مسافات YAML البادئة سليمة، وأنك نفّذت docker compose up - بعد التغيير.
401 Unauthorized
المفتاح مفقود أو خاطئ. تحقق من أن الاسم بعد ${ في librechat.yaml هو بالضبط اسم متغير البيئة، وأن المفتاح لا يحتوي على مسافات أو علامات اقتباس لُصقت به. المزيد عن هذا الخطأ في API 401 أو 404.
404 أو خطأ في النموذج
معرّف النموذج خاطئ. استخدم المعرّف الكامل مثل deepseek-؛ فالاسم المختصر غير مقبول. يمكنك سرد المعرّفات الدقيقة باتباع الخطوات في سرد النماذج باستخدام GET /v1/models.
بمجرد نجاح الرسالة الأولى، يمكنك إضافة المزيد من المعرّفات إلى models.default متى أردت نموذجًا آخر في القائمة. تفضّل واجهة أمامية أخرى؟ الفكرة نفسها، عنوان URL أساسي مع مفتاح، موجودة في ربط Open WebUI بـ CheapTokens، والصورة العامة في API المتوافق مع OpenAI: ما هو base_url. أما النماذج نفسها فهي في صفحة GLM.



