跳到內容

OpenClaw 指令與配置指南:快速設定 Slash Commands

指令是由 Gateway 處理的。大多數指令必須作為以 / 開頭的獨立訊息發送。Host-only 的 bash 聊天指令使用 ! <cmd>(/bash <cmd> 為別名)。

這裡有兩個相關系統:

  • 指令 (Commands):獨立的 /... 訊息。
  • 指令語 (Directives):/think, /fast, /verbose, /reasoning, /elevated, /exec, /model, /queue。
    • 指令語在模型看到訊息之前會被移除。
    • 在一般聊天訊息中(非僅含指令語的訊息),它們被視為「行內提示」,不會持久化 Session 設定。
    • 在僅含指令語的訊息中,它們會持久化到 Session 並回覆確認訊息。
    • 指令語僅適用於授權發送者。如果設定了 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 commands);對於不支援原生指令的 Provider 則忽略。
    • 設定 channels.discord.commands.native、channels.telegram.commands.native 或 channels.slack.commands.native 來覆蓋每個 Provider 的設定(布林值或 "auto")。
    • false 會在啟動時清除 Discord/Telegram 上先前註冊的指令。Slack 指令在 Slack App 中管理,不會自動移除。
  • commands.nativeSkills(預設為 "auto"):在支援時以原生方式註冊 skill 指令。
    • Auto:Discord/Telegram 開啟;Slack 關閉(Slack 需要為每個 skill 建立一個 Slash command)。
    • 設定 channels.discord.commands.nativeSkills、channels.telegram.commands.nativeSkills 或 channels.slack.commands.nativeSkills 來覆蓋每個 Provider 的設定。
  • commands.bash(預設為 false):啟用 ! <cmd> 來執行 host shell 指令(/bash <cmd> 是別名;需要 tools.elevated 白名單)。
  • commands.bashForegroundMs(預設為 2000):控制 bash 在切換到背景模式前等待的時間(0 表示立即轉入背景)。
  • commands.config(預設為 false):啟用 /config(讀取/寫入 openclaw.json)。
  • commands.mcp(預設為 false):啟用 /mcp(讀取/寫入 mcp.servers 下由 OpenClaw 管理的 MCP 設定)。
  • commands.plugins(預設為 false):啟用 /plugins(外掛查找/狀態,以及安裝 + 啟用/停用控制)。
  • commands.debug(預設為 false):啟用 /debug(僅限執行時的覆蓋設定)。
  • commands.restart(預設為 true):啟用 /restart 以及 Gateway 重啟工具動作。
  • commands.ownerAllowFrom(選填):為僅限擁有者的指令/工具介面設定明確的擁有者白名單。這與 commands.allowFrom 是分開的。
  • commands.ownerDisplay:控制擁有者 ID 在系統提示詞中的顯示方式:raw 或 hash。
  • commands.ownerDisplaySecret(選填):當 commands.ownerDisplay="hash" 時,設定所使用的 HMAC 密鑰。
  • commands.allowFrom(選填):為指令授權設定每個 Provider 的白名單。配置後,它是指令和指令語的唯一授權來源(頻道白名單/配對和 commands.useAccessGroups 將被忽略)。使用 "*" 作為全域預設值;特定 Provider 的 key 會覆蓋它。
  • commands.useAccessGroups(預設為 true):當未設定 commands.allowFrom 時,對指令強制執行白名單/策略。

目前的內容來源:

  • 核心內建指令來自 src/auto-reply/commands-registry.shared.ts
  • 生成的 dock 指令來自 src/auto-reply/commands-registry.data.ts
  • 外掛指令來自外掛的 registerCommand() 呼叫
  • 你的 Gateway 上的實際可用性仍取決於設定 flag、頻道介面以及已安裝/啟用的外掛

目前可用的內建指令:

  • /new [model]:開始新 Session;/reset 是重置別名。
  • /compact [instructions]:壓縮 Session 上下文。參見 /concepts/compaction。
  • /stop:中止當前執行。
  • /session idle &lt;duration|off&gt; 和 /session max-age &lt;duration|off&gt;:管理 Thread 綁定的過期時間。
  • /think &lt;off|minimal|low|medium|high|xhigh&gt;:設定思考層級。別名:/thinking, /t。
  • /verbose on|off|full:切換詳細輸出。別名:/v。
  • /fast [status|on|off]:顯示或設定快速模式。
  • /reasoning [on|off|stream]:切換推理過程的可見性。別名:/reason。
  • /elevated [on|off|ask|full]:切換提升權限模式。別名:/elev。
  • /exec host=&lt;auto|sandbox|gateway|node&gt; security=&lt;deny|allowlist|full&gt; ask=&lt;off|on-miss|always&gt; node=&lt;id&gt;:顯示或設定執行預設值。
  • /model [name|#|status]:顯示或設定模型。
  • /models [provider] [page] [limit=<n>|size=<n>|all]:列出 Provider 或特定 Provider 的模型。
  • /queue <mode>:管理隊列行為(steer, interrupt, followup, collect, steer-backlog)以及 debounce:2s cap:25 drop:summarize 等選項。
  • /help:顯示簡短的幫助摘要。
  • /commands:顯示生成的指令目錄。
  • /tools [compact|verbose]:顯示當前 Agent 現在可以使用什麼工具。
  • /status:顯示執行狀態,包括可用的 Provider 用量/配額。
  • /tasks:列出當前 Session 的活動中/最近的背景任務。
  • /context [list|detail|json]:解釋上下文是如何組裝的。
  • /export-session [path]:將當前 Session 匯出為 HTML。別名:/export。
  • /whoami:顯示你的發送者 ID。別名:/id。
  • /skill <name> [input]:按名稱執行 Skill。
  • /allowlist [list|add|remove] ...:管理白名單項目。僅限文字。
  • /approve <id> <decision>:處理執行審批提示。
  • /btw <question>:詢問側邊問題而不改變未來的 Session 上下文。參見 /tools/btw。
  • /subagents list|kill|log|info|send|steer|spawn:管理當前 Session 的 Sub-agent 執行。
  • /acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help:管理 ACP Session 和執行選項。
  • /focus <target>:將當前 Discord Thread 或 Telegram Topic/對話綁定到 Session 目標。
  • /unfocus:移除當前綁定。
  • /agents:列出當前 Session 綁定到 Thread 的 Agent。
  • /kill &lt;id|#|all&gt;:中止一個或所有執行中的 Sub-agent。
  • /steer &lt;id|#&gt; &lt;message&gt;:向執行中的 Sub-agent 發送引導訊息。別名:/tell。
  • /config show|get|set|unset:讀取或寫入 openclaw.json。僅限擁有者。需要 commands.config: true。
  • /mcp show|get|set|unset:讀取或寫入 mcp.servers 下由 OpenClaw 管理的 MCP 伺服器設定。僅限擁有者。需要 commands.mcp: true。
  • /plugins list|inspect|show|get|install|enable|disable:檢查或更改外掛狀態。/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>:執行 host shell 指令。僅限文字。別名:! <command>。需要 commands.bash: true 以及 tools.elevated 白名單。
  • !poll [sessionId]:檢查背景 bash 工作。
  • !stop [sessionId]:停止背景 bash 工作。

Dock 指令是從支援原生指令的頻道外掛生成的。目前內建的組合:

  • /dock-discord(別名:/dock_discord)
  • /dock-mattermost(別名:/dock_mattermost)
  • /dock-slack(別名:/dock_slack)
  • /dock-telegram(別名:/dock_telegram)

內建外掛可以添加更多 Slash commands。此儲存庫中目前內建的指令:

  • /dreaming [on|off|status|help]:切換記憶夢境(Memory dreaming)。參見 Dreaming。
  • /pair [qr|status|pending|approve|cleanup|notify]:管理裝置配對/設定流程。參見 Pairing。
  • /phone status|arm &lt;camera|screen|writes|all&gt; [duration]|disarm:暫時武裝高風險的 Phone Node 指令。
  • /voice status|list [limit]|set &lt;voiceId|name&gt;:管理 Talk 語音設定。在 Discord 上,原生指令名稱為 /talkvoice。
  • /card ...:發送 LINE 豐富圖文卡片預設值。參見 LINE。
  • /codex status|models|threads|resume|compact|review|account|mcp|skills:檢查並控制內建的 Codex App 伺服器。參見 Codex Harness。
  • 僅限 QQBot 的指令:
    • /bot-ping
    • /bot-version
    • /bot-help
    • /bot-upgrade
    • /bot-logs

使用者可呼叫的 Skill 也會作為 Slash commands 釋出:

  • /skill <name> [input] 始終作為通用入口點有效。
  • 當 Skill/外掛註冊它們時,Skill 也可能以直接指令的形式出現(例如 /prose)。
  • 原生 Skill 指令註冊由 commands.nativeSkills 和 channels.<provider>.commands.nativeSkills 控制。

注意:

  • 指令接受在指令和參數之間使用選填的 :(例如 /think: high, /send: on, /help:)。
  • /new <model> 接受模型別名、provider/model 或 Provider 名稱(模糊匹配);如果沒有匹配,文字將被視為訊息正文。
  • 如需完整的 Provider 用量明細,請使用 openclaw status --usage。
  • /allowlist add|remove 需要 commands.config=true 並遵循頻道的 configWrites 設定。
  • 在多帳號頻道中,針對特定設定的 /allowlist --account <id> 和 /config set channels.<provider>.accounts.<id>... 也會遵循目標帳號的 configWrites。
  • /usage 控制每條回覆的用量頁尾;/usage cost 從 OpenClaw Session 日誌中列印本地費用摘要。
  • /restart 預設啟用;設定 commands.restart: false 來停用它。
  • /plugins install <spec> 接受與 openclaw plugins install 相同的規範:本地路徑/壓縮檔、npm 套件或 clawhub:<pkg>。
  • /plugins enable|disable 會更新外掛設定,並可能提示重啟。
  • 僅限 Discord 的原生指令:/vc join|leave|status 控制語音頻道(需要 channels.discord.voice 和原生指令;不提供文字版)。
  • Discord Thread 綁定指令(/focus, /unfocus, /agents, /session idle, /session max-age)需要啟用有效的 Thread 綁定(session.threadBindings.enabled 和/或 channels.discord.threadBindings.enabled)。
  • ACP 指令參考和執行行為:ACP Agents。
  • /verbose 僅用於偵錯和額外的可見性;在正常使用中請保持 off。
  • /fast on|off 會持久化 Session 覆蓋。使用 Sessions UI 的 inherit 選項來清除它並回退到設定預設值。
  • /fast 是特定於 Provider 的:OpenAI/OpenAI Codex 將其映射到原生 Responses 端點上的 service_tier=priority,而直接的 Anthropic 請求(包括發送到 api.anthropic.com 的 OAuth 認證流量)將其映射到 service_tier=auto 或 standard_only。參見 OpenAI 和 Anthropic。
  • 工具失敗摘要在相關時仍會顯示,但詳細的失敗文字僅在 /verbose 為 on 或 full 時包含。
  • /reasoning(以及 /verbose)在群組環境中具有風險:它們可能會洩露你不打算公開的內部推理或工具輸出。建議保持關閉,尤其是在群組聊天中。
  • /model 會立即持久化新的 Session 模型。
  • 如果 Agent 處於閒置狀態,下一次執行會立即使用它。
  • 如果執行已經在活動中,OpenClaw 會將即時切換標記為掛起,並且僅在乾淨的重試點重啟進入新模型。
  • 如果工具活動或回覆輸出已經開始,掛起的切換可能會保持在隊列中,直到稍後的重試機會或下一個使用者回合。
  • 快速路徑: 來自白名單發送者的僅限指令訊息會立即處理(繞過隊列 + 模型)。
  • 群組提及門檻: 來自白名單發送者的僅限指令訊息會繞過提及要求。
  • 行內捷徑(僅限白名單發送者): 某些指令在嵌入一般訊息時也有效,並在模型看到剩餘文字前被移除。
    • 範例:hey /status 會觸發狀態回覆,剩餘文字則繼續正常流程。
  • 目前包括:/help, /commands, /status, /whoami (/id)。
  • 未經授權的僅限指令訊息會被靜默忽略,行內的 /... token 則被視為純文字。
  • Skill 指令: 「使用者可呼叫」的 Skill 會作為 Slash commands 釋出。名稱會被清理為 a-z0-9_(最多 32 字元);衝突時會加上數字後綴(例如 _2)。
    • /skill <name> [input] 按名稱執行 Skill(當原生指令限制阻止為每個 Skill 建立指令時很有用)。
    • 預設情況下,Skill 指令會作為正常請求轉發給模型。
    • Skill 可以選擇宣告 command-dispatch: tool 來將指令直接路由到工具(確定性的,不經過模型)。
    • 範例:/prose (OpenProse 外掛) — 參見 OpenProse。
  • 原生指令參數: Discord 使用自動補全來處理動態選項(當你省略必要參數時會顯示按鈕選單)。Telegram 和 Slack 在指令支援選擇且你省略參數時會顯示按鈕選單。

/tools 回答的是執行時期的問題,而不是設定問題:這個 agent 在目前的對話中究竟可以使用什麼。

  • 預設的 /tools 非常精簡,方便你快速瀏覽。
  • /tools verbose 會加入簡短的描述。
  • 支援參數的原生指令介面也提供一樣的 compact|verbose 模式切換。
  • 結果會受到工作階段(session)影響,所以更換 agent、頻道、討論串、發送者權限或模型,都可能改變輸出的內容。
  • /tools 包含執行時期實際可用的工具,這涵蓋了核心工具、已連線的 plugin 工具,以及頻道所屬的工具。

如果你要編輯 profile 或進行覆寫(override),請使用 Control UI 的 Tools 面板或 config/catalog 介面,不要把 /tools 當成靜態目錄。

使用介面(各項資訊顯示位置)

Section titled “使用介面(各項資訊顯示位置)”
  • 供應商用量/額度(例如:「Claude 剩餘 80%」):當啟用了用量追蹤時,會顯示在目前模型供應商的 /status 中。OpenClaw 會將供應商的視窗標準化為 % left;針對 MiniMax,剩餘百分比欄位在顯示前會先反轉,且 model_remains 的回應會優先採用 chat-model 項目加上標記模型的方案標籤。
  • Token/快取行:在 /status 中,當即時工作階段快照(live session snapshot)資料不足時,可以回退到最新的對話紀錄(transcript)用量項目。現有的非零即時數值仍會優先採用,當儲存的總計缺失或較小時,對話紀錄回退機制也能找回啟用的執行時期模型標籤,以及較大的 prompt 導向總計。
  • 單次回應的 Token/費用:由 /usage off|tokens|full 控制(會附加在一般回覆之後)。
  • /model status 是關於 模型/認證/端點 (endpoints) 的資訊,與用量無關。

/model 是以指令(directive)的形式實作的。

範例:

/model
/model list
/model 3
/model openai/gpt-5.4
/model opus@anthropic:default
/model status

備註:

  • /model 和 /model list 會顯示一個精簡的數字編號選擇器(包含模型系列與可用的 provider)。
  • 在 Discord 上,/model 和 /models 會開啟一個互動式選擇器,包含 provider 和模型的下拉選單,以及一個 Submit 步驟。
  • /model <#> 會從該選擇器中進行挑選(並在可能的情況下優先使用目前的 provider)。
  • /model status 會顯示詳細檢視,包括已設定的 provider 端點 (baseUrl) 和 API 模式 (api)(如果有的話)。

/debug 讓你設定**僅限執行時(runtime-only)**的設定覆蓋(存在記憶體中,而非硬碟)。這僅限擁有者(Owner)使用。預設為停用;你可以透過 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 來清除所有覆蓋設定,並恢復到硬碟上的原始設定。

/config 會直接寫入你的磁碟設定檔 (openclaw.json)。這項功能僅限 Owner 使用。預設情況下是停用的,你可以透過 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.servers 下寫入由 OpenClaw 管理的 MCP server 定義。這同樣是 Owner 限定功能。預設為停用,你可以透過 commands.mcp: true 開啟。

範例:

/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7

注意:

  • /mcp 會將設定儲存在 OpenClaw 設定中,而不是 Pi 擁有的專案設定。
  • Runtime adapters 會決定哪些 transports 實際上是可以執行的。

/plugins 讓維運人員可以檢查已發現的 Plugin 並在設定中切換啟用狀態。唯讀流程可以使用 /plugin 作為別名。此功能預設為停用;請透過 commands.plugins: true 來啟用。

範例:

/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7

注意事項:

  • /plugins list 和 /plugins show 會針對目前的 Workspace 以及磁碟上的設定進行實際的 Plugin 掃描。
  • /plugins enable|disable 僅更新 Plugin 設定;它不會安裝或卸載 Plugin。
  • 在變更啟用/停用設定後,請重啟 Gateway 以套用變更。
  • Text commands 在一般的對話 Session 中執行(私訊共享 main,群組則有各自的 Session)。
  • Native commands 使用獨立的 Session:
    • Discord: agent:<agentId>:discord:slash:<userId>
    • Slack: agent:<agentId>:slack:slash:<userId>(前綴可透過 channels.slack.slashCommand.sessionPrefix 設定)
    • Telegram: telegram:slash:<userId>(透過 CommandTargetSessionKey 指向對話 Session)
  • /stop 會針對目前的對話 Session,以便中止當前的執行。
  • Slack: channels.slack.slashCommand 仍然支援單一的 /openclaw 風格指令。如果你啟用了 commands.native,你必須為每個內建指令建立一個 Slack Slash Command(名稱與 /help 相同)。Slack 的指令參數選單會以暫時性的 Block Kit 按鈕形式傳送。
    • Slack Native 例外:請註冊 /agentstatus(而非 /status),因為 Slack 保留了 /status。在 Slack 訊息中輸入文字 /status 仍然有效。

/btw 是針對目前 Session 進行快速側邊提問的功能。

與一般對話不同:

  • 它使用目前的 Session 作為背景上下文,
  • 它作為一個獨立的、不帶 Tool 的單次調用執行,
  • 它不會改變未來的 Session 上下文,
  • 它不會被寫入對話歷史紀錄,
  • 它會以即時側邊結果的形式呈現,而不是一般的 Assistant 訊息。

這讓 /btw 在你想要於主任務進行時獲取臨時說明時非常有用。

範例:

/btw what are we doing right now?

參閱 BTW Side Questions 了解完整行為與 Client UX 細節。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。