إعداد روبوت الدردشة بالذكاء الاصطناعي واستخدامه

صِل مزوّد ذكاء اصطناعي، وفعّل الروبوت الأساسي، واختبر بأمان، واستكشف غياب الردود.

فهم الأجزاء الثلاثة المنفصلة

مزوّد الذكاء الاصطناعي العامل هو الجزء الأول فقط من روبوت الدردشة المباشرة. يجب ضبط المزوّد والروبوت الأساسي ووجهة الردود، كل منها على حدة.

الجزءما الذي يفعلهما لا يثبته
مزوّد الذكاء الاصطناعييولّد نصاً باستخدام Ollama أو واجهة API مستضافة أو خدمة أخرى مدعومة.أن الدردشة المباشرة تُلتقط أو أن الردود يمكن نشرها.
روبوت الدردشة الأساسييقرر أي الرسائل المباشرة الملتقطة ينبغي أن تتلقى رداً بالذكاء الاصطناعي.أن المنصة المصدر أو الحساب يسمح بالرد إلى المصدر.
وجهة الردودينشر الردود المولدة في قناة إخراج الروبوت، ويمكنه أيضاً إرسالها عبر مصدر الدردشة الملتقط.أن bot.html مفتوحة أو أنه تم إنشاء حساب روبوت منفصل على المنصة.

مهم: نتيجة خضراء متصل (Connected) لا تؤكد إلا أن المزوّد والنموذج المحددين أجابا عن طلب اختبار واحد.

1. ضبط مزوّد ذكاء اصطناعي

  1. افتح إعدادات Social Stream ووسّع روبوتات الدردشة وخدمات الذكاء الاصطناعي (Chat Bots and AI services).
  2. افتح تهيئة مزوّد خدمة LLM ‏(Configure LLM Service Provider).
  3. اختر المزوّد المطابق للخدمة التي تشغّلها بالفعل.
  4. أدخل نقطة النهاية أو اسم النموذج أو مفتاح API أو الحقول الأخرى الظاهرة لذلك المزوّد.
  5. اختر اختبار روبوت الدردشة المحدد (Test selected chat bot) وتأكد من ظهور استجابة نصية فعلية أسفل الزر.
قسم Configure LLM مع تحديد Ollama وملء حقلي نقطة النهاية المحلية والنموذج، واختبار المزوّد يعرض Connected
يؤكد هذا أن المزوّد والنموذج أجابا. ولا يفعّل الروبوت الأساسي أو يختبر التقاط الدردشة المباشرة والنشر فيها.
  • Ollama (واجهة API محلية أصلية): استخدم هذا لـ Ollama فقط. نقطة النهاية المحلية المعتادة هي http://localhost:11434.
  • واجهة API مخصصة (Custom API): استخدم هذا للخوادم المتوافقة مع OpenAI مثل llama.cpp وLM Studio وvLLM والخدمات المشابهة.
  • مزوّد مستضاف: أدخل مفتاح API والنموذج اللذين يتطلبهما ذلك المزوّد. تُدار تكاليف المزوّد وحصصه وأسماء نماذجه خارج Social Stream Ninja.
  • نموذج محلي مستضاف في المتصفح: استخدم خيار Local Gemma أو Local Qwen المطابق، واتبع تعليمات أصول النموذج الخاصة به.

تحتاج إلى تثبيت Ollama أولاً؟ استخدم صفحة تنزيل Ollama الرسمية. للاطلاع على قائمة المزوّدين الكاملة، راجع تكامل الذكاء الاصطناعي في الأوامر وAPI.

إبقاء Ollama نشطاً: 0 يزيل النموذج من الذاكرة بعد الطلب. لا يعطّل الروبوت، لكن كل رد لاحق قد يحتاج إلى بدء بارد آخر.

إعداد OpenAI / ChatGPT API

استخدم مفتاح OpenAI API قياسياً لطلبات النماذج. مفتاح OpenAI Admin API مخصص لنقاط نهاية إدارة المؤسسة، وليس لاستدعاءات النماذج العادية. يجب أن ينتمي المفتاح إلى المشروع الذي تريد تحميله الفاتورة، وأن تسمح صلاحياته الفعلية بطلبات النماذج.

  1. أنشئ المفتاح أو راجعه في صفحة مفاتيح API في OpenAI Platform. لا تلصق المفتاح أبداً في رسالة دعم أو تقرير تشخيصي.
  2. في Social Stream، اختر ChatGPT API، والصق المفتاح كاملاً، وأدخل نموذجاً متاحاً لذلك المشروع، واختر اختبار روبوت الدردشة المحدد (Test selected chat bot).
  3. إذا أبلغ الاختبار عن Status: 401, Code: missing_scope، و Missing scope: model.request، فقد رفض OpenAI بيانات الاعتماد لأن صلاحياتها الفعلية لا تشمل طلبات النماذج. model.request صلاحية يسميها الخادم، وليست إعداداً تضيفه إلى الطلب أو اسم النموذج.
  4. تأكد من أن هذا مفتاح API قياسي لمشروع، وأن المشروع المتوقع محدد، وأن المفتاح غير مقيّد أو مسموح له صراحةً بإرسال طلبات النماذج. عند الشك، أنشئ مفتاحاً قياسياً جديداً في المشروع الصحيح واستبدل المفتاح المحفوظ في Social Stream.
  5. إذا كانت ترجمة المتصفح التلقائية مفعّلة على OpenAI Platform وكانت عناصر التحكم في الصلاحيات أو تسمياتها تتصرف بشكل غير متوقع، فانتقل إلى الصفحة الإنجليزية الأصلية قبل مراجعة إعدادات المفتاح وحفظها. ساعد ذلك في حالة إعداد أُبلغ عنها، لكنه ليس سبباً عاماً موثقاً لأخطاء OpenAI 401.

الرصيد والصلاحيات أمران منفصلان: إضافة رصيد API لا تمنح نطاق صلاحية مفقوداً للمفتاح. يوثّق OpenAI بيانات الاعتماد غير الصالحة وصلاحيات نقاط النهاية كأخطاء 401، بينما يكون نفاد الحصة عادةً خطأ 429. راجع دليل أخطاء API و مرجع المصادقة.

إذا استمر الخطأ، فانسخ الحالة والرمز والنطاق المفقود ومعرّف Request ID الذي يعرضه Social Stream، ثم أرسل التقرير التشخيصي من داخل التطبيق بعد إعادة ظهور المشكلة بوقت قصير. يسجل التقرير بيانات وصفية آمنة للطلب، لكنه يستبعد مفاتيح API ومحتوى الطلبات. قدّم Request ID والطابع الزمني إلى دعم OpenAI إذا بدت بيانات الاعتماد وإعدادات المشروع صحيحة.

2. تفعيل الروبوت الأساسي وضبطه

افتح روبوت الدردشة — الأساسي (Chat Bot - Primary). وهذا منفصل عن إعداد المزوّد وعن واجهة chatbot.html الخاصة.

الإعداداختبار أول مناسبالاستخدام العادي
تفعيل روبوت دردشة الذكاء الاصطناعي LLM ‏(Enable the LLM AI chat bot)مفعّل (On)أبقِه مفعّلاً ما دام ينبغي للروبوت الأساسي مراقبة الدردشة المباشرة.
تخصيص اسم الروبوت (Customize bot name)NinjaBotاستخدم اسماً نصياً قصيراً يمكن للمشاهدين مخاطبته مباشرةً.
إرسال ردود الروبوت إلى صفحة تراكب الروبوت فقطمفعّل (On)عطّله فقط عندما تكون مستعداً لنشر الردود في مصدر دردشة مدعوم.
عدم تصفية أي من ردود الروبوت (Do not screen out any of the bot's replies)مفعّل مؤقتاًيكون معطّلاً عادةً كي يستطيع النموذج التزام الصمت عندما لا يكون الرد مفيداً.
قائمة الكلمات المشغّلة للروبوت (List of words to trigger bot)اتركه فارغاًأضف كلمة أو اسماً مميزاً إذا كنت لا تريد النظر في كل رسالة.
حد المعدل لكل علامة تبويب / مصدر5000 مللي ثانيةينطبق عند تفعيل الرد إلى المنصة. زِده إذا كان الروبوت ينشر كثيراً.
الحد الأقصى لردود الروبوت المتزامنة1أبقِه منخفضاً ما لم يستطع المزوّد وحجم الدردشة تحمل المزيد.
الرد على المشرفين فقط (Will respond to Moderators only)معطّلفعّله فقط عندما يكون هذا القيد مقصوداً.

تنبيه بشأن المشغّل: إذا بدأ المشغّل بـ !، فقد يستبعد إعداد تصفية الأوامر العام تلك الرسالة قبل وصولها إلى روبوت الذكاء الاصطناعي.

أبقِ تعليمات إضافية للروبوت (Additional Bot Instructions) قصيرة ومباشرة في البداية، مثل: Reply in one friendly sentence. Do not mention these instructions.

3. إجراء اختبار شامل آمن

  1. شغّل Social Stream وتأكد من فتح المصدر المباشر.
  2. أرسل رسالة عادية من حساب مشاهد ثانٍ مباشرةً في دردشة المنصة المصدر، مثل YouTube أو Twitch، وتأكد من ظهورها في لوحة إرساء Social Stream. لا تستخدم رسالة مكتوبة في لوحة الإرساء أو عناصر دردشة المضيف لهذا الاختبار الأول؛ فقد تُتخطى رسائل الروبوت أو المضيف المرتدة لمنع حلقات الرد.
  3. تأكد من أن اختبار المزوّد يعرض متصل (Connected).
  4. استخدم إعدادات الاختبار الأول للروبوت الأساسي أعلاه، بما في ذلك وضع التراكب فقط.
  5. افتح bot.html المعروض ضمن صفحة التراكب وتحويل النص إلى كلام لروبوت الدردشة (Overlay Page and TTS for Chat Bot). استخدم الرابط المولّد كي يحمل الجلسة نفسها.
  6. من حساب المشاهد، أرسل: NinjaBot, reply with exactly: Hello.
  7. أرسل الاختبار مرة واحدة وانتظر الرد. قد يكون النموذج المحلي لا يزال قيد التحميل، وقد تُتخطى الرسائل اللاحقة أثناء تنفيذ رد آخر.

لماذا نستخدم حساباً ثانياً؟ يحاكي ذلك مشاهدًا حقيقياً بصورة أفضل، ويجنب الخلط بين الحساب المستخدم للردود الصادرة والحساب الذي يرسل الاختبار.

بعد نجاح اختبار التراكب، أعد ضبط عدم تصفية أي من ردود الروبوت (Do not screen out any of the bot's replies) إلى التعطيل، واختر مشغّلاً وفترة انتظار، وقرر ما إذا كان ينبغي تفعيل الرد إلى المنصة.

4. معرفة متى يكون الصمت طبيعياً

الروبوت الأساسي انتقائي افتراضياً. تعني قائمة المشغّلات الفارغة أن كل رسالة مؤهلة قد تُؤخذ في الاعتبار؛ ولا تعني أن كل رسالة يجب أن تتلقى رداً.

  • تحية قصيرة مثل hello قد تُتجاهل إذا لم يرَ النموذج أن الرد يضيف فائدة.
  • توضح مخاطبة الاسم المخصص للروبوت مباشرةً القصد بشكل أكبر.
  • يجب أن يطابق المشغّل المضبوط الرسالة الواردة.
  • يتجاهل وضع المشرفين فقط الرسائل التي لا تحمل تصنيف رسائل المشرفين.
  • عند تفعيل الرد إلى المنصة، تكون فترة الانتظار الافتراضية خمس ثوانٍ لكل مصدر. والحد الافتراضي للتوازي هو رد واحد في جميع الأوضاع.
  • قد تُتجاهل الرسائل المصنفة كمخرجات روبوت أو رسائل مرتدة أو رسائل فارغة أو رسائل شديدة الشبه بالرد السابق.

5. اختيار وجهة الردود

الوضعالنتيجةالمتطلبات
وضع التراكب فقط مفعّلتذهب الردود إلى قناة إخراج الروبوت ولا تُرسل إلى دردشة المنصة.افتح bot.html باستخدام الجلسة نفسها لرؤيتها أو سماعها. يتطلب تحويل النص إلى كلام هذه الصفحة أيضاً.
وضع التراكب فقط معطّلتظل الردود تذهب إلى قناة إخراج الروبوت، ويحاول Social Stream أيضاً نشرها عبر المصدر الملتقط الأصلي.يجب أن يدعم وضع المصدر الإرسال، وأن يكون الحساب مسجلاً دخوله ومسموحاً له بالنشر، وألا تكون دردشة المضيف معطّلة، وأن يظل المصدر مفتوحاً. bot.html يظل اختيارياً ما لم ترد التراكب أو تحويل النص إلى كلام.

اسم الروبوت المخصص بادئة للرسالة؛ ولا ينشئ حساب منصة جديداً. ما لم يُضبط التوجيه حسب أدوار حسابات التطبيق المستقل، تُنشر الردود عبر الحساب الذي يستخدمه المصدر الملتقط.

يمكن لمستخدمي التطبيق المستقل الذين يريدون هوية Twitch منفصلة اتباع دليل حساب روبوت Twitch.

6. مسح ردود الروبوت وإخفاؤها تلقائياً

تؤثر عناصر التحكم هذه في صفحة روبوت الدردشة الأساسي، bot.html. ولا تمسح تراكب الرسائل المميزة الرئيسي.

الخيارالمعنىمثال
showtimeيستخدم مدة عرض ثابتة واحدة بالمللي ثانية.&showtime=10000 يخفيه بعد 10 ثوانٍ.
autohideيقدّر مدة العرض من عدد كلمات الرد. autotime مقبول أيضاً.&autohide
mintime / maxtimeيحدد الحدين الأدنى والأقصى لمدة العرض حسب الطول. الافتراضيان 4,000 و30,000 مللي ثانية.&autohide&mintime=5000&maxtime=20000
hideafterttsيبقي الرد ظاهراً حتى ينتهي تشغيل تحويل النص إلى كلام، ثم يخفيه. إذا لم يبدأ التشغيل مطلقاً، تُستخدم مدة بديلة حسب الطول.&hideaftertts
hidedelayيضيف تأخيراً بعد انتهاء تحويل النص إلى كلام. الافتراضي 500 مللي ثانية.&hideaftertts&hidedelay=1000
ttstimeoutمهلة أمان إذا ظل تحويل النص إلى كلام نشطاً بلا نهاية. الافتراضي 120,000 مللي ثانية.&hideaftertts&ttstimeout=60000

إذا كانت عدة أوضاع مفعّلة، فإن hideaftertts يحظى بالأولوية، يليه autohide، ثم showtime. توفر إعدادات تراكب الروبوت المولّدة الخيارات الشائعة.

مسحه يدوياً

  • في إعدادات Social Stream، اختر مسح تراكب الروبوت الآن (Clear bot overlay now).
  • مع تفعيل التحكم عن بُعد عبر API ‏(Remote API Control)، افتح https://io.socialstream.ninja/SESSION_ID/clearBotOverlay.
  • عبر API WebSocket، أرسل {"action":"clearBotOverlay"}.

يزيل المسح اليدوي الرد الظاهر وقائمة عرض تراكب الروبوت المعلقة، لكنه لا يوقف الكلام الذي يُشغّل بالفعل.

تنسيق مخصص: تحتفظ أنماط CSS المخصصة المستخدمة مع رابط bot.html العادي المولّد بهذه الميزات. وأي ملف bot.html محلي منسوخ أو معدّل يحتاج إلى تحديث لتلقي إصلاحات الصفحة اللاحقة.

استكشف المشكلة انطلاقاً من آخر جزء نجح

ما تراهالموضع المحتمل للمشكلةما ينبغي التحقق منه
يفشل اختبار المزوّدإعداد المزوّدنقطة النهاية، ومفتاح API، واسم النموذج، وحالة الخدمة المحلية، وCORS أو جدار الحماية، وحصة المزوّد، والخطأ الدقيق أسفل زر الاختبار.
401 missing_scope / model.requestصلاحيات مفتاح OpenAIاستخدم مفتاحاً قياسياً من المشروع المقصود، وليس مفتاح Admin؛ وتحقق من السماح بطلبات النماذج؛ واستبدل أي مفتاح قديم محفوظ؛ وأعد المحاولة من صفحة OpenAI Platform الإنجليزية الأصلية إذا جعلت الترجمة التلقائية عناصر التحكم غير موثوقة. لا يمنح الرصيد هذه الصلاحية.
401 invalid_api_key أو مفتاح API غير صحيحبيانات اعتماد OpenAIابحث عن حرف مفقود أو مسافة، وتأكد من عدم حذف المفتاح أو تعطيله، ومن المؤسسة أو المشروع المقصود، وأن Social Stream لا يزال لا يستخدم مفتاحاً قديماً محفوظاً.
429 خطأ في الحصة أو حد المعدلفوترة المزوّد أو حدودهتحقق من فوترة API وميزانية المشروع بشكل منفصل عن اشتراكات ChatGPT، ثم قلّل معدل الطلبات أو انتظر إذا أبلغ المزوّد عن حد مؤقت للمعدل.
متصل، لكن رسالة المشاهد غائبة عن لوحة الإرساءالتقاط الدردشةحالة تشغيل Social Stream أو إيقافه، ونافذة المصدر، وتسجيل الدخول إلى المنصة، وإعدادات السماح أو التصفية للمصدر، وما إذا كانت الدردشة المباشرة الصحيحة مفتوحة.
تصل الرسالة إلى لوحة الإرساء، لكن لا يصل رد إلى تراكب الروبوتقرار الروبوت الأساسيتأكد من أن الرسالة جاءت مباشرةً من دردشة المصدر، ثم تحقق من مفتاح تفعيل الروبوت الأساسي، وتطابق المشغّل، ووضع المشرفين فقط، واسم الروبوت المخصص، وحدود الانشغال وفترة الانتظار، والتعليمات الإضافية، ووضع الردود غير المصفّاة المؤقت.
يصل الرد إلى التراكب، لكن ليس إلى دردشة المنصةتوجيه الرد إلى المصدروضع التراكب فقط، ودعم الكتابة في المنصة أو المصدر، وتفويض الحساب، وتوفر إدخال الدردشة، والتوجيه حسب أدوار الحسابات، وإعداد تعطيل دردشة المضيف.
يبقى الرد ظاهراً بعد تحويل النص إلى كلامتوقيت تراكب الروبوتفعّل الإخفاء بعد تحويل النص إلى كلام (Hide after TTS)، أو الإخفاء التلقائي حسب الطول، أو مدة عرض ثابتة ضمن خيارات تراكب الروبوت. استخدم clearBotOverlay للمسح اليدوي عبر API.
!bot لا يفعل شيئاًتصفية الأوامراستخدم كلمة عادية كمشغّل أو اسمح بمرور ذلك الأمر عبر مرشح الأوامر العام.
يُعالج الاختبار الأول فقطالتوقيتانتظر الطلب النشط، والتزم بفترة الانتظار، وتذكر أن قيمة إبقاء النموذج نشطاً 0 قد تفرض بدءاً بارداً لكل طلب.
خاص chatbot.html فارغروبوت خاص منفصلفعّل خيار روبوت الدردشة الخاصة، واستخدم الرابط المولّد بالجلسة نفسها. لا يختبر هذا الروبوت المباشر الأساسي.

صفحات روبوتات ذكاء اصطناعي أخرى

الروبوت الأساسي والدردشة الخاصة وروبوت الرقابة والمقدّم المشارك بالذكاء الاصطناعي أدوات منفصلة بإعدادات وسجلات مختلفة.

جدول مرجعي يقارن تراكب الروبوت الأساسي وروبوت الدردشة الخاصة وروبوت الرقابة والمقدّم المشارك بالذكاء الاصطناعي
اختر الصفحة التي تطابق المهمة. الروبوت الخاص ليس بديلاً لاختبار مسار الدردشة المباشرة الأساسي.

للاطلاع على ميزات الذكاء الاصطناعي الأوسع، راجع دليل أوضاع الذكاء الاصطناعي.