متعدد الوكلاء
التوجيه متعدد الوكلاء
الهدف: وكلاء معزولة متعددة (مساحة عمل منفصلة + agentDir + جلسات)، بالإضافة إلى حسابات قنوات متعددة (مثل واتسابين) في بوابة واحدة قيد التشغيل. يتم توجيه الوارد إلى وكيل عبر الارتباطات.
ما هو "الوكيل الواحد"؟
الوكيل هو دماغ ذو نطاق كامل خاص به:
- مساحة العمل (الملفات، AGENTS.md/SOUL.md/USER.md، الملاحظات المحلية، قواعد الشخصية).
- دليل الحالة (
agentDir) لملفات تعريف المصادقة، سجل النماذج، والإعدادات الخاصة بكل وكيل. - مخزن الجلسات (سجل المحادثة + حالة التوجيه) تحت
~/.openclaw/agents//sessions.
ملفات تعريف المصادقة تكون خاصة بكل وكيل. كل وكيل يقرأ من ملفاته الخاصة:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json
بيانات اعتماد الوكيل الرئيسي لا تتم مشاركتها تلقائياً. لا تعيد استخدام agentDir عبر وكلاء متعددين (يسبب ذلك تعارضات في المصادقة/الجلسات). إذا أردت مشاركة بيانات الاعتماد، انسخ auth-profiles.json إلى agentDir الخاص بالوكيل الآخر. المهارات تكون خاصة بكل وكيل عبر مجلد skills/ الخاص بكل مساحة عمل، مع مهارات مشتركة متاحة من ~/.openclaw/skills. راجع المهارات: خاصة بالوكيل مقابل المشتركة. يمكن للبوابة استضافة وكيل واحد (الافتراضي) أو عدة وكلاء جنباً إلى جنب. ملاحظة حول مساحة العمل: مساحة العمل لكل وكيل هي مسار العمل الافتراضي (cwd)، وليست صندوقاً حصيناً. يتم حل المسارات النسبية داخل مساحة العمل، لكن المسارات المطلقة يمكنها الوصول إلى مواقع أخرى على المضيف ما لم يتم تمكين العزل. راجع العزل.
المسارات (خريطة سريعة)
- الإعدادات:
~/.openclaw/openclaw.json(أوOPENCLAW_CONFIG_PATH) - دليل الحالة:
~/.openclaw(أوOPENCLAW_STATE_DIR) - مساحة العمل:
~/.openclaw/workspace(أو~/.openclaw/workspace-) - دليل الوكيل:
~/.openclaw/agents//agent(أوagents.list[].agentDir) - الجلسات:
~/.openclaw/agents//sessions
وضع الوكيل الواحد (الافتراضي)
إذا لم تفعل شيئاً، يعمل OpenClaw بوكيل واحد:
agentIdيكون افتراضياًmain.- يتم تخزين الجلسات كمفتاح
agent:main:. - مساحة العمل الافتراضية هي
~/.openclaw/workspace(أو~/.openclaw/workspace-عند تعيينOPENCLAW_PROFILE). - الحالة الافتراضية تكون في
~/.openclaw/agents/main/agent.
مساعد الوكيل
استخدم معالج الوكيل لإضافة وكيل معزول جديد:
openclaw agents add work
ثم أضف bindings (أو دع المعالج يقوم بذلك) لتوجيه الرسائل الواردة. تحقق باستخدام:
openclaw agents list --bindings
البدء السريع
الخطوة 1: إنشاء مساحة عمل لكل وكيل
استخدم المعالج أو أنشئ مساحات العمل يدوياً:
openclaw agents add coding
openclaw agents add social
يحصل كل وكيل على مساحة عمل خاصة به تحتوي على SOUL.md، AGENTS.md، و USER.md اختياري، بالإضافة إلى agentDir مخصص ومخزن جلسات تحت ~/.openclaw/agents/.
الخطوة 2: إنشاء حسابات القنوات
أنشئ حساباً واحداً لكل وكيل على القنوات المفضلة لديك:
- ديسكورد: بوت واحد لكل وكيل، فعّل نية محتوى الرسالة، انسخ كل رمز مميز.
- تيليجرام: بوت واحد لكل وكيل عبر BotFather، انسخ كل رمز مميز.
- واتساب: اربط كل رقم هاتف لكل حساب.
openclaw channels login --channel whatsapp --account work
راجع أدلة القنوات: ديسكورد، تيليجرام، واتساب.
الخطوة 3: إضافة الوكلاء والحسابات والارتباطات
أضف الوكلاء تحت agents.list، وحسابات القنوات تحت channels..accounts، واربطها باستخدام bindings (أمثلة أدناه).
الخطوة 4: إعادة التشغيل والتحقق
openclaw gateway restart
openclaw agents list --bindings
openclaw channels status --probe
وكلاء متعددون = أشخاص متعددون، شخصيات متعددة
مع وكلاء متعددين، يصبح كل agentId شخصية معزولة بالكامل:
- أرقام هواتف/حسابات مختلفة (لكل
accountIdللقناة). - شخصيات مختلفة (ملفات مساحة العمل الخاصة بكل وكيل مثل
AGENTS.mdوSOUL.md). - مصادقة وجلسات منفصلة (لا تتداخل ما لم يتم تمكين ذلك صراحةً).
هذا يسمح لأشخاص متعددين بمشاركة خادم بوابة واحد مع الحفاظ على "أدمغة" الذكاء الاصطناعي وبياناتهم معزولة.
رقم واتساب واحد، أشخاص متعددون (تقسيم المراسلة المباشرة)
يمكنك توجيه مراسلات واتساب مباشرة مختلفة إلى وكلاء مختلفة مع البقاء على حساب واتساب واحد. قم بالمطابقة على معرف المرسل E.164 (مثل +15551234567) مع peer.kind: "direct". الردود ستأتي من نفس رقم واتساب (لا هوية مرسل خاصة بكل وكيل). تفصيل مهم: تنهار الدردشات المباشرة إلى مفتاح الجلسة الرئيسي للوكيل، لذا فإن العزل الحقيقي يتطلب وكيل واحد لكل شخص. مثال:
{
agents: {
list: [
{ id: "alex", workspace: "~/.openclaw/workspace-alex" },
{ id: "mia", workspace: "~/.openclaw/workspace-mia" },
],
},
bindings: [
{
agentId: "alex",
match: { channel: "whatsapp", peer: { kind: "direct", id: "+15551230001" } },
},
{
agentId: "mia",
match: { channel: "whatsapp", peer: { kind: "direct", id: "+15551230002" } },
},
],
channels: {
whatsapp: {
dmPolicy: "allowlist",
allowFrom: ["+15551230001", "+15551230002"],
},
},
}
ملاحظات:
- التحكم في الوصول للمراسلة المباشرة يكون عالمياً لكل حساب واتساب (الاقتران/القائمة المسموحة)، وليس لكل وكيل.
- للمجموعات المشتركة، اربط المجموعة بوكيل واحد أو استخدم مجموعات البث.