斜杠命令
命令由網關處理。大多數命令必須以/ 開頭的 獨立 訊息發送。
僅限主機的 bash 聊天命令使用 ! <cmd>(別名 /bash <cmd>)。
有兩個相關系統:
- 命令:獨立
/...訊息。 - 指令:
/think、/verbose、/reasoning、/elevated、/exec、/model、/queue。- 指令在模型看到前從訊息中剝離。
- 在正常聊天訊息中(非僅限指令),它們被視為「內聯提示」,不會 持續會話設定。
- 在僅限指令的訊息中(訊息僅包含指令),它們持續到會話並用認可回覆。
- 指令僅適用於 授權寄件者。如果設定
commands.allowFrom,它是唯一使用的許可清單;否則授權來自頻道許可清單/配對加commands.useAccessGroups。 未授權的寄件者看到指令被視為純文本。
/help、/commands、/status、/whoami(/id)。
它們立即執行、在模型看到訊息前被剝離,剩餘文本通過正常流繼續。
設定
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(解決 exec 核准提示)/context [list|detail|json](解釋「上下文」;detail顯示每個檔案加每個工具加每個技能加系統提示詞大小)/export-session [path](別名:/export)(將當前會話匯出為 HTML,含完整系統提示詞)/whoami(顯示你的寄件者 id;別名:/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 核准)/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也有效)
- 命令接受命令和 args 之間的可選
:(例如/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用於調試和額外可見性;在正常使用中保持 關閉。- 工具失敗摘要仍在相關時顯示,但詳細失敗文本僅在
/verbose是on或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 為動態選項使用自動完成(當你省略必需 args 時為按鈕選單)。Telegram 和 Slack 在命令支援選擇且你省略 arg 時顯示按鈕選單。
使用表面(什麼顯示在哪裡)
- 提供商使用量/配額(範例:「Claude 剩餘 80%」)當啟用使用量追蹤時在當前模型提供商的
/status中顯示。 - 每個回應 token/成本 由
/usage off|tokens|full(附加到正常回覆)控制。 /model status關於 模型/認證/端點,非使用量。
模型選擇(/model)
/model 實作為指令。
範例:
/model和/model list顯示緊湊、編號選擇器(模型系列加可用提供商)。- 在 Discord 上,
/model和/models開啟互動式選擇器,帶提供商和模型下拉加提交步驟。 /model <#>從該選擇器選擇(並在可能時偏好當前提供商)。/model status顯示詳細檢視,包括配置的提供商端點(baseUrl)和 API 模式(api)(如可用)。
調試覆蓋
/debug 讓你設定 執行時僅 配置覆蓋(記憶體,非磁碟)。僅限所有者。預設禁用;用 commands.debug: true 啟用。
範例:
- 覆蓋立即適用於新配置讀取,但 不 寫到
openclaw.json。 - 使用
/debug reset清除所有覆蓋並返回到磁碟配置。
設定更新
/config 寫到你的磁碟配置(openclaw.json)。僅限所有者。預設禁用;用 commands.config: true 啟用。
範例:
- 配置在寫入前被驗證;無效的更改被拒絕。
/config更新在重啟間持續。
表面注意
- 文本命令 在正常聊天會話中執行(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,你必須為每個內建命令建立一個 Slack 斜杠命令(相同名稱作為/help)。Slack 的命令引數選單作為臨時 Block Kit 按鈕傳遞。- Slack 原生例外:註冊
/agentstatus(不是/status)因為 Slack 保留/status。Slack 訊息中仍然有效文本/status。
- Slack 原生例外:註冊