بوت Feishu
Feishu (Lark) هو نظام دردشة جماعي تستخدمه الشركات للمراسلة والتعاون. يربط هذا الـ plugin بين OpenClaw وبوت Feishu/Lark باستخدام اشتراك أحداث WebSocket الخاص بالمنصة، بحيث يمكن استقبال الرسائل من دون تعريض عنوان URL عام لـ webhook.الـ plugin المضمّن
يأتي Feishu مضمّنًا مع إصدارات OpenClaw الحالية، لذلك لا يلزم تثبيت plugin منفصل. إذا كنت تستخدم إصدارًا أقدم أو تثبيتًا مخصصًا لا يتضمن Feishu المضمّن، فقم بتثبيته يدويًا:البدء السريع
هناك طريقتان لإضافة قناة Feishu:الطريقة 1: الإعداد الأولي (مستحسن)
إذا كنت قد ثبّت OpenClaw للتو، فشغّل الإعداد الأولي:- إنشاء تطبيق Feishu وجمع بيانات الاعتماد
- إعداد بيانات اعتماد التطبيق في OpenClaw
- بدء تشغيل البوابة
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) - App Secret

4. إعداد الأذونات
في Permissions، انقر Batch import والصق:
5. فعّل إمكانية البوت
في App Capability > Bot:- فعّل إمكانية البوت
- عيّن اسم البوت

6. إعداد اشتراك الأحداث
⚠️ مهم: قبل إعداد اشتراك الأحداث، تأكد من:- أنك شغّلت بالفعل
openclaw channels addلـ Feishu - أن البوابة قيد التشغيل (
openclaw gateway status)
- اختر Use long connection to receive events (WebSocket)
- أضف الحدث:
im.message.receive_v1 - (اختياري) لمهام تعليقات Drive، أضف أيضًا:
drive.notice.comment_add_v1

7. انشر التطبيق
- أنشئ إصدارًا في Version Management & Release
- أرسله للمراجعة وانشره
- انتظر موافقة المسؤول (تطبيقات المؤسسات تُوافق عادةً تلقائيًا)
الخطوة 2: إعداد OpenClaw
الإعداد باستخدام المعالج (مستحسن)
الإعداد عبر ملف التهيئة
حرّر~/.openclaw/openclaw.json:
connectionMode: "webhook"، فاضبط كلًا من verificationToken وencryptKey. يرتبط خادم webhook الخاص بـ Feishu على 127.0.0.1 افتراضيًا؛ لا تضبط webhookHost إلا إذا كنت تحتاج عمدًا إلى عنوان ربط مختلف.
Verification Token وEncrypt Key (وضع webhook)
عند استخدام وضع webhook، اضبط كلًا منchannels.feishu.verificationToken وchannels.feishu.encryptKey في إعداداتك. للحصول على القيم:
- في Feishu Open Platform، افتح تطبيقك
- انتقل إلى Development → Events & Callbacks (开发配置 → 事件与回调)
- افتح تبويب Encryption (加密策略)
- انسخ Verification Token وEncrypt Key

الإعداد عبر متغيرات البيئة
نطاق Lark (العالمي)
إذا كان المستأجر الخاص بك على Lark (الدولي)، فاضبط النطاق إلىlark (أو سلسلة نطاق كاملة). يمكنك ضبطه في channels.feishu.domain أو لكل حساب على حدة (channels.feishu.accounts.<id>.domain).
علامات تحسين الحصة
يمكنك تقليل استخدام Feishu API باستخدام علامتين اختياريتين:typingIndicator(الافتراضيtrue): عند ضبطه علىfalse، يتم تخطي استدعاءات تفاعل الكتابة.resolveSenderNames(الافتراضيtrue): عند ضبطه علىfalse، يتم تخطي استدعاءات البحث عن ملف المُرسِل الشخصي.
الخطوة 3: البدء + الاختبار
1. شغّل البوابة
2. أرسل رسالة اختبار
في Feishu، ابحث عن البوت وأرسل رسالة.3. وافق على الاقتران
بشكل افتراضي، يرد البوت برمز اقتران. وافق عليه:نظرة عامة
- قناة بوت Feishu: بوت Feishu تديره البوابة
- توجيه حتمي: تعود الردود دائمًا إلى Feishu
- عزل الجلسات: تشترك الرسائل الخاصة في جلسة رئيسية؛ أما المجموعات فمعزولة
- اتصال WebSocket: اتصال طويل عبر Feishu SDK، ولا حاجة إلى عنوان URL عام
التحكم في الوصول
الرسائل المباشرة
-
الافتراضي:
dmPolicy: "pairing"(يحصل المستخدمون غير المعروفين على رمز اقتران) -
الموافقة على الاقتران:
-
وضع قائمة السماح: اضبط
channels.feishu.allowFromباستخدام Open IDs المسموح بها
دردشات المجموعات
1. سياسة المجموعات (channels.feishu.groupPolicy):
"open"= السماح للجميع في المجموعات"allowlist"= السماح فقط لما هو موجود فيgroupAllowFrom"disabled"= تعطيل رسائل المجموعات
allowlist
2. شرط الإشارة (channels.feishu.requireMention، ويمكن تجاوزه عبر channels.feishu.groups.<chat_id>.requireMention):
trueصراحةً = يتطلب @mentionfalseصراحةً = يرد من دون إشارات- عند عدم ضبطه ووجود
groupPolicy: "open"= الافتراضيfalse - عند عدم ضبطه وكون
groupPolicyليس"open"= الافتراضيtrue
أمثلة على إعداد المجموعات
السماح لجميع المجموعات، من دون الحاجة إلى @mention (الافتراضي للمجموعات المفتوحة)
السماح لجميع المجموعات، مع الاستمرار في طلب @mention
السماح بمجموعات محددة فقط
تقييد المرسلين المسموح لهم بالمراسلة داخل مجموعة (قائمة سماح للمرسلين)
بالإضافة إلى السماح للمجموعة نفسها، فإن كل الرسائل داخل تلك المجموعة يتم ضبطها حسبopen_id الخاص بالمرسل: فقط المستخدمون المدرجون في groups.<chat_id>.allowFrom تتم معالجة رسائلهم؛ أما الرسائل من الأعضاء الآخرين فيتم تجاهلها (هذا ضبط كامل على مستوى المرسل، وليس فقط لأوامر التحكم مثل /reset أو /new).
الحصول على معرّفات المجموعة/المستخدم
معرّفات المجموعات (chat_id)
تبدو معرّفات المجموعات بهذا الشكلoc_xxx.
الطريقة 1 (مستحسنة)
- شغّل البوابة واذكر البوت باستخدام @mention داخل المجموعة
- شغّل
openclaw logs --followوابحث عنchat_id
معرّفات المستخدمين (open_id)
تبدو معرّفات المستخدمين بهذا الشكلou_xxx.
الطريقة 1 (مستحسنة)
- شغّل البوابة وأرسل رسالة مباشرة إلى البوت
- شغّل
openclaw logs --followوابحث عنopen_id
الأوامر الشائعة
| الأمر | الوصف |
|---|---|
/status | عرض حالة البوت |
/reset | إعادة تعيين الجلسة |
/model | عرض/تبديل النموذج |
ملاحظة: لا يدعم Feishu قوائم الأوامر الأصلية حتى الآن، لذلك يجب إرسال الأوامر كنص.
أوامر إدارة البوابة
| الأمر | الوصف |
|---|---|
openclaw gateway status | عرض حالة البوابة |
openclaw gateway install | تثبيت/بدء خدمة البوابة |
openclaw gateway stop | إيقاف خدمة البوابة |
openclaw gateway restart | إعادة تشغيل خدمة البوابة |
openclaw logs --follow | تتبع سجلات البوابة |
استكشاف الأخطاء وإصلاحها
البوت لا يستجيب في دردشات المجموعات
- تأكد من إضافة البوت إلى المجموعة
- تأكد من أنك تشير إلى البوت باستخدام @mention (السلوك الافتراضي)
- تحقق من أن
groupPolicyليس مضبوطًا على"disabled" - تحقق من السجلات:
openclaw logs --follow
البوت لا يستقبل الرسائل
- تأكد من أن التطبيق منشور ومعتمد
- تأكد من أن اشتراك الأحداث يتضمن
im.message.receive_v1 - تأكد من تفعيل long connection
- تأكد من اكتمال أذونات التطبيق
- تأكد من أن البوابة قيد التشغيل:
openclaw gateway status - تحقق من السجلات:
openclaw logs --follow
تسرّب App Secret
- أعد تعيين App Secret في Feishu Open Platform
- حدّث App Secret في إعداداتك
- أعد تشغيل البوابة
فشل إرسال الرسائل
- تأكد من أن التطبيق يملك إذن
im:message:send_as_bot - تأكد من أن التطبيق منشور
- تحقق من السجلات للحصول على أخطاء مفصلة
الإعداد المتقدم
حسابات متعددة
defaultAccount في حساب Feishu المستخدم عندما لا تحدد واجهات API الصادرة accountId بشكل صريح.
حدود الرسائل
textChunkLimit: حجم مقطع النص الصادر (الافتراضي: 2000 حرف)mediaMaxMb: حد رفع/تنزيل الوسائط (الافتراضي: 30MB)
البث
يدعم Feishu الردود المتدفقة عبر البطاقات التفاعلية. عند التفعيل، يحدّث البوت بطاقة أثناء توليد النص.streaming: false للانتظار حتى يكتمل الرد بالكامل قبل الإرسال.
جلسات ACP
يدعم Feishu ACP في:- الرسائل المباشرة
- محادثات موضوعات المجموعات
/acp ... مباشرة في المحادثة.
ارتباطات ACP الدائمة
استخدم ارتباطات ACP المكتوبة على المستوى الأعلى لتثبيت رسالة مباشرة أو محادثة موضوع في Feishu إلى جلسة ACP دائمة.إنشاء ACP مرتبط بسلسلة محادثة من الدردشة
في رسالة مباشرة أو محادثة موضوع في Feishu، يمكنك إنشاء جلسة ACP وربطها في مكانها:- يعمل
--thread hereمع الرسائل المباشرة وموضوعات Feishu. - يتم توجيه الرسائل اللاحقة في الرسالة المباشرة/الموضوع المرتبط مباشرة إلى جلسة ACP تلك.
- لا يستهدف الإصدار v1 دردشات المجموعات العامة غير المرتبطة بموضوع.
توجيه متعدد الوكلاء
استخدمbindings لتوجيه الرسائل المباشرة أو المجموعات في Feishu إلى وكلاء مختلفين.
match.channel: "feishu"match.peer.kind: "direct"أو"group"match.peer.id: معرّف Open للمستخدم (ou_xxx) أو معرّف المجموعة (oc_xxx)
مرجع الإعداد
الإعداد الكامل: إعدادات البوابة الخيارات الأساسية:| الإعداد | الوصف | الافتراضي |
|---|---|---|
channels.feishu.enabled | تفعيل/تعطيل القناة | true |
channels.feishu.domain | نطاق API (feishu أو lark) | feishu |
channels.feishu.connectionMode | وضع نقل الأحداث | websocket |
channels.feishu.defaultAccount | معرّف الحساب الافتراضي للتوجيه الصادر | default |
channels.feishu.verificationToken | مطلوب لوضع webhook | - |
channels.feishu.encryptKey | مطلوب لوضع webhook | - |
channels.feishu.webhookPath | مسار route لـ webhook | /feishu/events |
channels.feishu.webhookHost | مضيف الربط لـ webhook | 127.0.0.1 |
channels.feishu.webhookPort | منفذ الربط لـ webhook | 3000 |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | تجاوز نطاق API لكل حساب | feishu |
channels.feishu.dmPolicy | سياسة الرسائل المباشرة | pairing |
channels.feishu.allowFrom | قائمة السماح للرسائل المباشرة (قائمة open_id) | - |
channels.feishu.groupPolicy | سياسة المجموعات | allowlist |
channels.feishu.groupAllowFrom | قائمة السماح للمجموعات | - |
channels.feishu.requireMention | طلب @mention افتراضيًا | مشروط |
channels.feishu.groups.<chat_id>.requireMention | تجاوز طلب @mention لكل مجموعة | موروث |
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" | تعطيل الرسائل المباشرة |
أنواع الرسائل المدعومة
الاستقبال
- ✅ نص
- ✅ نص منسق (post)
- ✅ صور
- ✅ ملفات
- ✅ صوت
- ✅ فيديو/وسائط
- ✅ ملصقات
الإرسال
- ✅ نص
- ✅ صور
- ✅ ملفات
- ✅ صوت
- ✅ فيديو/وسائط
- ✅ بطاقات تفاعلية
- ⚠️ نص منسق (تنسيق بنمط post وبطاقات، وليس ميزات التأليف العشوائية في Feishu)
سلاسل المحادثات والردود
- ✅ ردود مضمّنة
- ✅ ردود سلسلة الموضوع عندما يوفّر Feishu
reply_in_thread - ✅ تظل ردود الوسائط مدركة للسلسلة عند الرد على رسالة سلسلة/موضوع
تعليقات Drive
يمكن لـ Feishu تشغيل الوكيل عندما يضيف شخص ما تعليقًا على مستند Feishu Drive (Docs وSheets وغيرها). يتلقى الوكيل نص التعليق وسياق المستند وسلسلة التعليق حتى يتمكن من الرد داخل السلسلة أو إجراء تعديلات على المستند. المتطلبات:- الاشتراك في
drive.notice.comment_add_v1ضمن إعدادات اشتراك أحداث تطبيق Feishu (إلى جانبim.message.receive_v1الموجود) - أداة Drive مفعلة افتراضيًا؛ عطّلها باستخدام
channels.feishu.tools.drive: false
feishu_drive عن إجراءات التعليقات التالية:
| الإجراء | الوصف |
|---|---|
list_comments | سرد التعليقات على مستند |
list_comment_replies | سرد الردود في سلسلة تعليق |
add_comment | إضافة تعليق جديد على المستوى الأعلى |
reply_comment | الرد على سلسلة تعليق موجودة |
- نص التعليق والمرسل
- بيانات المستند الوصفية (العنوان والنوع وURL)
- سياق سلسلة التعليق للردود داخل السلسلة
feishu_drive.reply_comment لإخطار
المعلّق ثم إخراج الرمز الصامت المطابق تمامًا NO_REPLY / no_reply لتجنب
الإرسال المكرر.
سطح إجراءات وقت التشغيل
يكشف Feishu حاليًا عن إجراءات وقت التشغيل التالية:sendreadeditthread-replypinlist-pinsunpinmember-infochannel-infochannel-listreactوreactionsعندما تكون التفاعلات مفعّلة في الإعدادات- إجراءات تعليقات
feishu_drive: list_commentsوlist_comment_repliesوadd_commentوreply_comment
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- المجموعات — سلوك دردشات المجموعات وضبط الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتحصين