البدء السريع
يتطلب OpenClaw 2026.5.29 أو أحدث. شغّل
openclaw --version للتحقق. حدّث باستخدام openclaw update.شغّل معالج إعداد القناة
التحكم في الوصول
الرسائل المباشرة
اضبطdmPolicy للتحكم في من يمكنه إرسال رسالة مباشرة إلى الروبوت:
"pairing"- يتلقى المستخدمون غير المعروفين رمز اقتران؛ وافق عبر CLI"allowlist"- يمكن للمستخدمين المدرجين فقط فيallowFromالدردشة"open"- اسمح بالرسائل المباشرة العامة فقط عندما يتضمنallowFromالقيمة"*"؛ ومع الإدخالات المقيِّدة، يمكن للمستخدمين المطابقين فقط الدردشة
دردشات المجموعات
سياسة المجموعة (channels.feishu.groupPolicy):
| القيمة | السلوك |
|---|---|
"open" | الرد على جميع الرسائل في المجموعات |
"allowlist" | الرد فقط على المجموعات الموجودة في groupAllowFrom أو المهيأة صراحةً ضمن groups.<chat_id> |
"disabled" | تعطيل جميع رسائل المجموعات؛ لا تتجاوز إدخالات groups.<chat_id> الصريحة ذلك |
allowlist
متطلب الإشارة (channels.feishu.requireMention):
true- يتطلب @mention (افتراضي)false- الرد بدون @mention- تجاوز لكل مجموعة:
channels.feishu.groups.<chat_id>.requireMention - لا تُعامل
@allو@_allالمخصصتان للبث فقط كإشارات إلى الروبوت. تظل الرسالة التي تشير إلى كل من@allوالروبوت مباشرةً محسوبة كإشارة إلى الروبوت.
أمثلة تهيئة المجموعات
السماح لجميع المجموعات، بدون الحاجة إلى @mention
السماح لجميع المجموعات، مع استمرار طلب @mention
السماح بمجموعات محددة فقط
allowlist، يمكنك أيضًا قبول مجموعة بإضافة إدخال groups.<chat_id> صريح. لا تتجاوز الإدخالات الصريحة groupPolicy: "disabled". تضبط افتراضات حرف البدل ضمن groups.* المجموعات المطابقة، لكنها لا تقبل المجموعات بذاتها.
تقييد المرسلين داخل مجموعة
الحصول على معرّفات المجموعة/المستخدم
معرّفات المجموعات (chat_id، التنسيق: oc_xxx)
افتح المجموعة في Feishu/Lark، وانقر أيقونة القائمة في الزاوية العلوية اليمنى، وانتقل إلى الإعدادات. يظهر معرّف المجموعة (chat_id) في صفحة الإعدادات.

معرّفات المستخدمين (open_id، التنسيق: ou_xxx)
ابدأ gateway، وأرسل رسالة مباشرة إلى الروبوت، ثم تحقق من السجلات:
open_id في مخرجات السجل. يمكنك أيضًا التحقق من طلبات الاقتران المعلقة:
الأوامر الشائعة
| الأمر | الوصف |
|---|---|
/status | عرض حالة الروبوت |
/reset | إعادة تعيين الجلسة الحالية |
/model | عرض نموذج الذكاء الاصطناعي أو تبديله |
لا يدعم Feishu/Lark قوائم أوامر الشرطة المائلة الأصلية، لذا أرسل هذه كرسائل نصية عادية.
استكشاف الأخطاء وإصلاحها
الروبوت لا يرد في دردشات المجموعات
- تأكد من إضافة الروبوت إلى المجموعة
- تأكد من أنك تستخدم @mention للإشارة إلى الروبوت (مطلوب افتراضيًا)
- تحقق من أن
groupPolicyليست"disabled" - تحقق من السجلات:
openclaw logs --follow
الروبوت لا يتلقى الرسائل
- تأكد من نشر الروبوت والموافقة عليه في Feishu Open Platform / Lark Developer
- تأكد من أن اشتراك الأحداث يتضمن
im.message.receive_v1 - تأكد من تحديد الاتصال المستمر (WebSocket)
- تأكد من منح جميع نطاقات الأذونات المطلوبة
- تأكد من أن gateway قيد التشغيل:
openclaw gateway status - تحقق من السجلات:
openclaw logs --follow
إعداد QR لا يتفاعل في تطبيق Feishu للهاتف
- أعد تشغيل الإعداد:
openclaw channels login --channel feishu - اختر الإعداد اليدوي
- في Feishu Open Platform، أنشئ تطبيقًا مبنيًا ذاتيًا وانسخ App ID وApp Secret الخاصين به
- الصق بيانات الاعتماد هذه في معالج الإعداد
تسرّب App Secret
- أعد تعيين App Secret في Feishu Open Platform / Lark Developer
- حدّث القيمة في ملف التهيئة لديك
- أعد تشغيل gateway:
openclaw gateway restart
التهيئة المتقدمة
حسابات متعددة
defaultAccount في الحساب المستخدم عندما لا تحدد واجهات API الصادرة accountId.
يستخدم accounts.<id>.tts الشكل نفسه مثل messages.tts ويندمج دمجًا عميقًا فوق
تهيئة TTS العامة، بحيث يمكن لإعدادات Feishu متعددة الروبوتات إبقاء بيانات اعتماد
المزوّد المشتركة عامة مع تجاوز الصوت أو النموذج أو الشخصية أو الوضع التلقائي فقط
لكل حساب.
حدود الرسائل
textChunkLimit- حجم مقطع النص الصادر (افتراضي:2000حرف)mediaMaxMb- حد رفع/تنزيل الوسائط (افتراضي:30ميغابايت)
البث
يدعم Feishu/Lark الردود المتدفقة عبر البطاقات التفاعلية. عند التمكين، يحدّث الروبوت البطاقة في الوقت الفعلي أثناء توليد النص.streaming: false لإرسال الرد الكامل في رسالة واحدة. يكون blockStreaming معطلاً افتراضيًا؛ فعّله فقط عندما تريد تفريغ كتل المساعد المكتملة قبل الرد النهائي.
تحسين الحصة
قلّل عدد استدعاءات API الخاصة بـ Feishu/Lark باستخدام علمين اختياريين:typingIndicator(الافتراضيtrue): اضبطfalseلتخطي استدعاءات تفاعل الكتابةresolveSenderNames(الافتراضيtrue): اضبطfalseلتخطي عمليات البحث عن ملف تعريف المرسل
جلسات ACP
يدعم Feishu/Lark ACP للرسائل المباشرة ورسائل سلاسل المجموعات. يعتمد ACP في Feishu/Lark على الأوامر النصية - لا توجد قوائم أوامر شرطة مائلة أصلية، لذا استخدم رسائل/acp ... مباشرةً في المحادثة.
ربط ACP مستمر
إنشاء ACP من الدردشة
في رسالة مباشرة أو سلسلة في Feishu/Lark:--thread here مع الرسائل المباشرة ورسائل السلاسل في Feishu/Lark. تُوجَّه رسائل المتابعة في المحادثة المرتبطة مباشرةً إلى جلسة ACP تلك.
توجيه متعدد الوكلاء
استخدمbindings لتوجيه الرسائل المباشرة أو المجموعات في Feishu/Lark إلى وكلاء مختلفين.
match.channel:"feishu"match.peer.kind:"direct"(رسالة مباشرة) أو"group"(دردشة مجموعة)match.peer.id: Open ID للمستخدم (ou_xxx) أو معرّف المجموعة (oc_xxx)
عزل الوكيل لكل مستخدم (إنشاء الوكيل الديناميكي)
فعّلdynamicAgentCreation لإنشاء مثيلات وكيل معزولة تلقائيًا لكل مستخدم رسائل مباشرة. يحصل كل مستخدم على ما يلي خاصًا به:
- دليل مساحة عمل مستقل
- ملفات
USER.md/SOUL.md/MEMORY.mdمنفصلة - سجل محادثة خاص
- Skills وحالة معزولة
تتضمن الارتباطات الديناميكية
accountId المطبّع في Feishu، بحيث يوجّه الحساب الافتراضي والحسابات المسماة كل مرسل إلى الوكيل الديناميكي الصحيح.إذا أنشأ حساب مسمى وكيلًا ديناميكيًا غير محدد النطاق في إصدار أقدم، فسيظل ذلك الوكيل القديم محسوبًا ضمن maxAgents. تأكد من أنه لا يستخدمه الحساب الافتراضي قبل إزالته، أو زد maxAgents مؤقتًا؛ لا يستطيع OpenClaw استنتاج الحساب الذي يملك الحالة القديمة المبهمة بأمان.إعداد سريع
كيف يعمل
عندما يرسل مستخدم جديد أول رسالة مباشرة له:- تولّد القناة
agentIdفريدًا:feishu-{user_open_id}للحساب الافتراضي، أو بصمة هوية محدودة ومسبوقة بالحساب لحساب مسمى - تنشئ مساحة عمل جديدة في مسار
workspaceTemplate - تسجّل الوكيل وتنشئ ارتباطًا لهذا المستخدم
- يضمن مساعد مساحة العمل وجود ملفات التمهيد (
AGENTS.md، وSOUL.md، وUSER.md، إلخ) عند أول وصول - توجّه جميع الرسائل المستقبلية من هذا المستخدم إلى وكيله المخصص
خيارات التهيئة
| الإعداد | الوصف | الافتراضي |
|---|---|---|
channels.feishu.dynamicAgentCreation.enabled | تفعيل إنشاء وكيل تلقائي لكل مستخدم | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate | قالب المسار لمساحات عمل الوكلاء الديناميكية | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate | قالب اسم دليل الوكيل | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents | الحد الأقصى لعدد الوكلاء الديناميكيين المراد إنشاؤهم | غير محدود |
{agentId}- معرّف الوكيل المُنشأ (مثلfeishu-ou_xxxxxxأوfeishu-support-<identity_digest>){userId}- قيمة open_id الخاصة بمرسل Feishu (مثلou_xxxxxx)
نطاق الجلسة
يتحكمsession.dmScope في كيفية ربط الرسائل المباشرة بجلسات الوكيل. هذا إعداد عام يؤثر في كل القنوات.
| القيمة | السلوك | الأنسب لـ |
|---|---|---|
"main" | تُربط الرسائل المباشرة لكل مستخدم بالجلسة الرئيسية لوكيله | روبوتات المستخدم الواحد التي تريد فيها تحميل USER.md / SOUL.md تلقائيًا |
"per-channel-peer" | تحصل كل تركيبة (قناة + مستخدم) على جلسة منفصلة | روبوتات عامة متعددة المستخدمين تحتاج إلى عزل أقوى |
"per-account-channel-peer" | تحصل كل تركيبة (حساب + قناة + مستخدم) على جلسة منفصلة | روبوتات متعددة الحسابات تحتاج إلى عزل الجلسات على مستوى الحساب |
"main" تحميل ملفات التمهيد تلقائيًا (USER.md وSOUL.md وMEMORY.md)، لكنه يعني أن كل الرسائل المباشرة عبر كل القنوات تشارك نمط مفتاح الجلسة نفسه. بالنسبة إلى الروبوتات العامة متعددة المستخدمين التي يكون فيها العزل أهم من التحميل التلقائي للتمهيد، فكّر في "per-channel-peer" وأدر ملفات التمهيد يدويًا.
استخدم
"per-account-channel-peer" عندما يجب أن تحتفظ حسابات Feishu المسماة بجلسات منفصلة للمرسل نفسه. تحافظ الارتباطات الديناميكية على نطاق الحساب.نشر نموذجي متعدد المستخدمين
التحقق
تحقق من سجلات Gateway للتأكد من أن الإنشاء الديناميكي يعمل:ملاحظات
- عزل مساحة العمل: يحصل كل مستخدم على دليل مساحة عمل ومثيل وكيل خاصين به. لا يمكن للمستخدمين رؤية سجل محادثات بعضهم أو ملفاتهم ضمن تدفق المراسلة العادي.
- حد الأمان: هذه آلية عزل لسياق المراسلة، وليست حدًا أمنيًا ضد مستأجرين مشاركين عدائيين. عملية الوكيل وبيئة المضيف مشتركتان.
- يجب أن تكون
bindingsفارغة: يسجل الوكلاء الديناميكيون ارتباطاتهم تلقائيًا - مسار الترقية: تستمر الارتباطات اليدوية الحالية في العمل إلى جانب الوكلاء الديناميكيين
session.dmScopeعام: يؤثر هذا في كل القنوات، وليس Feishu فقط
مرجع التكوين
التكوين الكامل: تكوين Gateway| الإعداد | الوصف | الافتراضي |
|---|---|---|
channels.feishu.enabled | تفعيل/تعطيل القناة | true |
channels.feishu.domain | نطاق API (feishu أو lark) | feishu |
channels.feishu.connectionMode | نقل الأحداث (websocket أو webhook) | websocket |
channels.feishu.defaultAccount | الحساب الافتراضي للتوجيه الصادر | default |
channels.feishu.verificationToken | مطلوب لوضع webhook | - |
channels.feishu.encryptKey | مطلوب لوضع webhook | - |
channels.feishu.webhookPath | مسار توجيه Webhook | /feishu/events |
channels.feishu.webhookHost | مضيف ربط Webhook | 127.0.0.1 |
channels.feishu.webhookPort | منفذ ربط Webhook | 3000 |
channels.feishu.accounts.<id>.appId | معرّف التطبيق | - |
channels.feishu.accounts.<id>.appSecret | سر التطبيق | - |
channels.feishu.accounts.<id>.domain | تجاوز النطاق لكل حساب | feishu |
channels.feishu.accounts.<id>.tts | تجاوز TTS لكل حساب | messages.tts |
channels.feishu.dmPolicy | سياسة الرسائل المباشرة | pairing |
channels.feishu.allowFrom | قائمة السماح للرسائل المباشرة (قائمة open_id) | - |
channels.feishu.groupPolicy | سياسة المجموعة | allowlist |
channels.feishu.groupAllowFrom | قائمة السماح للمجموعات | - |
channels.feishu.requireMention | طلب @mention في المجموعات | true |
channels.feishu.groups.<chat_id>.requireMention | تجاوز @mention لكل مجموعة؛ تسمح المعرفات الصريحة أيضًا بالمجموعة في وضع قائمة السماح | موروث |
channels.feishu.groups.<chat_id>.enabled | تفعيل/تعطيل مجموعة محددة | true |
channels.feishu.dynamicAgentCreation.enabled | تفعيل إنشاء وكيل تلقائي لكل مستخدم | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate | قالب المسار لمساحات عمل الوكلاء الديناميكية | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate | قالب اسم دليل الوكيل | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents | الحد الأقصى لعدد الوكلاء الديناميكيين المراد إنشاؤهم | غير محدود |
channels.feishu.textChunkLimit | حجم مقطع الرسالة | 2000 |
channels.feishu.mediaMaxMb | حد حجم الوسائط | 30 |
channels.feishu.streaming | إخراج بطاقات البث | true |
channels.feishu.blockStreaming | بث ردود الكتل المكتملة | false |
channels.feishu.typingIndicator | إرسال تفاعلات الكتابة | true |
channels.feishu.resolveSenderNames | حل أسماء العرض للمرسلين | true |
channels.feishu.tools.bitable | تفعيل أدوات Bitable/Base | true |
channels.feishu.tools.base | اسم مستعار لـ channels.feishu.tools.bitable؛ تكون قيمة bitable الصريحة هي المعتمدة عند ضبط الاثنين | true |
channels.feishu.accounts.<id>.tools.bitable | بوابة أداة Bitable/Base لكل حساب | موروث |
channels.feishu.accounts.<id>.tools.base | اسم مستعار لكل حساب لـ tools.bitable | موروث |
أنواع الرسائل المدعومة
الاستقبال
- ✅ النص
- ✅ النص المنسق (post)
- ✅ الصور
- ✅ الملفات
- ✅ الصوت
- ✅ الفيديو/الوسائط
- ✅ الملصقات
file_key الخام. عند تكوين tools.media.audio، ينزّل OpenClaw مورد الملاحظة الصوتية ويشغّل نسخ الصوت المشترك قبل دورة الوكيل، بحيث يتلقى الوكيل النص المنسوخ من الكلام. إذا تضمّن Feishu نص النسخ مباشرةً في حمولة الصوت، فيُستخدم ذلك النص من دون استدعاء ASR آخر. بدون موفر نسخ صوتي، يظل الوكيل يتلقى عنصرًا نائبًا <media:audio> بالإضافة إلى المرفق المحفوظ، وليس حمولة مورد Feishu الخام.
الإرسال
- ✅ النص
- ✅ الصور
- ✅ الملفات
- ✅ الصوت
- ✅ الفيديو/الوسائط
- ✅ البطاقات التفاعلية (بما في ذلك تحديثات البث)
- ⚠️ النص المنسق (تنسيق بنمط المنشورات؛ لا يدعم إمكانات التأليف الكاملة في Feishu/Lark)
audio وتتطلب
وسائط مرفوعة بتنسيق Ogg/Opus (file_type: "opus"). تُرسل وسائط .opus و.ogg الموجودة
مباشرة كصوت أصلي. تُحوَّل MP3/WAV/M4A وغيرها من تنسيقات الصوت المحتملة
إلى Ogg/Opus بتردد 48kHz باستخدام ffmpeg فقط عندما يطلب الرد تسليمًا صوتيًا
(audioAsVoice / أداة الرسائل asVoice، بما في ذلك ردود الملاحظات الصوتية عبر TTS).
تبقى مرفقات MP3 العادية كملفات عادية. إذا كان ffmpeg مفقودًا أو
فشل التحويل، يعود OpenClaw إلى مرفق ملف ويسجل السبب.
السلاسل والردود
- ✅ الردود المضمنة
- ✅ ردود السلاسل
- ✅ تبقى ردود الوسائط مدركة للسلسلة عند الرد على رسالة ضمن سلسلة
groupSessionScope: "group_topic" و"group_topic_sender"، تستخدم
مجموعات المواضيع الأصلية في Feishu/Lark قيمة thread_id (omt_*) الخاصة بالحدث كمفتاح
جلسة الموضوع الأساسي. إذا حذف حدث بدء موضوع أصلي thread_id، يملؤه OpenClaw
من Feishu قبل توجيه الدور. تستمر ردود المجموعة العادية التي
يحوّلها OpenClaw إلى سلاسل في استخدام معرّف رسالة جذر الرد (om_*) بحيث
يبقى الدور الأول ودور المتابعة في الجلسة نفسها.
ذات صلة
- نظرة عامة على القنوات - جميع القنوات المدعومة
- الإقران - مصادقة الرسائل المباشرة وتدفق الإقران
- المجموعات - سلوك دردشة المجموعات وبوابة الإشارات
- توجيه القنوات - توجيه جلسات الرسائل
- الأمان - نموذج الوصول والتقوية