Sessions and memory
إرساء القنوات
إرساء القنوات هو تحويل للمكالمات لجلسة OpenClaw واحدة. فهو يحتفظ بسياق المحادثة نفسه، لكنه يغيّر المكان الذي تُسلَّم إليه الردود المستقبلية لتلك الجلسة. لا يعمل الإرساء إلا من محادثة مباشرة؛ ولا يعمل من محادثة جماعية.
مثال
يمكن لأليس مراسلة OpenClaw عبر Telegram وDiscord:
{ session: { identityLinks: { alice: ["telegram:123", "discord:456"], }, },}إذا أرسلت أليس ما يلي من محادثة مباشرة على Telegram:
/dock_discordيحتفظ OpenClaw بسياق الجلسة الحالية ويغيّر مسار الرد:
| قبل الإرساء | بعد /dock_discord |
|---|---|
تذهب الردود إلى Telegram 123 |
تذهب الردود إلى Discord 456 |
لا تُعاد إنشاء الجلسة. يظل سجل المحادثة مرتبطًا بالجلسة نفسها.
دواعي الاستخدام
استخدم الإرساء عندما تبدأ مهمة في تطبيق محادثة، لكن يجب أن تصل الردود التالية إلى مكان آخر.
مسار شائع:
- ابدأ مهمة وكيل من Telegram.
- انتقل إلى Discord حيث تنسّق العمل.
- أرسل
/dock_discordمن المحادثة المباشرة على Telegram. - احتفظ بجلسة OpenClaw نفسها، لكن استلم الردود المستقبلية في Discord.
الإعداد المطلوب
يتطلب الإرساء session.identityLinks. يجب أن يكون المرسل المصدر والنظير
المستهدف ضمن مجموعة الهوية نفسها:
{ session: { identityLinks: { alice: ["telegram:123", "discord:456", "slack:U123"], }, },}القيم هي معرّفات نظراء مسبوقة باسم القناة:
| القيمة | المعنى |
|---|---|
telegram:123 |
معرّف مرسل Telegram 123 |
discord:456 |
معرّف النظير المباشر في Discord 456 |
slack:U123 |
معرّف مستخدم Slack U123 |
المفتاح القياسي (alice أعلاه) ليس سوى اسم مجموعة الهوية المشتركة. تستخدم
أوامر الإرساء القيم المسبوقة باسم القناة لإثبات أن المرسل المصدر والنظير
المستهدف هما الشخص نفسه.
الأوامر
ينشئ OpenClaw أمرًا واحدًا بصيغة /dock-<channel> لكل Plugin قناة محمّل
يدعم الأوامر الأصلية، لذلك تزداد القائمة مع إضافة Plugins. Plugins المضمّنة
التي تدعمه حاليًا:
| القناة المستهدفة | الأمر | الاسم البديل |
|---|---|---|
| Discord | /dock-discord |
/dock_discord |
| Mattermost | /dock-mattermost |
/dock_mattermost |
| Slack | /dock-slack |
/dock_slack |
| Telegram | /dock-telegram |
/dock_telegram |
الصيغة ذات الشرطة السفلية هي أيضًا اسم الأمر الأصلي على الواجهات مثل Telegram التي تعرض أوامر الشرطة المائلة مباشرةً.
ما الذي يتغير
يحدّث الإرساء حقول تسليم الجلسة النشطة:
| حقل الجلسة | مثال بعد /dock_discord |
|---|---|
lastChannel |
discord |
lastTo |
456 |
lastAccountId |
حساب القناة المستهدفة، أو default |
تُحفظ هذه الحقول في مخزن الجلسات وتستخدمها عمليات تسليم الردود اللاحقة لهذه الجلسة.
ما الذي لا يتغير
لا يقوم الإرساء بما يلي:
- إنشاء حسابات قنوات
- ربط بوت جديد على Discord أو Telegram أو Slack أو Mattermost
- منح مستخدم صلاحية الوصول
- تجاوز قوائم السماح الخاصة بالقنوات أو سياسات الرسائل المباشرة
- نقل سجل المحادثة إلى جلسة أخرى
- جعل مستخدمين غير مرتبطين يتشاركون جلسة
إنه يغيّر فقط مسار التسليم للجلسة الحالية.
استكشاف الأخطاء وإصلاحها
يشير الأمر إلى أن المرسل غير مرتبط.
أضف كلًا من المرسل الحالي والنظير المستهدف إلى مجموعة
session.identityLinks نفسها. على سبيل المثال، إذا كان ينبغي إرساء مرسل
Telegram 123 إلى نظير Discord 456، فأدرج كلًا من telegram:123
وdiscord:456.
يشير الأمر إلى أن الإرساء متاح فقط من المحادثات المباشرة.
أرسل أمر الإرساء من محادثة مباشرة مع OpenClaw، وليس من محادثة جماعية.
يشير الأمر إلى عدم وجود جلسة نشطة.
نفّذ الإرساء من جلسة محادثة مباشرة موجودة. يحتاج الأمر إلى إدخال جلسة نشط ليتمكن من حفظ المسار الجديد.
لا تزال الردود تذهب إلى القناة القديمة.
تحقق من أن الأمر ردّ برسالة نجاح، وتأكد من أن معرّف النظير المستهدف يطابق المعرّف الذي تستخدمه تلك القناة. لا يغيّر الإرساء سوى مسار الجلسة النشطة؛ وقد تظل جلسة أخرى توجّه الردود إلى مكان آخر.
أحتاج إلى العودة إلى القناة السابقة.
أرسل الأمر المطابق للقناة الأصلية، مثل /dock_telegram أو
/dock-telegram، من مرسل مرتبط.