Слеш-команди
Команди обробляються Gateway. Більшість команд треба надсилати як окреме повідомлення, що починається з/.
Команда чату bash лише для хоста використовує ! <cmd> (з псевдонімом /bash <cmd>).
Є дві пов’язані системи:
- Команди: окремі повідомлення
/.... - Директиви:
/think,/fast,/verbose,/trace,/reasoning,/elevated,/exec,/model,/queue.- Директиви прибираються з повідомлення до того, як його побачить модель.
- У звичайних повідомленнях чату (не лише з директив), вони розглядаються як «вбудовані підказки» і не зберігають налаштування сесії.
- У повідомленнях лише з директивами (повідомлення містить тільки директиви) вони зберігаються в сесії та повертають підтвердження.
- Директиви застосовуються лише для авторизованих відправників. Якщо задано
commands.allowFrom, це єдиний список дозволених джерел; інакше авторизація визначається списками дозволених джерел/паруванням каналу плюсcommands.useAccessGroups. Неавторизовані відправники бачитимуть директиви як звичайний текст.
/help, /commands, /status, /whoami (/id).
Вони виконуються негайно, прибираються до того, як повідомлення побачить модель, а решта тексту проходить через звичайний потік.
Конфігурація
commands.text(типовоtrue) вмикає розбір/...у повідомленнях чату.- На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити це значення в
false.
- На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити це значення в
commands.native(типово"auto") реєструє нативні команди.- Auto: увімкнено для Discord/Telegram; вимкнено для Slack (поки ви не додасте slash-команди); ігнорується для провайдерів без нативної підтримки.
- Щоб перевизначити значення для окремого провайдера, задайте
channels.discord.commands.native,channels.telegram.commands.nativeабоchannels.slack.commands.native(булеве значення або"auto"). falseочищає раніше зареєстровані команди в Discord/Telegram під час запуску. Команди Slack керуються в застосунку Slack і не видаляються автоматично.
commands.nativeSkills(типово"auto") реєструє команди Skills нативно, якщо це підтримується.- Auto: увімкнено для Discord/Telegram; вимкнено для Slack (у Slack потрібно створювати slash-команду для кожного skill).
- Щоб перевизначити значення для окремого провайдера, задайте
channels.discord.commands.nativeSkills,channels.telegram.commands.nativeSkillsабоchannels.slack.commands.nativeSkills(булеве значення або"auto").
commands.bash(типовоfalse) вмикає! <cmd>для виконання команд оболонки на хості (/bash <cmd>— псевдонім; потрібні списки дозволенихtools.elevated).commands.bashForegroundMs(типово2000) визначає, як довго bash очікує перед переходом у фоновий режим (0одразу переводить у фон).commands.config(типовоfalse) вмикає/config(читання/записopenclaw.json).commands.mcp(типовоfalse) вмикає/mcp(читання/запис конфігурації MCP, керованої OpenClaw, уmcp.servers).commands.plugins(типовоfalse) вмикає/plugins(виявлення/стан plugins, а також керування встановленням і ввімкненням/вимкненням).commands.debug(типовоfalse) вмикає/debug(перевизначення лише під час виконання).commands.restart(типовоtrue) вмикає/restartі дії інструментів перезапуску gateway.commands.ownerAllowFrom(необов’язково) задає явний список дозволених джерел для власника для поверхонь команд/інструментів, доступних лише власнику. Це окремо відcommands.allowFrom.commands.ownerDisplayвизначає, як ідентифікатори власника відображаються в системному промпті:rawабоhash.commands.ownerDisplaySecretнеобов’язково задає секрет HMAC, який використовується, колиcommands.ownerDisplay="hash".commands.allowFrom(необов’язково) задає список дозволених джерел для авторизації команд окремо для кожного провайдера. Якщо налаштовано, це єдине джерело авторизації для команд і директив (списки дозволених джерел/парування каналу таcommands.useAccessGroupsігноруються). Використовуйте"*"для глобального значення за замовчуванням; ключі окремих провайдерів мають вищий пріоритет.commands.useAccessGroups(типовоtrue) примусово застосовує списки дозволених джерел/політики до команд, якщоcommands.allowFromне задано.
Список команд
Поточне джерело істини:- вбудовані core-команди беруться з
src/auto-reply/commands-registry.shared.ts - згенеровані dock-команди беруться з
src/auto-reply/commands-registry.data.ts - plugin-команди надходять із викликів plugin
registerCommand() - фактична доступність на вашому gateway усе одно залежить від прапорців конфігурації, поверхні каналу та встановлених/увімкнених plugins
Вбудовані core-команди
Доступні сьогодні вбудовані команди:/new [model]запускає нову сесію;/reset— псевдонім для скидання./compact [instructions]виконує Compaction контексту сесії. Див. /concepts/compaction./stopперериває поточний запуск./session idle <duration|off>і/session max-age <duration|off>керують завершенням прив’язки до потоку за строком дії./think <off|minimal|low|medium|high|xhigh>задає рівень мислення. Псевдоніми:/thinking,/t./verbose on|off|fullперемикає докладний вивід. Псевдонім:/v./trace on|offперемикає вивід трасування Plugin для поточної сесії./fast [status|on|off]показує або встановлює швидкий режим./reasoning [on|off|stream]перемикає видимість міркувань. Псевдонім:/reason./elevated [on|off|ask|full]перемикає підвищений режим. Псевдонім:/elev./exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>показує або встановлює типові значення exec./model [name|#|status]показує або встановлює модель./models [provider] [page] [limit=<n>|size=<n>|all]перелічує провайдерів або моделі для провайдера./queue <mode>керує поведінкою черги (steer,interrupt,followup,collect,steer-backlog), а також параметрами на кшталтdebounce:2s cap:25 drop:summarize./helpпоказує коротку довідку./commandsпоказує згенерований каталог команд./tools [compact|verbose]показує, що поточний агент може використовувати прямо зараз./statusпоказує стан виконання, зокрема використання/квоту провайдера, якщо доступно./tasksперелічує активні/нещодавні фонові завдання для поточної сесії./context [list|detail|json]пояснює, як збирається контекст./export-session [path]експортує поточну сесію в HTML. Псевдонім:/export./whoamiпоказує ваш ідентифікатор відправника. Псевдонім:/id./skill <name> [input]запускає skill за назвою./allowlist [list|add|remove] ...керує записами списку дозволених джерел. Лише текстова команда./approve <id> <decision>обробляє запити на погодження exec./btw <question>ставить побічне запитання без зміни майбутнього контексту сесії. Див. /tools/btw./subagents list|kill|log|info|send|steer|spawnкерує запусками субагентів для поточної сесії./acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpкерує сесіями ACP і параметрами виконання./focus <target>прив’язує поточний потік Discord або тему/розмову Telegram до цілі сесії./unfocusзнімає поточну прив’язку./agentsперелічує агентів, прив’язаних до потоку, для поточної сесії./kill <id|#|all>перериває один або всі запущені субагенти./steer <id|#> <message>надсилає керуюче повідомлення запущеному субагенту. Псевдонім:/tell./config show|get|set|unsetчитає або записуєopenclaw.json. Лише для власника. Потрібноcommands.config: true./mcp show|get|set|unsetчитає або записує конфігурацію MCP-сервера, керовану OpenClaw, уmcp.servers. Лише для власника. Потрібноcommands.mcp: true./plugins list|inspect|show|get|install|enable|disableперевіряє або змінює стан plugins./plugin— псевдонім. Запис — лише для власника. Потрібноcommands.plugins: true./debug show|set|unset|resetкерує перевизначеннями конфігурації лише під час виконання. Лише для власника. Потрібноcommands.debug: true./usage off|tokens|full|costкерує нижнім колонтитулом використання для кожної відповіді або виводить локальний зведений звіт про вартість./tts on|off|status|provider|limit|summary|audio|helpкерує TTS. Див. /tools/tts./restartперезапускає OpenClaw, якщо ввімкнено. Типово: увімкнено; щоб вимкнути, задайтеcommands.restart: false./activation mention|alwaysзадає режим активації в групі./send on|off|inheritзадає політику надсилання. Лише для власника./bash <command>виконує команду оболонки на хості. Лише текстова команда. Псевдонім:! <command>. Потрібноcommands.bash: trueі списки дозволенихtools.elevated.!poll [sessionId]перевіряє фонове завдання bash.!stop [sessionId]зупиняє фонове завдання bash.
Згенеровані dock-команди
Dock-команди генеруються з channel plugins із підтримкою нативних команд. Поточний вбудований набір:/dock-discord(псевдонім:/dock_discord)/dock-mattermost(псевдонім:/dock_mattermost)/dock-slack(псевдонім:/dock_slack)/dock-telegram(псевдонім:/dock_telegram)
Команди вбудованих plugins
Вбудовані plugins можуть додавати більше slash-команд. Поточні вбудовані команди в цьому репозиторії:/dreaming [on|off|status|help]перемикає Dreaming пам’яті. Див. Dreaming./pair [qr|status|pending|approve|cleanup|notify]керує потоком парування/налаштування пристрою. Див. Pairing./phone status|arm <camera|screen|writes|all> [duration]|disarmтимчасово вмикає команди вузла телефона з високим рівнем ризику./voice status|list [limit]|set <voiceId|name>керує конфігурацією голосу Talk. У Discord нативна назва команди —/talkvoice./card ...надсилає шаблони LINE rich card. Див. LINE./codex status|models|threads|resume|compact|review|account|mcp|skillsперевіряє та керує вбудованим harness сервера застосунку Codex. Див. Codex Harness.- Команди лише для QQBot:
/bot-ping/bot-version/bot-help/bot-upgrade/bot-logs
Динамічні команди Skills
Skills, які може викликати користувач, також доступні як slash-команди:/skill <name> [input]завжди працює як універсальна точка входу.- skills також можуть з’являтися як прямі команди, наприклад
/prose, коли їх реєструє skill/plugin. - нативна реєстрація skill-команд керується через
commands.nativeSkillsіchannels.<provider>.commands.nativeSkills.
- Команди приймають необов’язковий символ
:між командою та аргументами (наприклад,/think: high,/send: on,/help:). /new <model>приймає псевдонім моделі,provider/modelабо назву провайдера (нечіткий збіг); якщо збігу немає, текст розглядається як тіло повідомлення.- Для повного розподілу використання провайдера скористайтеся
openclaw status --usage. /allowlist add|removeвимагаєcommands.config=trueі враховуєconfigWritesканалу.- У каналах із кількома акаунтами команди
/allowlist --account <id>, націлені на конфігурацію, і/config set channels.<provider>.accounts.<id>...також враховуютьconfigWritesцільового акаунта. /usageкерує нижнім колонтитулом використання для кожної відповіді;/usage costвиводить локальний зведений звіт про вартість із журналів сесій OpenClaw./restartувімкнено типово; щоб вимкнути, задайтеcommands.restart: false./plugins install <spec>приймає ті самі специфікації plugin, що йopenclaw plugins install: локальний шлях/архів, npm-пакет абоclawhub:<pkg>./plugins enable|disableоновлює конфігурацію plugin і може запропонувати перезапуск.- Нативна команда лише для 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 Agents.
/verboseпризначена для налагодження та додаткової видимості; у звичайному використанні тримайте її вимкненою./traceвужча за/verbose: вона показує лише рядки trace/debug, що належать plugin, і не вмикає звичайний докладний вивід інструментів./fast on|offзберігає перевизначення сесії. Щоб очистити його та повернутися до типових значень із конфігурації, використайте опціюinheritв інтерфейсі Sessions./fastзалежить від провайдера: OpenAI/OpenAI Codex зіставляють її зservice_tier=priorityу нативних endpoint Responses, тоді як прямі публічні запити Anthropic, включно з трафіком з OAuth-автентифікацією, надісланим доapi.anthropic.com, зіставляють її зservice_tier=autoабоstandard_only. Див. OpenAI і Anthropic.- Підсумки збоїв інструментів усе ще показуються, коли це доречно, але докладний текст помилки включається лише тоді, коли
/verboseмає значенняonабоfull. /reasoning,/verboseі/traceризиковані в групових налаштуваннях: вони можуть розкрити внутрішні міркування, вивід інструментів або діагностику plugin, які ви не планували показувати. Краще залишати їх вимкненими, особливо в групових чатах./modelнегайно зберігає нову модель сесії.- Якщо агент простоює, наступний запуск використає її відразу.
- Якщо запуск уже активний, OpenClaw позначає живе перемикання як відкладене й перезапускає на нову модель лише в чистій точці повторної спроби.
- Якщо активність інструментів або вивід відповіді вже почалися, відкладене перемикання може залишатися в черзі до пізнішої можливості повторної спроби або до наступного ходу користувача.
- Швидкий шлях: повідомлення лише з командами від відправників зі списку дозволених обробляються негайно (в обхід черги та моделі).
- Обмеження згадування в групі: повідомлення лише з командами від відправників зі списку дозволених обходять вимоги щодо згадування.
- Вбудовані скорочення (лише для відправників зі списку дозволених): деякі команди також працюють, коли вбудовані у звичайне повідомлення, і прибираються до того, як модель побачить решту тексту.
- Приклад:
hey /statusзапускає відповідь зі статусом, а решта тексту проходить через звичайний потік.
- Приклад:
- Наразі:
/help,/commands,/status,/whoami(/id). - Неавторизовані повідомлення лише з командами мовчки ігноруються, а вбудовані токени
/...розглядаються як звичайний текст. - Skill-команди: Skills з позначкою
user-invocableдоступні як slash-команди. Назви санітизуються доa-z0-9_(максимум 32 символи); у разі колізій додаються числові суфікси (наприклад,_2)./skill <name> [input]запускає skill за назвою (це корисно, коли обмеження нативних команд не дозволяють мати окремі команди для кожного skill).- Типово skill-команди пересилаються моделі як звичайний запит.
- Skills можуть необов’язково оголошувати
command-dispatch: tool, щоб маршрутизувати команду безпосередньо до інструмента (детерміновано, без моделі). - Приклад:
/prose(plugin OpenProse) — див. OpenProse.
- Аргументи нативних команд: Discord використовує автодоповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти вибору, а ви пропускаєте аргумент.
/tools
/tools відповідає на запитання про виконання, а не про конфігурацію: що цей агент може використовувати прямо зараз у
цій розмові.
- Типовий
/toolsє компактним і оптимізованим для швидкого перегляду. /tools verboseдодає короткі описи.- Поверхні нативних команд, які підтримують аргументи, надають той самий перемикач режиму
compact|verbose. - Результати прив’язані до сесії, тож зміна агента, каналу, потоку, авторизації відправника або моделі може змінити вивід.
/toolsвключає інструменти, які реально доступні під час виконання, зокрема core-інструменти, підключені plugin-інструменти та інструменти, що належать каналу.
/tools як статичний каталог.
Поверхні використання (що де показується)
- Використання/квота провайдера (наприклад, «Claude 80% left») показується в
/statusдля поточного провайдера моделі, якщо відстеження використання ввімкнене. OpenClaw нормалізує вікна провайдерів до% left; для MiniMax поля відсотка з лише залишком інвертуються перед показом, а відповідіmodel_remainsвіддають перевагу запису chat-model плюс мітці плану, прив’язаній до моделі. - Рядки токенів/кешу в
/statusможуть повертатися до останнього запису використання з транскрипту, якщо живий знімок сесії містить мало даних. Наявні ненульові живі значення все одно мають пріоритет, а резерв із транскрипту також може відновити мітку активної runtime-моделі плюс більший загальний обсяг, орієнтований на промпт, коли збережені підсумки відсутні або менші. - Токени/вартість для кожної відповіді керуються через
/usage off|tokens|full(додаються до звичайних відповідей). /model statusстосується моделей/автентифікації/endpoint, а не використання.
Вибір моделі (/model)
/model реалізовано як директиву.
Приклади:
/modelі/model listпоказують компактний нумерований вибір (сімейство моделей + доступні провайдери).- У Discord
/modelі/modelsвідкривають інтерактивний вибір із випадними списками провайдера й моделі та кроком Submit. /model <#>вибирає зі списку вибору (і, коли можливо, надає перевагу поточному провайдеру)./model statusпоказує докладний вигляд, зокрема налаштований endpoint провайдера (baseUrl) і режим API (api), якщо доступно.
Перевизначення налагодження
/debug дає змогу задавати перевизначення конфігурації лише під час виконання (у пам’яті, не на диску). Лише для власника. Типово вимкнено; увімкніть через commands.debug: true.
Приклади:
- Перевизначення застосовуються негайно до нових читань конфігурації, але не записуються в
openclaw.json. - Використовуйте
/debug reset, щоб очистити всі перевизначення й повернутися до конфігурації на диску.
Вивід trace Plugin
/trace дає змогу перемикати рядки trace/debug plugin у межах сесії без увімкнення повного докладного режиму.
Приклади:
/traceбез аргументу показує поточний стан trace для сесії./trace onвмикає рядки trace plugin для поточної сесії./trace offзнову вимикає їх.- Рядки trace plugin можуть з’являтися в
/statusі як додаткове діагностичне повідомлення після звичайної відповіді асистента. /traceне замінює/debug;/debugяк і раніше керує перевизначеннями конфігурації лише під час виконання./traceне замінює/verbose; звичайний докладний вивід інструментів/статусу все ще належить до/verbose.
Оновлення конфігурації
/config записує у вашу конфігурацію на диску (openclaw.json). Лише для власника. Типово вимкнено; увімкніть через commands.config: true.
Приклади:
- Перед записом конфігурація проходить валідацію; некоректні зміни відхиляються.
- Оновлення
/configзберігаються після перезапусків.
Оновлення MCP
/mcp записує визначення MCP-серверів, керованих OpenClaw, у mcp.servers. Лише для власника. Типово вимкнено; увімкніть через commands.mcp: true.
Приклади:
/mcpзберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi.- Адаптери runtime вирішують, які транспорти реально можна виконати.
Оновлення plugins
/plugins дає змогу операторам перевіряти виявлені plugins і перемикати їх увімкнення в конфігурації. Для потоків лише читання можна використовувати /plugin як псевдонім. Типово вимкнено; увімкніть через commands.plugins: true.
Приклади:
/plugins listі/plugins showвикористовують реальне виявлення plugins у поточному робочому просторі та конфігурації на диску./plugins enable|disableоновлює лише конфігурацію plugin; воно не встановлює й не видаляє plugins.- Після змін
enable/disableперезапустіть gateway, щоб застосувати їх.
Примітки щодо поверхонь
- Текстові команди виконуються у звичайній сесії чату (DM ділять
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, потрібно створити одну slash-команду Slack для кожної вбудованої команди (з тими самими назвами, що й/help). Меню аргументів команд для Slack доставляються як ефемерні кнопки Block Kit.- Виняток для нативних команд Slack: реєструйте
/agentstatus(а не/status), тому що Slack резервує/status. Текстовий/statusу повідомленнях Slack усе одно працює.
- Виняток для нативних команд Slack: реєструйте
Побічні запитання BTW
/btw — це швидке побічне запитання про поточну сесію.
На відміну від звичайного чату:
- воно використовує поточну сесію як фоновий контекст,
- воно виконується як окремий одноразовий виклик без інструментів,
- воно не змінює майбутній контекст сесії,
- воно не записується в історію транскрипту,
- воно доставляється як живий побічний результат, а не як звичайне повідомлення асистента.
/btw корисним, коли вам потрібне тимчасове уточнення, поки основне
завдання триває.
Приклад: