بوت Feishu
Feishu (Lark) هي منصة دردشة فرق تستخدمها الشركات للمراسلة والتعاون. يقوم هذا الملحق بربط OpenClaw ببوت Feishu/Lark باستخدام اشتراك الأحداث عبر WebSocket الخاص بالمنصة، بحيث يمكن استقبال الرسائل دون الحاجة إلى تعريض عنوان webhook عام.الملحق المطلوب
قم بتثبيت ملحق Feishu:البدء السريع
هناك طريقتان لإضافة قناة Feishu:الطريقة 1: معالج التهيئة الأولية (موصى بها)
إذا كنت قد ثبّت OpenClaw للتو، شغّل المعالج:- إنشاء تطبيق Feishu وجمع بيانات الاعتماد
- تهيئة بيانات اعتماد التطبيق في OpenClaw
- تشغيل Gateway
openclaw gateway statusopenclaw logs --follow
الطريقة 2: الإعداد عبر CLI
إذا كنت قد أكملت التثبيت الأولي بالفعل، أضف القناة عبر CLI:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
الخطوة 1: إنشاء تطبيق Feishu
1. فتح منصة Feishu Open Platform
انتقل إلى Feishu Open Platform وسجّل الدخول. يجب على مستأجري Lark (العالميين) استخدام https://open.larksuite.com/app وضبطdomain: "lark" في تهيئة Feishu.
2. إنشاء تطبيق
- انقر على Create enterprise app
- أدخل اسم التطبيق + الوصف
- اختر أيقونة للتطبيق
3. نسخ بيانات الاعتماد
من Credentials & Basic Info، انسخ:- App ID (الصيغة:
cli_xxx) - سرّ التطبيق
4. تهيئة الأذونات
في Permissions، انقر على Batch import والصق:
5. تفعيل قدرة البوت
في App Capability > Bot:- فعّل قدرة البوت
- عيّن اسم البوت
6. تهيئة الاشتراك بالأحداث
⚠️ مهم: قبل إعداد الاشتراك بالأحداث، تأكد من:- أنك قد شغّلت بالفعل
openclaw channels addلـ Feishu - أن Gateway يعمل (
openclaw gateway status)
- اختر Use long connection to receive events (WebSocket)
- أضف الحدث:
im.message.receive_v1
7. نشر التطبيق
- أنشئ إصدارًا في Version Management & Release
- قدّمه للمراجعة وانشره
- انتظر موافقة المسؤول (عادةً ما تتم الموافقة تلقائيًا على تطبيقات المؤسسات)
الخطوة 2: تهيئة OpenClaw
التهيئة باستخدام المعالج (موصى بها)
التهيئة عبر ملف التهيئة
حرّر~/.openclaw/openclaw.json:
التهيئة عبر متغيرات البيئة
نطاق Lark (العالمي)
إذا كان المستأجر لديك على Lark (الدولي)، فاضبط النطاق إلىlark (أو سلسلة نطاق كاملة). يمكنك ضبطه في channels.feishu.domain أو لكل حساب (channels.feishu.accounts.<id>.domain).
الخطوة 3: التشغيل + الاختبار
1. تشغيل Gateway
2. إرسال رسالة اختبار
في Feishu، اعثر على البوت وأرسل رسالة.3. الموافقة على الاقتران
افتراضيًا، يرد البوت برمز اقتران. وافق عليه:نظرة عامة
- قناة بوت Feishu: بوت Feishu تتم إدارته بواسطة Gateway
- توجيه حتمي: تعود الردود دائمًا إلى Feishu
- عزل الجلسات: الرسائل المباشرة تشترك في جلسة رئيسية؛ المجموعات معزولة
- اتصال WebSocket: اتصال طويل عبر Feishu SDK، دون الحاجة إلى عنوان URL عام
التحكم في الوصول
الرسائل المباشرة
-
الافتراضي:
dmPolicy: "pairing"(يحصل المستخدمون غير المعروفين على رمز اقتران) -
الموافقة على الاقتران:
-
وضع قائمة السماح: عيّن
channels.feishu.allowFromمع Open IDs المسموح بها
الدردشات الجماعية
1. سياسة المجموعات (channels.feishu.groupPolicy):
"open"= السماح للجميع في المجموعات (افتراضي)"allowlist"= السماح فقط لـgroupAllowFrom"disabled"= تعطيل رسائل المجموعات
channels.feishu.groups.<chat_id>.requireMention):
true= يتطلب @mention (افتراضي)false= الرد دون إشارات
أمثلة تهيئة المجموعات
السماح بجميع المجموعات، مع اشتراط @mention (افتراضي)
السماح بجميع المجموعات، دون اشتراط @mention
السماح لمستخدمين محددين في المجموعات فقط
الحصول على معرّفات المجموعات/المستخدمين
معرّفات المجموعات (chat_id)
تبدو معرّفات المجموعات مثلoc_xxx.
الطريقة 1 (موصى بها)
- شغّل Gateway وقم بعمل @mention للبوت في المجموعة
- شغّل
openclaw logs --followوابحث عنchat_id
معرّفات المستخدمين (open_id)
تبدو معرّفات المستخدمين مثلou_xxx.
الطريقة 1 (موصى بها)
- بدء تشغيل البوابة و DM البوت
- شغّل
openclaw logs --followوابحث عنopen_id
الأوامر الشائعة
| الأمر | الوصف |
|---|---|
/status | عرض حالة البوت |
/reset | إعادة تعيين الجلسة |
/model | عرض/تبديل النموذج |
ملاحظة: لا يدعم Feishu حتى الآن قوائم الأوامر الأصلية، لذا يجب إرسال الأوامر كنص.
أوامر إدارة Gateway
| الأمر | الوصف |
|---|---|
openclaw gateway status | عرض حالة Gateway |
openclaw gateway install | تثبيت/تشغيل خدمة Gateway |
openclaw gateway stop | إيقاف خدمة Gateway |
openclaw gateway restart | إعادة تشغيل خدمة Gateway |
openclaw logs --follow | تتبّع سجلات Gateway |
استكشاف الأخطاء وإصلاحها
البوت لا يستجيب في الدردشات الجماعية
- تأكد من إضافة البوت إلى المجموعة
- تأكد من عمل @mention للبوت (السلوك الافتراضي)
- تحقّق من أن
groupPolicyغير مضبوط على"disabled" - تحقّق من السجلات:
openclaw logs --follow
البوت لا يستقبل الرسائل
- تأكد من نشر التطبيق والموافقة عليه
- تأكد من أن اشتراك الأحداث يتضمن
im.message.receive_v1 - تأكد من تفعيل الاتصال طويل الأمد
- تأكد من اكتمال أذونات التطبيق
- تأكد من أن Gateway يعمل:
openclaw gateway status - تحقّق من السجلات:
openclaw logs --follow
تسريب App Secret
- أعد تعيين App Secret في Feishu Open Platform
- حدّث App Secret في التهيئة
- أعد تشغيل Gateway
فشل إرسال الرسائل
- تأكد من أن التطبيق يمتلك إذن
im:message:send_as_bot - تأكد من نشر التطبيق
- تحقّق من السجلات لمعرفة الأخطاء التفصيلية
التهيئة المتقدمة
حسابات متعددة
حدود الرسائل
textChunkLimit: حجم مقطع النص الصادر (الافتراضي: 2000 حرف)mediaMaxMb: حد رفع/تنزيل الوسائط (الافتراضي: 30MB)
البث
يدعم Feishu الردود المتدفقة عبر بطاقات تفاعلية. عند التفعيل، يقوم البوت بتحديث البطاقة أثناء توليد النص.streaming: false للانتظار حتى اكتمال الرد الكامل قبل الإرسال.
توجيه متعدد الوكلاء
استخدمbindings لتوجيه الرسائل المباشرة أو المجموعات في Feishu إلى وكلاء مختلفين.
match.channel:"feishu"match.peer.kind: “direct” أو “group”match.peer.id: Open ID للمستخدم (ou_xxx) أو معرّف المجموعة (oc_xxx)
مرجع التهيئة
التهيئة الكاملة: تهيئة Gateway الخيارات الرئيسية:| الإعداد | الوصف | الافتراضي |
|---|---|---|
channels.feishu.enabled | تفعيل/تعطيل القناة | true |
channels.feishu.domain | نطاق API (feishu أو lark) | feishu |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | تجاوز نطاق API لكل حساب | feishu |
channels.feishu.dmPolicy | سياسة DM | pairing |
channels.feishu.allowFrom | قائمة السماح للرسائل المباشرة (قائمة open_id) | - |
channels.feishu.groupPolicy | سياسة المجموعات | open |
channels.feishu.groupAllowFrom | قائمة السماح للمجموعات | - |
channels.feishu.groups.<chat_id>.requireMention | اشتراط @mention | true |
channels.feishu.groups.<chat_id>.enabled | تفعيل المجموعات | true |
channels.feishu.textChunkLimit | حجم مقطع الرسالة | 2000 |
channels.feishu.mediaMaxMb | حد حجم الوسائط | 30 |
channels.feishu.streaming | تفعيل إخراج البطاقات المتدفقة | true |
channels.feishu.blockStreaming | تفعيل بثّ الكتل | true |
مرجع dmPolicy
| القيمة | السلوك |
|---|---|
"pairing" | الافتراضي. يحصل المستخدمون غير المعروفين على رمز اقتران؛ يجب الموافقة |
"allowlist" | يمكن فقط للمستخدمين الموجودين في allowFrom الدردشة |
"open" | السماح لجميع المستخدمين (يتطلب "*" في allowFrom) |
"disabled" | تعطيل DMs |
أنواع الرسائل المدعومة
الاستقبال
- ✅ نص
- ✅ نص منسّق (post)
- ✅ صور
- ✅ ملفات
- ✅ صوت
- ✅ فيديو
- ✅ ملصقات
الإرسال
- ✅ نص
- ✅ صور
- ✅ ملفات
- ✅ صوت
- ⚠️ نص منسّق (دعم جزئي)