أوامر الشرطة المائلة
يتم التعامل مع الأوامر بواسطة البوابة. يجب إرسال معظم الأوامر كرسالة منفردة تبدأ بـ /. يستخدم أمر bash للمضيف فقط ! <cmd> (مع /bash <cmd> كاسم مستعار). هناك نظامان مرتبطان:
- الأوامر: رسائل منفردة
/.... - التوجيهات:
/think,/verbose,/reasoning,/elevated,/exec,/model,/queue.- يتم إزالة التوجيهات من الرسالة قبل أن يراها النموذج.
- في رسائل الدردشة العادية (وليست توجيهات فقط)، يتم التعامل معها على أنها "تلميحات مضمنة" ولا تستمر في إعدادات الجلسة.
- في الرسائل التي تحتوي على توجيهات فقط (تحتوي الرسالة على توجيهات فقط)، تستمر في الجلسة وتستجيب بإقرار.
- يتم تطبيق التوجيهات فقط للمرسلين المصرح لهم. إذا تم تعيين
commands.allowFrom، فهي القائمة المسموح بها الوحيدة المستخدمة؛ وإلا فإن التصريح يأتي من قوائم السماح/الاقتران الخاصة بالقناة بالإضافة إلىcommands.useAccessGroups. يرى المرسلون غير المصرح لهم أن التوجيهات تُعامل كنص عادي.
هناك أيضًا بعض الاختصارات المضمنة (للمرسلين المسموح لهم/المصرح لهم فقط): /help, /commands, /status, /whoami (/id). تعمل هذه الأوامر فورًا، ويتم إزالتها قبل أن يرى النموذج الرسالة، ويستمر النص المتبقي في التدفق العادي.
الإعدادات
{
commands: {
native: "auto",
nativeSkills: "auto",
text: true,
bash: false,
bashForegroundMs: 2000,
config: false,
debug: false,
restart: false,
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}
commands.text(الافتراضيtrue) يمكّن تحليل/...في رسائل الدردشة.- على الأسطح التي لا تحتوي على أوامر أصلية (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams)، تعمل الأوامر النصية حتى إذا قمت بتعيين هذا إلى
false.
- على الأسطح التي لا تحتوي على أوامر أصلية (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams)، تعمل الأوامر النصية حتى إذا قمت بتعيين هذا إلى
commands.native(الافتراضي"auto") يسجل الأوامر الأصلية.- تلقائي: مفعل لـ Discord/Telegram؛ معطل لـ Slack (حتى تقوم بإضافة أوامر الشرطة المائلة)؛ يتم تجاهله لمزودي الخدمة الذين لا يدعمون الأوامر الأصلية.
- عيّن
channels.discord.commands.native، أوchannels.telegram.commands.native، أوchannels.slack.commands.nativeلتجاوز الإعداد لكل مزود (منطقي أو"auto"). falseيمسح الأوامر المسجلة مسبقًا على Discord/Telegram عند بدء التشغيل. يتم إدارة أوامر Slack في تطبيق Slack ولا تتم إزالتها تلقائيًا.
commands.nativeSkills(الافتراضي"auto") يسجل أوامر المهارات بشكل أصلي عند دعمها.- تلقائي: مفعل لـ Discord/Telegram؛ معطل لـ Slack (يتطلب Slack إنشاء أمر شرطة مائلة لكل مهارة).
- عيّن
channels.discord.commands.nativeSkills، أوchannels.telegram.commands.nativeSkills، أوchannels.slack.commands.nativeSkillsلتجاوز الإعداد لكل مزود (منطقي أو"auto").
commands.bash(الافتراضيfalse) يمكّن! <cmd>لتشغيل أوامر مضيف shell (/bash <cmd>هو اسم مستعار؛ يتطلب قوائم السماحtools.elevated).commands.bashForegroundMs(الافتراضي2000) يتحكم في المدة التي ينتظرها bash قبل التبديل إلى وضع الخلفية (0ينتقل إلى الخلفية فورًا).commands.config(الافتراضيfalse) يمكّن/config(يقرأ ويكتبopenclaw.json).commands.debug(الافتراضيfalse) يمكّن/debug(تجاوزات وقت التشغيل فقط).commands.allowFrom(اختياري) يحدد قائمة السماح لكل مزود لتصريح الأوامر. عند التكوين، فهي مصدر التصريح الوحيد للأوامر والتوجيهات (يتم تجاهل قوائم السماح/الاقتران الخاصة بالقناة وcommands.useAccessGroups). استخدم"*"كافتراضي عام؛ تتجاوز المفاتيح الخاصة بالمزود هذا الإعداد.commands.useAccessGroups(الافتراضيtrue) يفرض قوائم السماح/السياسات للأوامر عندما لا يتم تعيينcommands.allowFrom.
قائمة الأوامر
نصي + أصلي (عند التمكين):
/help/commands/skill <name> [input](تشغيل مهارة بالاسم)/status(عرض الحالة الحالية؛ يتضمن استخدام/حصة المزود للنموذج الحالي عند التوفر)/allowlist(عرض/إضافة/إزالة مدخلات القائمة المسموح بها)/approve <id> allow-once|allow-always|deny(حل مطالبات الموافقة على التنفيذ)/context [list|detail|json](شرح "السياق"؛detailيعرض حجم لكل ملف + لكل أداة + لكل مهارة + موجه النظام)/export-session [path](اسم مستعار:/export) (تصدير الجلسة الحالية إلى HTML مع موجه النظام الكامل)/whoami(عرض معرف المرسل الخاص بك؛ اسم مستعار:/id)/session idle <duration|off>(إدارة إلغاء التركيز التلقائي بسبب الخمول للارتباطات المواضيعية المركزة)/session max-age <duration|off>(إدارة إلغاء التركيز التلقائي بسبب الحد الأقصى للعمر للارتباطات المواضيعية المركزة)/subagents list|kill|log|info|send|steer|spawn(فحص، أو التحكم، أو إنشاء عمليات الوكلاء الفرعية للجلسة الحالية)/acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions(فحص والتحكم في جلسات وقت تشغيل ACP)/agents(سرد الوكلاء المرتبطين بالموضوع لهذه الجلسة)/focus <target>(Discord: ربط هذا الموضوع، أو موضوع جديد، بهدف جلسة/وكيل فرعي)/unfocus(Discord: إزالة الارتباط الحالي للموضوع)/kill <id|#|all>(إجهاض واحد أو جميع الوكلاء الفرعية قيد التشغيل لهذه الجلسة فورًا؛ بدون رسالة تأكيد)/steer <id|#> <message>(توجيه وكيل فرعي قيد التشغيل فورًا: أثناء التشغيل عند الإمكان، وإلا إجهاض العمل الحالي وإعادة البدء على رسالة التوجيه)/tell <id|#> <message>(اسم مستعار لـ/steer)/config show|get|set|unset(استمرار الإعدادات على القرص، للمالك فقط؛ يتطلبcommands.config: true)/debug show|set|unset|reset(تجاوزات وقت التشغيل، للمالك فقط؛ يتطلبcommands.debug: true)/usage off|tokens|full|cost(تذييل الاستخدام لكل استجابة أو ملخص التكلفة المحلية)/tts off|always|inbound|tagged|status|provider|limit|summary|audio(التحكم في TTS؛ انظر /tts)- Discord: الأمر الأصلي هو
/voice(Discord يحتفظ بـ/tts)؛ النص/ttsلا يزال يعمل.
- Discord: الأمر الأصلي هو
/stop/restart/dock-telegram(اسم مستعار:/dock_telegram) (تبديل الردود إلى Telegram)/dock-discord(اسم مستعار:/dock_discord) (تبديل الردود إلى Discord)/dock-slack(اسم مستعار:/dock_slack) (تبديل الردود إلى Slack)/activation mention|always(المجموعات فقط)/send on|off|inherit(للمالك فقط)/resetأو/new [model](تلميح نموذج اختياري؛ الباقي يتم تمريره)/think <off|minimal|low|medium|high|xhigh>(خيارات ديناميكية حسب النموذج/المزود؛ أسماء مستعارة:/thinking,/t)/verbose on|full|off(اسم مستعار:/v)/reasoning on|off|stream(اسم مستعار:/reason؛ عند التمكين، يرسل رسالة منفصلة مسبوقة بـReasoning:؛stream= مسودة Telegram فقط)/elevated on|off|ask|full(اسم مستعار:/elev؛fullيتخطى موافقات التنفيذ)/exec host=<sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>(إرسال/execلعرض الحالي)/model <name>(اسم مستعار:/models؛ أو/<alias>منagents.defaults.models.*.alias)/queue <mode>(بالإضافة إلى خيارات مثلdebounce:2s cap:25 drop:summarize؛ أرسل/queueلرؤية الإعدادات الحالية)/bash <command>(للمضيف فقط؛ اسم مستعار لـ! <command>؛ يتطلبcommands.bash: true+ قوائم السماحtools.elevated)
نصي فقط:
/compact [instructions](انظر /concepts/compaction)! <command>(للمضيف فقط؛ واحد في كل مرة؛ استخدم!poll+!stopللوظائف طويلة الأمد)!poll(التحقق من الإخراج / الحالة؛ يقبلsessionIdاختياريًا؛/bash pollيعمل أيضًا)!stop(إيقاف مهمة bash قيد التشغيل؛ يقبلsessionIdاختياريًا؛/bash stopيعمل أيضًا)
ملاحظات:
- تقبل الأوامر
:اختياريًا بين الأمر والوسائط (مثال:/think: high,/send: on,/help:). /new <model>يقبل اسمًا مستعارًا للنموذج، أوprovider/model، أو اسم مزود (مطابقة تقريبية)؛ إذا لم توجد مطابقة، يتم التعامل مع النص كجسم الرسالة.- للحصول على تفصيل كامل لاستخدام المزود، استخدم
openclaw status --usage. /allowlist add|removeيتطلبcommands.config=trueويلتزم بـconfigWritesالخاصة بالقناة./usageيتحكم في تذييل الاستخدام لكل استجابة؛/usage costيطبع ملخص التكلفة المحلية من سجلات جلسة OpenClaw./restartمفعل افتراضيًا؛ عيّنcommands.restart: falseلتعطيله.- أمر Discord الأصلي فقط:
/vc join|leave|statusيتحكم في قنوات الصوت (يتطلبchannels.discord.voiceوالأوامر الأصلية؛ غير متاح كنص). - أوامر ربط مواضيع Discord (
/focus,/unfocus,/agents,/session idle,/session max-age) تتطلب تمكين ارتباطات المواضيع الفعالة (session.threadBindings.enabledو/أوchannels.discord.threadBindings.enabled). - مرجع أمر ACP وسلوك وقت التشغيل: وكلاء ACP.
/verboseمخصص لتصحيح الأخطاء وزيادة الوضوح؛ ابقيه معطلًا في الاستخدام العادي.- لا تزال تُعرض ملخصات فشل الأداة عند الاقتضاء، ولكن يتم تضمين نص الفشل التفصيلي فقط عندما يكون
/verboseonأوfull. /reasoning(و/verbose) محفوفان بالمخاطر في إعدادات المجموعة: قد يكشفان عن التفكير الداخلي أو إخراج الأداة الذي لم تنوي الكشف عنه. يُفضل تركهما معطلين، خاصة في محادثات المجموعة.- مسار سريع: يتم التعامل مع الرسائل التي تحتوي على أوامر فقط من المرسلين المسموح لهم فورًا (يتجاوز قائمة الانتظار + النموذج).
- بوابة الإشارة للمجموعة: تتجاوز الرسائل التي تحتوي على أوامر فقط من المرسلين المسموح لهم متطلبات الإشارة.
- الاختصارات المضمنة (للمرسلين المسموح لهم فقط): تعمل بعض الأوامر أيضًا عند تضمينها في رسالة عادية ويتم إزالتها قبل أن يرى النموذج النص المتبقي.
- مثال:
hey /statusيُطلق رد حالة، ويستمر النص المتبقي في التدفق العادي.
- مثال:
- حاليًا:
/help,/commands,/status,/whoami(/id). - يتم تجاهل الرسائل التي تحتوي على أوامر فقط من مرسلين غير مصرح لهم بصمت، ويتم التعامل مع الرموز
/...المضمنة كنص عادي. - أوامر المهارات: يتم عرض المهارات
user-invocableكأوامر شرطة مائلة. يتم تطهير الأسماء إلىa-z0-9_(بحد أقصى 32 حرفًا)؛ تحصل التصادمات على لاحقات رقمية (مثال:_2)./skill <name> [input]يشغل مهارة بالاسم (مفيد عندما تمنع حدود الأمر الأصلي وجود أوامر لكل مهارة).- افتراضيًا، يتم إعادة توجيه أوامر المهارات إلى النموذج كطلب عادي.
- قد تعلن المهارات اختياريًا عن
command-dispatch: toolلتوجيه الأمر مباشرة إلى أداة (حتمي، بدون نموذج). - مثال:
/prose(ملحق OpenProse) — انظر OpenProse.
- وسائط الأمر الأصلي: يستخدم Discord الإكمال التلقائي للخيارات الديناميكية (وقوائم الأزرار عند حذف الوسائط المطلوبة). يعرض Telegram و Slack قائمة أزرار عندما يدعم الأمر خيارات وتحذف الوسيط.
أسطح الاستخدام (ما يظهر أين)
- استخدام/حصة المزود (مثال: "Claude 80% left") يظهر في
/statusلمزود النموذج الحالي عند تمكين تتبع الاستخدام. - الرموز/التكلفة لكل استجابة يتم التحكم فيها بواسطة
/usage off|tokens|full(مُلحق بالردود العادية). /model statusيتعلق بالنماذج/المصادقة/نقاط النهاية، وليس الاستخدام.
اختيار النموذج (/model)
يتم تنفيذ /model كتوجيه. أمثلة:
/model
/model list
/model 3
/model openai/gpt-5.2
/model opus@anthropic:default
/model status
ملاحظات:
/modelو/model listيعرضان منتقيًا مضغوطًا ومرقمًا (عائلة النموذج + المزودون المتاحون).- على Discord، يفتح
/modelو/modelsمنتقيًا تفاعليًا مع قوائم منسدلة للمزود والنموذج بالإضافة إلى خطوة إرسال. /model <#>يختار من ذلك المنتقي (ويفضل المزود الحالي عند الإمكان)./model statusيعرض العرض التفصيلي، بما في ذلك نقطة نهاية المزود المُعدة (baseUrl) ووضع API (api) عند التوفر.
تجاوزات التصحيح
يسمح لك /debug بتعيين تجاوزات إعداد وقت التشغيل فقط (ذاكرة، وليس قرص). للمالك فقط. معطل افتراضيًا؛ قم بتمكينه بـ commands.debug: true. أمثلة:
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset
ملاحظات:
- يتم تطبيق التجاوزات فورًا على قراءات الإعداد الجديدة، ولكنها لا تكتب في
openclaw.json. - استخدم
/debug resetلمسح جميع التجاوزات والعودة إلى الإعداد الموجود على القرص.
تحديثات الإعدادات
يكتب /config في إعداداتك الموجودة على القرص (openclaw.json). للمالك فقط. معطل افتراضيًا؛ قم بتمكينه بـ commands.config: true. أمثلة:
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
ملاحظات:
- يتم التحقق من صحة الإعداد قبل الكتابة؛ يتم رفض التغييرات غير الصالحة.
- تستمر تحديثات
/configعبر عمليات إعادة التشغيل.
ملاحظات السطح
- تعمل الأوامر النصية في جلسة الدردشة العادية (تشارك الرسائل المباشرة
main، وللمجموعات جلسة خاصة بها). - تستخدم الأوامر الأصلية جلسات معزولة:
- Discord:
agent:<agentId>:discord:slash:<userId> - Slack:
agent:<agentId>:slack:slash:<userId>(بادئة قابلة للتكوين عبرchannels.slack.slashCommand.sessionPrefix) - Telegram:
telegram:slash:<userId>(يستهدف جلسة الدردشة عبرCommandTargetSessionKey)
- Discord:
- يستهدف
/stopجلسة الدردشة النشطة حتى يتمكن من إجهاض التشغيل الحالي. - Slack: لا يزال
channels.slack.slashCommandمدعومًا لأمر واحد من نوع/openclaw. إذا قمت بتمكينcommands.native، يجب عليك إنشاء أمر Slack شرطة مائلة واحد لكل أمر مدمج (بنفس أسماء/help). يتم تسليم قوائم وسائط الأمر لـ Slack كأزرار Block Kit عابرة.- استثناء Slack الأصلي: سجل
/agentstatus(وليس/status) لأن Slack يحتفظ بـ/status. لا يزال النص/statusيعمل في رسائل Slack.
- استثناء Slack الأصلي: سجل