Slash buyruqlar
Commands are handled by the Gateway. Most commands must be sent as a standalone message that starts with/.
The host-only bash chat command uses ! <cmd> (with /bash <cmd> as an alias).
Ikkita o‘zaro bog‘liq tizim mavjud:
- Buyruqlar: alohida
/...xabarlari. - Direktivalar:
/think,/verbose,/reasoning,/elevated,/exec,/model,/queue.- Direktivalar model ularni ko‘rishidan oldin xabardan olib tashlanadi.
- Oddiy chat xabarlarida (faqat direktivadan iborat bo‘lmagan), ular “inline hint” sifatida qabul qilinadi va sessiya sozlamalarini saqlab qolmaydi.
- Faqat direktivalardan iborat xabarlarda (xabar faqat direktivalarni o‘z ichiga olganda), ular sessiyada saqlanadi va tasdiqlovchi javob qaytariladi.
- Direktivlar faqat ruxsat berilgan jo‘natuvchilar uchun qo‘llanadi. Agar
commands.allowFromo‘rnatilgan bo‘lsa, u yagona ishlatiladigan allowlist bo‘ladi; aks holda avtorizatsiya channel allowlistlari/pairing vacommands.useAccessGroupsorqali amalga oshiriladi. Unauthorized senders see directives treated as plain text.
/help, /commands, /status, /whoami (/id).
They run immediately, are stripped before the model sees the message, and the remaining text continues through the normal flow.
Config
commands.text(defaulttrue) enables parsing/...in chat messages.- On surfaces without native commands (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams), text commands still work even if you set this to
false.
- On surfaces without native commands (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams), text commands still work even if you set this to
commands.native(default"auto") registers native commands.- Auto: on for Discord/Telegram; off for Slack (until you add slash commands); ignored for providers without native support.
- Set
channels.discord.commands.native,channels.telegram.commands.native, orchannels.slack.commands.nativeto override per provider (bool or"auto"). falseclears previously registered commands on Discord/Telegram at startup. Slack commands are managed in the Slack app and are not removed automatically.
commands.nativeSkills(default"auto") registers skill commands natively when supported.- Auto: on for Discord/Telegram; off for Slack (Slack requires creating a slash command per skill).
- Set
channels.discord.commands.nativeSkills,channels.telegram.commands.nativeSkills, orchannels.slack.commands.nativeSkillsto override per provider (bool or"auto").
commands.bash(defaultfalse) enables! <cmd>to run host shell commands (/bash <cmd>is an alias; requirestools.elevatedallowlists).commands.bashForegroundMs(default2000) controls how long bash waits before switching to background mode (0backgrounds immediately).commands.config(defaultfalse) enables/config(reads/writesopenclaw.json).commands.debug(defaultfalse) enables/debug(runtime-only overrides).commands.allowFrom(ixtiyoriy) buyruqlarni avtorizatsiya qilish uchun provider bo‘yicha allowlist o‘rnatadi. Sozlanganda, u buyruqlar va direktivalar uchun yagona avtorizatsiya manbai bo‘ladi (channel allowlistlari/pairing vacommands.useAccessGroupse’tiborga olinmaydi). Global standart uchun"*"dan foydalaning; provider’ga xos kalitlar uni ustuvor ravishda bekor qiladi.commands.useAccessGroups(defaulttrue)commands.allowFromsozlanmagan bo‘lsa, buyruqlar uchun ruxsat ro‘yxatlari/siyosatlarni majburiy qo‘llaydi.
Command list
Text + native (when enabled):/help/commands/skill <name> [input](run a skill by name)/status(show current status; includes provider usage/quota for the current model provider when available)/allowlist(list/add/remove allowlist entries)/approve <id> allow-once|allow-always|deny(resolve exec approval prompts)/context [list|detail|json](explain “context”;detailshows per-file + per-tool + per-skill + system prompt size)/whoami(show your sender id; alias:/id)/subagents list|stop|log|info|send(inspect, stop, log, or message sub-agent runs for the current session)/config show|get|set|unset(konfiguratsiyani diskka saqlaydi, faqat egasi;commands.config: truetalab qilinadi)/debug show|set|unset|reset(ish vaqtida ustuvor sozlamalar, faqat egasi;commands.debug: truetalab qilinadi)/usage off|tokens|full|cost(har bir javob uchun foydalanish pastki qismi yoki mahalliy xarajatlar xulosasi)/tts off|always|inbound|tagged|status|provider|limit|summary|audio(TTS boshqaruvi; qarang /tts)/debug show|set|unset|reset(ish vaqtida ustuvor sozlamalar, faqat egasi;commands.debug: truetalab qilinadi)/usage off|tokens|full|cost(har bir javob uchun foydalanish pastki qismi yoki mahalliy xarajatlar xulosasi)/dock-telegram(taxallus:/dock_telegram) (javoblarni Telegram’ga o‘tkazish)- Discord: mahalliy buyruq
/voice(/ttsDiscord tomonidan band qilingan); matnli/ttshanuz ishlaydi.
- Discord: mahalliy buyruq
/stop/restart/activation mention|always(faqat guruhlar uchun)/send on|off|inherit(faqat egasi)/resetyoki/new [model](ixtiyoriy model ishorasi; qolgan matn uzatiladi)/think <off|minimal|low|medium|high|xhigh>(model/provayderga qarab dinamik variantlar; taxalluslar:/thinking,/t)/verbose on|full|off(taxallus:/v)/reasoning on|off|stream(taxallus:/reason; yoqilganda,Reasoning:prefiksi bilan alohida xabar yuboradi;stream= faqat Telegram qoralamasi)/elevated on|off|ask|full(taxallus:/elev;fullbajarish tasdiqlarini o‘tkazib yuboradi)/exec host=<sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>(joriy holatni ko‘rish uchun/execyuboring)/model <name>(taxallus:/models; yoki/<alias>agents.defaults.models.*.aliasdan)/queue <mode>(qo‘shimcha variantlar bilan, masalandebounce:2s cap:25 drop:summarize; joriy sozlamalarni ko‘rish uchun/queueyuboring)/exec host=<sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>(joriy holatni ko‘rish uchun/execyuboring)/model <name>(taxallus:/models; yoki/<alias>agents.defaults.models.*.aliasdan)/queue <mode>(qo‘shimcha variantlar bilan, masalandebounce:2s cap:25 drop:summarize; joriy sozlamalarni ko‘rish uchun/queueyuboring)/bash <command>(faqat xost;! 22. <command>uchun taxallus;commands.bash: true+tools.elevatedruxsat ro‘yxatlari talab qilinadi) Faqat matnli:
/compact [instructions] (qarang /concepts/compaction)
! 26. <command>(faqat xost; bir vaqtning o‘zida bittadan; uzoq ishlar uchun!poll+!stopdan foydalaning)!poll(chiqish / holatni tekshirish; ixtiyoriysessionIdqabul qiladi;/bash pollham ishlaydi)!stop(ishlayotgan bash vazifasini to‘xtatish; ixtiyoriysessionIdqabul qiladi;/bash stopham ishlaydi)- Eslatmalar:
- Buyruqlar buyruq va argumentlar orasida ixtiyoriy
:qabul qiladi (masalan,/think: high,/send: on,/help:).
/new <model> model taxallusini, provider/model ni yoki provayder nomini (taxminiy moslik) qabul qiladi; moslik topilmasa, matn xabar tanasi sifatida ko‘riladi.
- Provayder bo‘yicha to‘liq foydalanish tafsilotlari uchun
openclaw status --usagedan foydalaning. /allowlist add|removecommands.config=trueni talab qiladi va kanalconfigWritesga rioya qiladi./usagehar bir javob uchun foydalanish pastki qismini boshqaradi;/usage costOpenClaw sessiya jurnallaridan mahalliy xarajatlar xulosasini chiqaradi./restartsukut bo‘yicha o‘chirilgan; yoqish uchuncommands.restart: trueni o‘rnating./verbosenosozliklarni aniqlash va qo‘shimcha ko‘rinuvchanlik uchun mo‘ljallangan; odatiy foydalanishda o‘chiq holda qoldiring./reasoning(va/verbose) guruh sozlamalarida xavfli: ular siz oshkor etishni istamagan ichki mulohazalar yoki asbob chiqishlarini ochib yuborishi mumkin.- Ayniqsa guruh chatlarida ularni o‘chiq holda qoldirishni afzal ko‘ring.
- Tezkor yo‘l: ruxsat ro‘yxatidagi jo‘natuvchilardan faqat buyruqdan iborat xabarlar darhol qayta ishlanadi (navbat + modelni chetlab o‘tadi). Guruhda eslatma cheklovi: ruxsat ro‘yxatidagi jo‘natuvchilardan faqat buyruqdan iborat xabarlar eslatma talablarini chetlab o‘tadi.
- Ichki yorliqlar (faqat ruxsat ro‘yxatidagi jo‘natuvchilar): ayrim buyruqlar oddiy xabar ichiga joylashtirilganda ham ishlaydi va model qolgan matnni ko‘rishidan oldin olib tashlanadi.
- Misol:
hey /statusholat javobini ishga tushiradi va qolgan matn odatiy oqim orqali davom etadi. - Hozirda:
/help,/commands,/status,/whoami(/id).- Ruxsatsiz faqat-buyruq xabarlari jimjitlik bilan e’tiborsiz qoldiriladi va ichki
/...tokenlari oddiy matn sifatida ko‘riladi.
- Ruxsatsiz faqat-buyruq xabarlari jimjitlik bilan e’tiborsiz qoldiriladi va ichki
- Ko‘nikma buyruqlari:
user-invocableko‘nikmalar slash-buyruqlar sifatida taqdim etiladi. - Nomlar
a-z0-9_ga tozalanadi (maks. 32 belgi); to‘qnashuvlarda raqamli suffikslar qo‘shiladi (masalan,_2). /skill <name> [input]ko‘nikmani nomi bo‘yicha ishga tushiradi (mahalliy buyruq cheklovlari har bir ko‘nikma uchun buyruqlarga to‘sqinlik qilganda foydali). Sukut bo‘yicha, ko‘nikma buyruqlari modelga oddiy so‘rov sifatida uzatiladi.- Ko‘nikmalar ixtiyoriy ravishda
command-dispatch: toolni e’lon qilishi mumkin, bu buyruqni bevosita asbobga yo‘naltiradi (deterministik, model yo‘q). - Misol:
/prose(OpenProse plagini) — qarang OpenProse. - Skills may optionally declare
command-dispatch: toolto route the command directly to a tool (deterministic, no model). - Example:
/prose(OpenProse plugin) — see OpenProse.
- Ko‘nikmalar ixtiyoriy ravishda
- Native buyruq argumentlari: Discord dinamik opsiyalar uchun avtomatik to‘ldirishdan foydalanadi (va majburiy argumentlar qoldirilganda tugma menyulari). Telegram va Slack buyruq tanlovlarni qo‘llab-quvvatlaganda va siz argumentni qoldirsangiz, tugma menyusini ko‘rsatadi.
3. Foydalanish yuzalari (qayerda nima ko‘rsatiladi)
- Provayderdan foydalanish/kvota (masalan: “Claude 80% qoldi”) foydalanishni kuzatish yoqilgan bo‘lsa, joriy model provayderi uchun
/statusda ko‘rinadi. - Har bir javob uchun tokenlar/narx
/usage off|tokens|fullorqali boshqariladi (oddiy javoblarga qo‘shib yuboriladi). /model statusfoydalanish haqida emas, balki modelllar/auth/endpoints haqida.
Model tanlash (/model)
/model direktiva sifatida amalga oshirilgan.
Misollar:
/modelva/model listixcham, raqamlangan tanlovchini ko‘rsatadi (model oilasi + mavjud provayderlar)./model <#>shu tanlovchidan tanlaydi (va imkon bo‘lsa, joriy provayderni afzal ko‘radi)./model statusbatafsil ko‘rinishni ko‘rsatadi, jumladan sozlangan provayder endpointi (baseUrl) va API rejimi (api) mavjud bo‘lsa.
Debug override’lar
/debug faqat ish vaqtiga oid konfiguratsiya override’larini o‘rnatishga imkon beradi (xotirada, diskda emas). Faqat egasi uchun. Standart holatda o‘chiq; commands.debug: true bilan yoqing.
Misollar:
- Override’lar darhol yangi konfiguratsiya o‘qishlariga qo‘llanadi, ammo
openclaw.jsonga yozilmaydi. - Barcha override’larni tozalash va diskdagi konfiguratsiyaga qaytish uchun
/debug resetdan foydalaning.
Konfiguratsiyani yangilash
/config diskdagi konfiguratsiyangizga (openclaw.json) yozadi. Faqat egasi uchun. Standart holatda o‘chiq; commands.config: true bilan yoqing.
Misollar:
- Yozishdan oldin konfiguratsiya tekshiriladi; yaroqsiz o‘zgarishlar rad etiladi.
/configyangilanishlari qayta ishga tushirishlar orasida saqlanib qoladi.
Surface bo‘yicha eslatmalar
- Matn buyruqlari odatiy chat sessiyasida ishlaydi (DMlar
mainni bo‘lishadi, guruhlarning o‘z sessiyasi bor). - Native buyruqlar izolyatsiyalangan sessiyalardan foydalanadi:
- Discord:
agent:<agentId>:discord:slash:<userId> - Slack:
agent:<agentId>:slack:slash:<userId>(prefikschannels.slack.slashCommand.sessionPrefixorqali sozlanadi) - Telegram:
telegram:slash:<userId>(chat sessiyasiniCommandTargetSessionKeyorqali nishonga oladi)
- Discord:
/stopjoriy ishni bekor qilish uchun faol chat sessiyasini nishonga oladi.- Slack:
channels.slack.slashCommandhali ham bitta/openclaw-uslubidagi buyruq uchun qo‘llab-quvvatlanadi. Agarcommands.nativeni yoqsangiz, har bir ichki buyruq uchun Slack’da bitta slash buyruq yaratishingiz kerak (nomlari/helpdagi bilan bir xil). Slack uchun buyruq argument menyulari ephemeral Block Kit tugmalari sifatida yetkaziladi.