Перейти до основного вмісту

Слеш-команди

Команди обробляються Gateway. Більшість команд треба надсилати як окреме повідомлення, що починається з /. Команда чату bash лише для хоста використовує ! <cmd> (з псевдонімом /bash <cmd>). Є дві пов’язані системи:
  • Команди: окремі повідомлення /....
  • Директиви: /think, /fast, /verbose, /trace, /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,
    mcp: false,
    plugins: false,
    debug: false,
    restart: true,
    ownerAllowFrom: ["discord:123456789012345678"],
    ownerDisplay: "raw",
    ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
    allowFrom: {
      "*": ["user1"],
      discord: ["user:123"],
    },
    useAccessGroups: true,
  },
}
  • commands.text (типово true) вмикає розбір /... у повідомленнях чату.
    • На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити це значення в false.
  • 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 в інтерфейсі керування або поверхні конфігурації/каталогу, а не сприймайте /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
/model 3
/model openai/gpt-5.4
/model opus@anthropic:default
/model status
Примітки:
  • /model і /model list показують компактний нумерований вибір (сімейство моделей + доступні провайдери).
  • У Discord /model і /models відкривають інтерактивний вибір із випадними списками провайдера й моделі та кроком Submit.
  • /model <#> вибирає зі списку вибору (і, коли можливо, надає перевагу поточному провайдеру).
  • /model status показує докладний вигляд, зокрема налаштований endpoint провайдера (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, щоб очистити всі перевизначення й повернутися до конфігурації на диску.

Вивід trace Plugin

/trace дає змогу перемикати рядки trace/debug plugin у межах сесії без увімкнення повного докладного режиму. Приклади:
/trace
/trace on
/trace off
Примітки:
  • /trace без аргументу показує поточний стан trace для сесії.
  • /trace on вмикає рядки trace plugin для поточної сесії.
  • /trace off знову вимикає їх.
  • Рядки trace plugin можуть з’являтися в /status і як додаткове діагностичне повідомлення після звичайної відповіді асистента.
  • /trace не замінює /debug; /debug як і раніше керує перевизначеннями конфігурації лише під час виконання.
  • /trace не замінює /verbose; звичайний докладний вивід інструментів/статусу все ще належить до /verbose.

Оновлення конфігурації

/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 зберігаються після перезапусків.

Оновлення MCP

/mcp записує визначення MCP-серверів, керованих OpenClaw, у mcp.servers. Лише для власника. Типово вимкнено; увімкніть через commands.mcp: true. Приклади:
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
Примітки:
  • /mcp зберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi.
  • Адаптери runtime вирішують, які транспорти реально можна виконати.

Оновлення plugins

/plugins дає змогу операторам перевіряти виявлені plugins і перемикати їх увімкнення в конфігурації. Для потоків лише читання можна використовувати /plugin як псевдонім. Типово вимкнено; увімкніть через commands.plugins: true. Приклади:
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
Примітки:
  • /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)
  • /stop націлюється на активну сесію чату, щоб можна було перервати поточний запуск.
  • Slack: channels.slack.slashCommand усе ще підтримується для однієї команди у стилі /openclaw. Якщо ви вмикаєте commands.native, потрібно створити одну slash-команду Slack для кожної вбудованої команди (з тими самими назвами, що й /help). Меню аргументів команд для Slack доставляються як ефемерні кнопки Block Kit.
    • Виняток для нативних команд Slack: реєструйте /agentstatus (а не /status), тому що Slack резервує /status. Текстовий /status у повідомленнях Slack усе одно працює.

Побічні запитання BTW

/btw — це швидке побічне запитання про поточну сесію. На відміну від звичайного чату:
  • воно використовує поточну сесію як фоновий контекст,
  • воно виконується як окремий одноразовий виклик без інструментів,
  • воно не змінює майбутній контекст сесії,
  • воно не записується в історію транскрипту,
  • воно доставляється як живий побічний результат, а не як звичайне повідомлення асистента.
Це робить /btw корисним, коли вам потрібне тимчасове уточнення, поки основне завдання триває. Приклад:
/btw що ми зараз робимо?
Див. BTW Side Questions, щоб ознайомитися з повною поведінкою та деталями клієнтського UX.