سلاسل محادثات Slack والجلسات في OpenClaw
كيف ترتبط الرسائل المباشرة والقنوات والرسائل المباشرة الجماعية بالجلسات، ولواحق سلاسل المحادثات والرسائل الجذرية المهيأة مسبقًا، ونطاق السجل ووراثة الجلسة الأم، والإشارات الضمنية، وأوضاع الرد والبث، وخيار الخروج إلى المستوى الأعلى، والرسائل المباشرة في Agent View
تخفي سلاسل المحادثات في Slack رسائلها عن القناة، ولهذا بالضبط يجب أن يكون نموذج الجلسات دقيقًا في تحديد جلسة OpenClaw التي تنتمي إليها الرسالة والمكان الذي يستقر فيه الرد. وإليك الربط بين واجهات Slack والجلسات، وقواعد سلاسل المحادثات، وعناصر التحكم في الرد مع الفرق الوحيد عن Telegram الجدير بالتذكر، وتجربة Agent View التي يتولى فيها Slack نفسه إدارة سلاسل المحادثات.
الجلسات
- توجَّه الرسائل المباشرة بوصفها direct، والقنوات بوصفها channel، والرسائل المباشرة الجماعية بوصفها group؛ وتقبل روابط التوجيه معرّفات الأقران الخام إضافة إلى صيغ الوجهات في Slack لقناة أو مستخدم أو إشارة إلى مستخدم؛ ومع نطاق الرسائل المباشرة الافتراضي main تندمج الرسائل المباشرة العادية في الجلسة الرئيسية للوكيل، بينما تبقى الرسائل الجذرية في Agent View وسلاسل المحادثات الموجودة في Assistant View معزولة كجلسات سلاسل محادثات؛ وتفهرس جلسات القنوات بالوكيل والقناة ومعرّف القناة.
- تبقى رسائل القنوات العادية في المستوى الأعلى في جلسة القناة حتى عندما لا يكون وضع الرد off، بينما تستخدم الردود في سلاسل محادثات القنوات والرسائل المباشرة الجماعية وAgent View وAssistant View الطابع الزمني لسلسلة المحادثة الأصلية لاحقةً لسلسلة المحادثة؛ أما سلسلة الردود في رسالة مباشرة عادية فتبقى مجرد ميزة في الواجهة ضمن جلسة الرسائل المباشرة الأساسية.
- يضع OpenClaw الرسالة الجذرية المؤهلة في المستوى الأعلى من القناة مسبقًا في جلسة سلسلة محادثة مفهرسة بالطابع الزمني لتلك الرسالة، حين يتوقع أن تبدأ الرسالة سلسلة محادثة ظاهرة، فتتشارك الرسالة الجذرية وردودها اللاحقة جلسة واحدة؛ وينطبق ذلك على أحداث app-mention، ومطابقات الإشارة الصريحة إلى البوت أو أنماط الإشارة المهيأة، والقنوات التي لا تشترط الإشارة ووضع الرد فيها ليس off.
- نطاق سجل سلسلة المحادثة قيمته الافتراضية thread، ووراثة الجلسة الأم قيمتها الافتراضية false، ويحدد حد السجل الأولي عدد رسائل سلسلة المحادثة الموجودة التي تجلب عند بدء جلسة سلسلة محادثة جديدة، وهو 20 افتراضيًا، وصفر لتعطيله.
سلاسل المحادثات في Slack تخفي الرسائل عن القناة، بينما تبقى الردود في Telegram ظاهرة ضمن المحادثة.
الردود، والوسوم، والبث
تحدد علامتا الإشارة الضمنية ما يتجاوز اشتراط الإشارة: الرد على رسالة البوت نفسه، والمتابعة في سلسلة محادثة رد فيها البوت، وكلتاهما true افتراضيًا، وتضبط الثانية على false حين تريد إشارة صريحة جديدة في المتابعات؛ ويرحّل إصلاح doctor مفتاح سلسلة المحادثة السابق require-explicit-mention إلى هذه العلامة الإيجابية، وتوجد تجاوزات الحساب ضمن كتلة implicit-mentions الخاصة بالحساب، والقيم الافتراضية المشتركة ضمن القيم الافتراضية للقناة. ووضع الرد off افتراضيًا، والبدائل first وall وbatched، ويمكن ضبطه لكل قناة، ولكل نوع دردشة (direct وgroup وchannel)، وعبر وضع رد الرسائل المباشرة القديم للدردشات المباشرة. وتستهدف وسوم الرد اليدوية الرسالة الحالية أو معرّف رسالة محددًا. ويمكن للرد الصريح في سلسلة محادثة من أداة message أن يضبط reply-broadcast كي ينشر Slack الرد أيضًا في القناة الأصلية، وهو ما يقابل علامة البث في post-message ولا يعمل إلا مع إرسال النصوص أو Block Kit، لا مع رفع الوسائط. واستدعاء أداة message الذي يجري داخل سلسلة محادثة ويستهدف القناة نفسها يرث عادة سلسلة المحادثة الحالية وفقًا لوضع الرد الفعّال على مستوى الحساب أو نوع الدردشة أو القناة، وتستخدم الردود التلقائية واستدعاءات الإرسال أو الرفع في القناة نفسها التجاوز نفسه، أما علامة top-level أو معرّف سلسلة محادثة بقيمة null فيفرض بدلًا من ذلك رسالة جديدة في القناة الأصلية. ووضع الرد off يعطّل الربط الاختياري للرسائل الصادرة بسلاسل المحادثات، بما في ذلك الوسوم الصريحة، وهذا يختلف عن Telegram حيث تظل الوسوم الصريحة محترمة في off؛ أما Agent View وAssistant View فهما تجربتان بسلاسل محادثات يديرها Slack، تبقى ردودهما وحالتهما على الرسالة الجذرية الظاهرة في كل الأحوال، ولا يسطّح off جلسات سلاسل المحادثات الواردة الأخرى.
الرسائل المباشرة في Agent View
- Agent View هي تجربة المراسلة التي يقدمها Slack لتطبيقات الذكاء الاصطناعي: يعلّم Slack التطبيق بوصفه وكيلًا، وكل رسالة تكتب في محرر المستوى الأعلى في علامة التبويب Messages تبدأ رسالة جذرية جديدة يحوّلها Slack إلى سلسلة محادثة بنفسه، والمتابعات مكانها داخل سلسلة محادثة تلك الرسالة الجذرية، ويعامل OpenClaw كل رسالة جذرية كمحادثة منفصلة بلاحقة سلسلة محادثة فوق أي جلسة أساسية يختارها نطاق الرسائل المباشرة، فتبقى الرسائل الجذرية معزولة حتى تحت النطاق main.
- تبقى المتابعات داخل سلسلة محادثة رسالة جذرية في جلسة تلك الرسالة، وتبدأ رسالة جديدة من المحرر جلسة جديدة، وتبقى الردود وحالة سلسلة المحادثة على الرسالة الجذرية الظاهرة أيًّا كان وضع الرد لأن Slack يتولى إدارة سلاسل المحادثات، ولا تصل كيانات العرض النشط إلى الوكيل إلا كسياق منظم غير موثوق بترتيب الصلة الذي يحدده Slack، والرسالة المباشرة التي لا تحمل أيًّا منها تمسحها لذلك الدور بدلًا من إعادة استخدام كيانات قديمة.
- لا يصرّح Slack أبدًا بالتجربة التي يستخدمها التطبيق، لذا يسجل OpenClaw استخدام Agent View من أول مؤشر يراه: حدث app-context-changed، أو رسالة مباشرة تحمل سياق التطبيق، أو استدعاء suggested-prompts من دون سلسلة محادثة الذي يجريه حين يفتح عضو علامة التبويب Messages، حيث تعد كل من ok وinternal-error دليلًا، بينما تعني الإجابة not-agent-app أنها Assistant View؛ والرسالة المباشرة التي يساوي الطابع الزمني لسلسلة محادثتها طابعها الزمني الخاص تعرف بذاتها بوصفها رسالة جذرية يديرها Slack، والعلامة دائمة ومفهرسة بالحساب ومساحة العمل ومعرّف التطبيق، ويقرأ Socket Mode معرّف التطبيق من رمز التطبيق عند البدء، ويتعلمه وضع HTTP من أول حدث موقَّع ويسجله مرة واحدة، أما وضع relay فلا يحتفظ بالعلامة إلا في العملية الجارية.
تنتمي هذه الجلسات إلى مقال القناة OpenClaw على Slack، ولشكل المحادثة أثناء إنتاج الرد راجع سلوك رسائل Slack في OpenClaw.
جلسة واحدة لكل سلسلة محادثة، عن قصد
وضع الرسالة الجذرية مسبقًا في جلسة سلسلة المحادثة هو ما يتيح لإشارة في قناة مزدحمة أن تصبح سلسلة عمل خاصة بذاكرتها الخاصة، بدلًا من أن يعود كل رد إلى الجلسة المشتركة للقناة. لكيفية اختيار جلسة القناة لوكيلها راجع توجيه القنوات في OpenClaw، ولكيفية العثور لاحقًا على إحدى جلسات سلاسل المحادثات هذه مجددًا راجع البحث في الجلسات في OpenClaw.
على Diali
Slack إحدى القنوات التي تربطها Diali من لوحة التحكم، مع إعدادات وقت تشغيل تولَّد وتستبدل مع كل إصدار، لذا فمفاتيح سلاسل المحادثات والردود هنا تصف كيف يتصرف وكيل مستضاف في مساحة العمل الخاصة بك، لا ملفًا تتولى صيانته. القناة على Diali هي Slack على Diali، والمساعد الذي يقف خلفها هو OpenClaw المستضاف على Diali.
- الرسالة الجذرية التي تتضمن إشارة وسلسلة محادثتها تتشاركان جلسة واحدة.
- الوضع off على Slack يسكت وسوم الرد الصريحة أيضًا؛ أما Telegram فيبقيها.
- كل رسالة جذرية في Agent View محادثة مستقلة.
كفاك قراءة، ابنِ وكيلك الخاص
جهز وكيلًا، واختر قناة، واجعله يعمل داخل التطبيق المفتوح لديك دائمًا.
