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

Команди зі слешем

Команди обробляються Gateway. Більшість команд потрібно надсилати як окреме повідомлення, яке починається з /. Чат-команда bash лише для host використовує ! <cmd>/bash <cmd> як псевдонімом). Є дві пов’язані системи:
  • Команди: окремі повідомлення /....
  • Директиви: /think, /fast, /verbose, /reasoning, /elevated, /exec, /model, /queue.
    • Директиви вилучаються з повідомлення до того, як його побачить модель.
    • У звичайних повідомленнях чату (не лише з директивами) вони трактуються як «вбудовані підказки» і не зберігають налаштування сесії.
    • У повідомленнях лише з директивами (повідомлення містить лише директиви) вони зберігаються в сесії та відповідають підтвердженням.
    • Директиви застосовуються лише для авторизованих відправників. Якщо задано commands.allowFrom, це єдиний allowlist, який використовується; інакше авторизація надходить із allowlist каналів/pairing разом із commands.useAccessGroups. Для неавторизованих відправників директиви трактуються як звичайний текст.
Також є кілька вбудованих скорочень (лише для allowlisted/авторизованих відправників): /help, /commands, /status, /whoami (/id). Вони виконуються негайно, вилучаються до того, як повідомлення побачить модель, а решта тексту продовжує проходити звичайним потоком.

Config

{
  commands: {
    native: "auto",
    nativeSkills: "auto",
    text: true,
    bash: false,
    bashForegroundMs: 2000,
    config: false,
    mcp: false,
    plugins: false,
    debug: false,
    restart: false,
    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 commands); ігнорується для провайдерів без нативної підтримки.
    • Використовуйте channels.discord.commands.native, channels.telegram.commands.native або channels.slack.commands.native, щоб перевизначити це для конкретного провайдера (bool або "auto").
    • false очищає раніше зареєстровані команди в Discord/Telegram під час запуску. Команди Slack керуються в застосунку Slack і не видаляються автоматично.
  • commands.nativeSkills (типово "auto") реєструє нативно команди skill, коли це підтримується.
    • Auto: увімкнено для Discord/Telegram; вимкнено для Slack (у Slack потрібно створювати окрему slash command для кожної skill).
    • Використовуйте channels.discord.commands.nativeSkills, channels.telegram.commands.nativeSkills або channels.slack.commands.nativeSkills, щоб перевизначити це для конкретного провайдера (bool або "auto").
  • commands.bash (типово false) вмикає ! <cmd> для запуску shell-команд на host (/bash <cmd> — псевдонім; потребує allowlist для tools.elevated).
  • commands.bashForegroundMs (типово 2000) керує тим, скільки часу bash чекає перед переходом у фоновий режим (0 одразу переводить у фон).
  • commands.config (типово false) вмикає /config (читання/запис openclaw.json).
  • commands.mcp (типово false) вмикає /mcp (читання/запис config MCP під керуванням OpenClaw у mcp.servers).
  • commands.plugins (типово false) вмикає /plugins (виявлення/стан plugin плюс керування встановленням і вмиканням/вимиканням).
  • commands.debug (типово false) вмикає /debug (перевизначення лише для runtime).
  • commands.allowFrom (необов’язково) задає allowlist для авторизації команд окремо для кожного провайдера. Якщо його налаштовано, це єдине джерело авторизації для команд і директив (commands.useAccessGroups та allowlist каналів/pairing ігноруються). Використовуйте "*" як глобальне значення за замовчуванням; ключі для конкретних провайдерів його перевизначають.
  • commands.useAccessGroups (типово true) застосовує allowlist/політики для команд, коли commands.allowFrom не задано.

Список команд

Текстові + нативні (коли ввімкнено):
  • /help
  • /commands
  • /tools [compact|verbose] (показує, що поточний агент може використовувати прямо зараз; verbose додає описи)
  • /skill <name> [input] (запустити skill за назвою)
  • /status (показати поточний стан; включає використання/квоту провайдера для поточного провайдера моделі, коли доступно)
  • /tasks (перелічити фонові завдання для поточної сесії; показує деталі активних і нещодавніх завдань із локальними для агента резервними підрахунками)
  • /allowlist (переглянути/додати/видалити записи allowlist)
  • /approve <id> <decision> (обробити запити схвалення exec; використовуйте повідомлення про очікуване схвалення для доступних рішень)
  • /context [list|detail|json] (пояснює «контекст»; detail показує розмір для кожного файла + кожного інструмента + кожної skill + системного запиту)
  • /btw <question> (поставити тимчасове побічне запитання про поточну сесію без зміни майбутнього контексту сесії; див. /tools/btw)
  • /export-session [path] (псевдонім: /export) (експортувати поточну сесію в HTML із повним системним запитом)
  • /whoami (показати ваш sender id; псевдонім: /id)
  • /session idle <duration|off> (керування автоматичним зняттям фокусу через неактивність для прив’язок сфокусованих потоків)
  • /session max-age <duration|off> (керування жорстким автоматичним зняттям фокусу за максимальним віком для прив’язок сфокусованих потоків)
  • /subagents list|kill|log|info|send|steer|spawn (переглянути, керувати або запускати sub-agent для поточної сесії)
  • /acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions (перегляд і керування runtime-сесіями ACP)
  • /agents (перелічити агентів, прив’язаних до потоку для цієї сесії)
  • /focus <target> (Discord: прив’язати цей потік або новий потік до цілі session/subagent)
  • /unfocus (Discord: прибрати поточну прив’язку потоку)
  • /kill <id|#|all> (негайно перервати один або всі запущені sub-agent для цієї сесії; без повідомлення-підтвердження)
  • /steer <id|#> <message> (негайно перенаправити запущений sub-agent: під час виконання, якщо можливо, інакше перервати поточну роботу та перезапустити з повідомленням steer)
  • /tell <id|#> <message> (псевдонім для /steer)
  • /config show|get|set|unset (зберегти config на диск, лише для власника; потребує commands.config: true)
  • /mcp show|get|set|unset (керування config сервера OpenClaw MCP, лише для власника; потребує commands.mcp: true)
  • /plugins list|show|get|install|enable|disable (перегляд виявлених plugin, встановлення нових і перемикання стану ввімкнення; запис лише для власника; потребує commands.plugins: true)
    • /plugin — псевдонім для /plugins.
    • /plugin install <spec> приймає ті самі специфікації plugin, що й openclaw plugins install: локальний шлях/архів, npm-пакет або clawhub:<pkg>.
    • Записи enable/disable усе ще відповідають підказкою про перезапуск. На gateway переднього плану з watch OpenClaw може виконати цей перезапуск автоматично відразу після запису.
  • /debug show|set|unset|reset (перевизначення runtime, лише для власника; потребує 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 усе одно працює.
  • /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)
  • /fast status|on|off (без аргументу показує поточний ефективний стан fast mode)
  • /verbose on|full|off (псевдонім: /v)
  • /reasoning on|off|stream (псевдонім: /reason; коли ввімкнено, надсилає окреме повідомлення з префіксом Reasoning:; stream = лише чернетка Telegram)
  • /elevated on|off|ask|full (псевдонім: /elev; full пропускає схвалення exec)
  • /exec host=<auto|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> (лише для host; псевдонім для ! <command>; потребує commands.bash: true + allowlist для tools.elevated)
  • /dreaming [on|off|status|help] або /dreaming [enable|disable] [light|deep|rem] (перемкнути фази dreaming або показати стан; див. Dreaming)
Лише текстові:
  • /compact [instructions] (див. /concepts/compaction)
  • ! <command> (лише для host; по одній за раз; використовуйте !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.
  • У каналах з кількома обліковими записами /allowlist --account <id>, націлений на config, і /config set channels.<provider>.accounts.<id>... також враховують 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 і поведінка runtime: ACP Agents.
  • /verbose призначено для налагодження та додаткової видимості; у звичайному використанні тримайте його вимкненим.
  • /fast on|off зберігає перевизначення сесії. Використовуйте параметр inherit в UI Sessions, щоб очистити його та повернутися до типових значень config.
  • /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) ризиковані в групових налаштуваннях: вони можуть розкрити внутрішні міркування або вивід інструментів, які ви не хотіли показувати. Краще залишати їх вимкненими, особливо в групових чатах.
  • /model негайно зберігає нову модель сесії.
  • Якщо агент неактивний, наступний запуск одразу її використовує.
  • Якщо виконання вже активне, OpenClaw позначає живе перемикання як очікуване й перезапускає на новій моделі лише в чистій точці повторної спроби.
  • Якщо активність інструмента або вивід відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повторної спроби або до наступного ходу користувача.
  • Швидкий шлях: повідомлення лише з командами від allowlisted відправників обробляються негайно (обхід черги + моделі).
  • Обмеження групових згадок: повідомлення лише з командами від allowlisted відправників обходять вимоги щодо згадки.
  • Вбудовані скорочення (лише для allowlisted відправників): деякі команди також працюють, коли вбудовані у звичайне повідомлення, і вилучаються до того, як модель побачить решту тексту.
    • Приклад: hey /status викликає відповідь зі статусом, а решта тексту продовжує проходити звичайним потоком.
  • Наразі: /help, /commands, /status, /whoami (/id).
  • Неавторизовані повідомлення лише з командами мовчки ігноруються, а вбудовані токени /... трактуються як звичайний текст.
  • Команди skill: skill із user-invocable надаються як slash commands. Назви санітизуються до a-z0-9_ (максимум 32 символи); колізії отримують числові суфікси (наприклад, _2).
    • /skill <name> [input] запускає skill за назвою (корисно, коли обмеження нативних команд не дозволяють окремі команди для кожної skill).
    • За замовчуванням команди skill пересилаються до моделі як звичайний запит.
    • Skill можуть необов’язково оголошувати command-dispatch: tool, щоб маршрутизувати команду безпосередньо до інструмента (детерміновано, без моделі).
    • Приклад: /prose (plugin OpenProse) — див. OpenProse.
  • Аргументи нативних команд: Discord використовує автодоповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти, а ви пропускаєте аргумент.

/tools

/tools відповідає на питання про runtime, а не про config: що цей агент може використовувати прямо зараз у цій розмові.
  • Типовий /tools компактний і оптимізований для швидкого перегляду.
  • /tools verbose додає короткі описи.
  • Поверхні нативних команд, що підтримують аргументи, надають той самий перемикач режиму compact|verbose.
  • Результати прив’язані до сесії, тож зміна агента, каналу, потоку, авторизації відправника або моделі може змінити вивід.
  • /tools включає інструменти, які реально доступні під час runtime, зокрема core-інструменти, інструменти підключених plugin і інструменти, що належать каналам.
Для редагування профілів і перевизначень використовуйте панель Tools у Control UI або поверхні config/catalog, а не трактуйте /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 дозволяє встановлювати перевизначення лише для runtime (пам’ять, а не диск). Лише для власника. За замовчуванням вимкнено; увімкніть через commands.debug: true. Приклади:
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset
Примітки:
  • Перевизначення застосовуються негайно до нових читань config, але не записуються в openclaw.json.
  • Використовуйте /debug reset, щоб очистити всі перевизначення й повернутися до config на диску.

Оновлення config

/config записує у ваш 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 перевіряється перед записом; недійсні зміни відхиляються.
  • Оновлення /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 зберігає config у config OpenClaw, а не в налаштуваннях проєкту під керуванням Pi.
  • Адаптери runtime вирішують, які транспорти справді можна виконати.

Оновлення plugin

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

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

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