CLI commands
الوكلاء
openclaw agents
إدارة الوكلاء المعزولين (مساحات العمل + المصادقة + التوجيه).
ذو صلة:
- التوجيه متعدد الوكلاء
- مساحة عمل الوكيل
- إعدادات Skills: إعدادات إظهار Skills.
أمثلة
openclaw agents listopenclaw agents list --bindingsopenclaw agents add work --workspace ~/.openclaw/workspace-workopenclaw agents add work --workspace ~/.openclaw/workspace-work --bind telegram:*openclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops --non-interactiveopenclaw agents bindingsopenclaw agents bind --agent work --bind telegram:opsopenclaw agents unbind --agent work --bind telegram:opsopenclaw agents set-identity --workspace ~/.openclaw/workspace --from-identityopenclaw agents set-identity --agent main --avatar avatars/openclaw.pngopenclaw agents delete workارتباطات التوجيه
استخدم ارتباطات التوجيه لتثبيت حركة القنوات الواردة على وكيل محدد.
إذا أردت أيضًا Skills مرئية مختلفة لكل وكيل، فاضبط agents.defaults.skills وagents.list[].skills في openclaw.json. راجع إعدادات Skills ومرجع الإعدادات.
عرض الارتباطات:
openclaw agents bindingsopenclaw agents bindings --agent workopenclaw agents bindings --jsonإضافة ارتباطات:
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-aيمكنك أيضًا إضافة ارتباطات عند إنشاء وكيل:
openclaw agents add work --workspace ~/.openclaw/workspace-work --bind telegram:* --bind discord:*إذا حذفت accountId (--bind <channel>)، فإن OpenClaw يستخرجه من خطافات إعداد Plugin، أو ربط الحساب القسري، أو عدد الحسابات المضبوط للقناة.
إذا حذفت --agent مع bind أو unbind، يستهدف OpenClaw الوكيل الافتراضي الحالي.
صيغة --bind
| الصيغة | المعنى |
|---|---|
--bind <channel>:* |
يطابق كل الحسابات على القناة. |
--bind <channel>:<account> |
يطابق حسابًا واحدًا. |
--bind <channel> |
يطابق الحساب الافتراضي فقط ما لم تستطع CLI استخراج نطاق حساب خاص بـ Plugin بأمان. |
سلوك نطاق الارتباط
- الارتباط المخزّن من دون
accountIdيطابق الحساب الافتراضي للقناة فقط. accountId: "*"هو الاحتياطي على مستوى القناة (كل الحسابات)، وهو أقل تحديدًا من ارتباط حساب صريح.- إذا كان لدى الوكيل نفسه بالفعل ارتباط قناة مطابق من دون
accountId، ثم ربطته لاحقًا باستخدامaccountIdصريح أو مستخرج، يرقّي OpenClaw ذلك الارتباط الموجود في مكانه بدلًا من إضافة نسخة مكررة.
أمثلة:
# match all accounts on the channelopenclaw agents bind --agent work --bind telegram:* # match a specific accountopenclaw agents bind --agent work --bind telegram:ops # initial channel-only bindingopenclaw agents bind --agent work --bind telegram # later upgrade to account-scoped bindingopenclaw agents bind --agent work --bind telegram:alertsبعد الترقية، يكون التوجيه لذلك الارتباط مقيدًا بالنطاق telegram:alerts. إذا أردت أيضًا توجيه الحساب الافتراضي، فأضفه صراحةً (مثلًا --bind telegram:default).
إزالة الارتباطات:
openclaw agents unbind --agent work --bind telegram:opsopenclaw agents unbind --agent work --allيقبل unbind إما --all أو قيمة واحدة أو أكثر من قيم --bind، وليس كليهما.
واجهة الأوامر
agents
تشغيل openclaw agents من دون أمر فرعي يعادل openclaw agents list.
agents list
الخيارات:
--json--bindings: تضمين قواعد التوجيه كاملة، وليس فقط العدادات/الملخصات لكل وكيل
agents add [name]
الخيارات:
--workspace <dir>--model <id>--agent-dir <dir>--bind <channel[:accountId]>(قابل للتكرار)--non-interactive--json
ملاحظات:
- تمرير أي أعلام إضافة صريحة يحوّل الأمر إلى المسار غير التفاعلي.
- يتطلب الوضع غير التفاعلي اسم وكيل و
--workspaceمعًا. mainمحجوز ولا يمكن استخدامه كمعرّف الوكيل الجديد.- في الوضع التفاعلي، ينسخ زرع المصادقة الملفات الشخصية الثابتة القابلة للنقل فقط
(
api_keyوtokenالثابت افتراضيًا). تبقى ملفات OAuth الشخصية ذات رموز التحديث متاحة فقط عبر الوراثة بالقراءة من مخزن الوكيلmainالحقيقي. إذا لم يكن الوكيل الافتراضي المضبوط هوmain، فسجّل الدخول بشكل منفصل لملفات OAuth الشخصية على الوكيل الجديد.
agents bindings
الخيارات:
--agent <id>--json
agents bind
الخيارات:
--agent <id>(يضبط افتراضيًا على الوكيل الافتراضي الحالي)--bind <channel[:accountId]>(قابل للتكرار)--json
agents unbind
الخيارات:
--agent <id>(يضبط افتراضيًا على الوكيل الافتراضي الحالي)--bind <channel[:accountId]>(قابل للتكرار)--all--json
agents delete <id>
الخيارات:
--force--json
ملاحظات:
- لا يمكن حذف
main. - من دون
--force، يكون التأكيد التفاعلي مطلوبًا. - تُنقل مساحة العمل وحالة الوكيل ومجلدات نصوص الجلسات إلى سلة المهملات، ولا تُحذف حذفًا نهائيًا.
- عندما يكون Gateway قابلًا للوصول، يُرسل الحذف عبر Gateway لكي تشترك عملية تنظيف الإعدادات ومخزن الجلسات في الكاتب نفسه مثل حركة وقت التشغيل. إذا تعذر الوصول إلى Gateway، تعود CLI إلى المسار المحلي غير المتصل.
- إذا كانت مساحة عمل وكيل آخر هي المسار نفسه، أو داخل مساحة العمل هذه، أو تحتوي مساحة العمل هذه،
فيُحتفظ بمساحة العمل ويبلغ
--jsonعنworkspaceRetained، وworkspaceRetainedReason، وworkspaceSharedWith.
ملفات الهوية
يمكن لكل مساحة عمل وكيل أن تتضمن ملف IDENTITY.md في جذر مساحة العمل:
- مثال على المسار:
~/.openclaw/workspace/IDENTITY.md - يقرأ
set-identity --from-identityمن جذر مساحة العمل (أو من--identity-fileصريح)
تُحل مسارات الصور الرمزية نسبةً إلى جذر مساحة العمل.
ضبط الهوية
يكتب set-identity الحقول في agents.list[].identity:
namethemeemojiavatar(مسار نسبي إلى مساحة العمل، أو عنوان URL يبدأ بـ http(s)، أو معرّف URI للبيانات)
الخيارات:
--agent <id>--workspace <dir>--identity-file <path>--from-identity--name <name>--theme <theme>--emoji <emoji>--avatar <value>--json
ملاحظات:
- يمكن استخدام
--agentأو--workspaceلاختيار الوكيل الهدف. - إذا اعتمدت على
--workspaceوكان عدة وكلاء يتشاركون مساحة العمل هذه، يفشل الأمر ويطلب منك تمرير--agent. - تقتصر ملفات صور الصورة الرمزية المحلية النسبية إلى مساحة العمل على 2 ميغابايت. لا تُفحص عناوين HTTP(S) URL ومعرّفات URI التي تبدأ بـ
data:بحد حجم الملف المحلي. - عندما لا تُقدَّم حقول هوية صريحة، يقرأ الأمر بيانات الهوية من
IDENTITY.md.
التحميل من IDENTITY.md:
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identityتجاوز الحقول صراحةً:
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.pngنموذج إعداد:
{ agents: { list: [ { id: "main", identity: { name: "OpenClaw", theme: "space lobster", emoji: "🦞", avatar: "avatars/openclaw.png", }, }, ], },}