الدماغ نفسه في كل قناة
يتواصل وولف فيش من خلال ثلاث قنوات: واجهة سطح المكتب عبر Electron، وبوت Telegram، والمراسلة المباشرة عبر WhatsApp. تعمل القنوات الثلاث بنفس خط معالجة الذكاء — الفرق الوحيد هو كيفية وصول المدخلات وكيفية عرض المخرجات.القنوات الثلاث
واجهة Electron
واجهة سطح المكتب الأصلية. بث لحظي، تنسيق Markdown غني، نوافذ موافقة، وإدارة كاملة للمحادثات.
Telegram
بوت شخصي يستجيب لرسائلك الخاصة. أزرار مضمّنة للموافقات، تنسيق HTML، ومعالجة الملفات.
مراسلة مباشرة عبر بروتوكول WhatsApp Web. موافقات نصية، تحويل الرسائل الصوتية لنص، وإعادة اتصال تلقائية.
البنية المعمارية
كل قناة تصب في نفس خط المعالجة. القناة هي مجرد طبقة نقل — تستقبل مدخلات المستخدم، وتسلّمها للذكاء، ثم تعرض ما يعود منه.واجهة TurnSink
كل قناة تنفّذ واجهةTurnSink — وهي العقد الذي يحدد كيفية استقبال مخرجات خط المعالجة:
onSegment كبث لحظي بتنسيق Markdown. أما Telegram فيصيغ الأجزاء كرسائل HTML. بينما يرسل WhatsApp نصًا عاديًا. نفس البيانات، عرض مختلف.
مُشغّل الأدوار TurnRunner
يقوم TurnRunner بتسلسل الأدوار عبر جميع القنوات. دور واحد فقط يعمل في كل مرة — إذا وصلت رسائل من عدة قنوات في نفس الوقت، فإنها تصطف في سلسلة انتظار.إذا كان هناك دور يعمل حاليًا ووصلت رسالة جديدة من قناة مختلفة، يتلقى المرسل إشعارًا مختصرًا بأن رسالته في قائمة الانتظار. لن يضطر للانتظار في صمت.
موجّه الأدوار TurnRouter
عندما تُصنّف الـ amygdala استدعاء أداة على أنه يحتاج موافقة، يوجّه TurnRouter طلب الموافقة إلى القناة المالكة للدور النشط. إذا بدأت محادثة في Telegram، يظهر زر الموافقة في Telegram — وليس في واجهة Electron. منطق التوجيه واضح ومباشر:- كل دور يحمل معرّف قناة
channelId(electron أو telegram أو whatsapp) - عندما يُرجع
amygdala.classify()القيمةconfirm، يُصدر TurnRunner طلب موافقة - يبحث TurnRouter عن
channelIdالخاص بالدور النشط ويستدعيonApprovalRequestعلى واجهة TurnSink لتلك القناة - تعرض القناة الموافقة بشكلها الأصلي (نافذة حوار، أو زر مضمّن، أو رسالة نصية)
- يعود رد المستخدم إلى TurnRunner لمتابعة العملية أو إلغائها
الحالة المشتركة
جميع القنوات تتشارك نفس حالة الذكاء:- الذاكرة — نفس حلقات hippocampus، ونفس فهرس cortex
- المعرفة — نفس ملفات Markdown في مساحة العمل
- المحادثات — محادثة بدأت في Telegram يمكن استكمالها في واجهة Electron أو WhatsApp
- القدرات — نفس المهارات والإضافات المحمّلة
نتائج المهام المفصّلة
لكل قناة مفتاح نتائج المهام المفصّلة يتحكم في مقدار ما تراه من خطوات عمل الوكيل. وهو مُعطّل افتراضيًا، مما يُبقي التغذية نظيفة:- إيقاف (تغذية نظيفة) — فقط ما يهمّك: ردود الوكيل، وأي ملفات يُنتجها أو يرسلها، والأخطاء. أما استدعاءات الأدوات الروتينية ونتائجها الناجحة وإشعارات الضغط فتُخفى. وفي واجهة سطح المكتب يبقى مؤشّر النموذج المستخدَم ظاهرًا أيضًا.
- تشغيل (مفصّل) — يظهر كل استدعاء أداة وكل نتيجة وكل بطاقة نشاط، تمامًا كما جرى الدور خطوةً بخطوة.
| القناة | المكان | ما الذي يتحكم فيه المفتاح |
|---|---|---|
| داخل التطبيق | الإعدادات → القنوات → داخل التطبيق | ما تعرضه تغذية سطح المكتب |
| Telegram | الإعدادات → القنوات → Telegram | ما يُعاد بثّه إلى المحادثة |
| الإعدادات → القنوات → WhatsApp | ما يُعاد بثّه إلى المحادثة |
لا يغيّر الوضع المفصّل سوى ما يُعرض أو يُبثّ — لا ما يفعله الوكيل. فكل جزء يُحفظ كاملًا في السجل والذاكرة، لذا فإن تبديل المفتاح يعيد رسم التغذية فقط؛ ولا يضيع شيء عند إيقافه.
القنوات اتّصالات لا تطبيقات
Telegram وWhatsApp اتّصالات يخاطبك وولف فيش من خلالها — لا تطبيقات سطح مكتب مثبَّتة على جهازك. لا يصل إليها وولف فيش إلا عبر أدواتها الخاصة (telegram_send وwhatsapp_send و…)، لا بتشغيل نافذة «Telegram»/«WhatsApp» أو النقر عليها. وأدوات الإرسال لأي قناة لا توجد إلا ما دامت متّصلة، فوجودها نفسه هو الإشارة إلى أنّ القناة حيّة.
وحين يحتاج وولف فيش إلى مراسلتك خارج السياق — مهمة خلفية انتهت، أو وظيفة مجدوَلة — يتحقّق أولًا من channel_status (أو wolffish_status الذي يسرد حالة الاتصال). فإن كانت القناة منقطعة، لا يخمّن ولا يعيد المحاولة؛ بل يخبرك أنّها منقطعة ويبلّغك خطوات إعادة الوصل الدقيقة (Telegram → رمز البوت من @BotFather؛ WhatsApp → امسح رمز QR).
مقارنة القنوات
| الميزة | واجهة Electron | Telegram | |
|---|---|---|---|
| البث | أجزاء لحظية | رسائل مجمّعة | رسائل مجمّعة |
| التنسيق | Markdown غني | مجموعة فرعية من HTML | نص عادي |
| الموافقات | نافذة حوار أصلية | أزرار مضمّنة | رسالة نصية |
| الملفات | سحب وإفلات | مرفقات | رسائل وسائط |
| الصوت | غير متاح | رسائل صوتية | رسائل صوتية |
| إعادة الاتصال | متصل دائمًا | مستمر | إعادة اتصال تلقائية |
| التغذية المفصّلة | مفتاح عرض، مُعطّل افتراضيًا | مفتاح بثّ، مُعطّل افتراضيًا | مفتاح بثّ، مُعطّل افتراضيًا |
قناة Telegram
إعداد واستخدام بوت Telegram.
قناة WhatsApp
إعداد واستخدام مراسلة WhatsApp.