Skip to content

Slash Commands

指令由 Gateway 處理。大多數指令必須以 / 開頭的獨立 訊息傳送。 僅限主機的 bash 聊天指令使用 ! <cmd>(別名為 /bash <cmd>)。

有兩個相關系統:

  • 指令:獨立的 /... 訊息。
  • 指示詞/think/fast/verbose/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: false,
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}
  • commands.text(預設 true)啟用解析聊天訊息中的 /...
    • 在沒有原生指令的表面上(WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams),即使您將此設定設為 false,文字指令仍然有效。
  • commands.native (預設 "auto") 註冊原生指令。
    • 自動:Discord/Telegram 開啟;Slack 關閉(直到您加入斜線指令);對不支援原生的提供者予以忽略。
    • 設定 channels.discord.commands.nativechannels.telegram.commands.nativechannels.slack.commands.native 以覆寫各提供者的設定(布林值或 "auto")。
    • false 會在啟動時清除 Discord/Telegram 上先前註冊的指令。Slack 指令是在 Slack 應用程式中管理的,不會自動移除。
  • commands.nativeSkills (預設 "auto") 會在支援時原生註冊 skill 指令。
    • 自動:Discord/Telegram 開啟;Slack 關閉(Slack 需要為每個 skill 建立斜線指令)。
    • 設定 channels.discord.commands.nativeSkillschannels.telegram.commands.nativeSkillschannels.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.mcp (預設 false) 啟用 /mcp (讀取/寫入 OpenClaw 管理的 MCP 設定,位於 mcp.servers 下)。
  • commands.plugins (預設 false) 啟用 /plugins (外掛程式探索/狀態,以及安裝 + 啟用/停用控制)。
  • commands.debug (預設 false) 啟用 /debug (僅限執行階段的覆寫)。
  • commands.allowFrom(可選)為指令授權設定各提供者的允許清單。配置後,它將是指令和指令的唯一授權來源(頻道允許清單/配對和 commands.useAccessGroups 將被忽略)。使用 "*" 作為全域預設值;特定提供者的鍵會覆蓋它。
  • commands.useAccessGroups(預設為 true)在未設定 commands.allowFrom 時強制執行指令的允許清單/原則。

文字 + 原生(啟用時):

  • /help
  • /commands
  • /tools [compact|verbose](顯示當前代理目前可使用的內容;verbose 會新增描述)
  • /skill <name> [input](依名稱執行技能)
  • /status(顯示當前狀態;包括目前模型提供者的使用量/配額,如有提供)
  • /tasks (列出當前工作階段的背景工作;顯示作用中及最近的工作細節以及代理程式本機的後援計數)
  • /allowlist (列出/新增/移除允許清單項目)
  • /approve <id> allow-once|allow-always|deny (解決執行核准提示)
  • /context [list|detail|json] (解釋「context」;detail 顯示每個檔案 + 每個工具 + 每個技能 + 系統提示的大小)
  • /btw <question> (詢問關於當前工作階段的暫時性附屬問題,而不改變未來的工作階段內容;請參閱 /tools/btw)
  • /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)
  • /mcp show|get|set|unset (管理 OpenClaw MCP 伺服器設定,僅限擁有者;需要 commands.mcp: true)
  • /plugins list|show|get|install|enable|disable (檢查發現的外掛、安裝新的外掛並切換啟用狀態;僅限擁有者寫入;需要 commands.plugins: true
    • /plugin/plugins 的別名。
    • /plugin install <spec> 接受與 openclaw plugins install 相同的外掛規格:本機路徑/壓縮檔、npm 套件或 clawhub:<pkg>
    • 啟用/停用寫入操作仍會回覆重啟提示。在被監視的前端 Gateway 上,OpenClaw 可能會在寫入操作後立即自動執行該重啟。
  • /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 仍然有效。
  • /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 (省略參數會顯示當前有效的快速模式狀態)
  • /verbose on|full|off (別名:/v
  • /reasoning on|off|stream (別名:/reason;開啟時,發送一條前綴為 Reasoning: 的單獨訊息;stream = 僅限 Telegram 草稿)
  • /elevated on|off|ask|full(別名:/elevfull 跳過執行核准)
  • /exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>(發送 /exec 以顯示當前內容)
  • /model <name>(別名:/models;或從 agents.defaults.models.*.alias 使用 /<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 也可以使用)

備註:

  • 指令接受在指令和參數之間加入可選的 :(例如 /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 以停用它。
  • 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 用於除錯和額外可見性;正常使用時請保持 關閉
  • /fast on|off 會保存工作階段覆寫。使用 Sessions UI 的 inherit 選項來清除它,並回退到設定預設值。
  • /fast 取決於提供者:OpenAI/OpenAI Codex 在原生 Responses 端點將其對應至 service_tier=priority,而直接的公開 Anthropic 請求(包括發送到 api.anthropic.com 的 OAuth 驗證流量)則將其對應至 service_tier=autostandard_only。請參閱 OpenAIAnthropic
  • 相關時仍會顯示工具失敗摘要,但僅在 /verboseonfull 時才會包含詳細的失敗文字。
  • /reasoning(以及 /verbose)在群組設定中有風險:它們可能會揭露您不打算公開的內部推理或工具輸出。建議保持關閉,特別是在群組聊天中。
  • /model 會立即儲存新的工作階段模型,但不會中斷正在進行的執行。目前的回合會先完成,然後佇列中或未來的工作才會使用更新後的模型。
  • 快速路徑: 來自允許列表發送者的僅指令訊息會立即處理(繞過佇列 + 模型)。
  • 群組提及閘控: 來自允許列表發送者的僅指令訊息會繞過提及要求。
  • 內嵌捷徑(僅限允許列表發送者): 某些指令在嵌入正常訊息時也有效,並會在模型看到剩餘文字之前被剔除。
    • 範例:hey /status 會觸發狀態回覆,而剩餘文字會繼續正常流程。
  • 目前:/help/commands/status/whoami (/id)。
  • 未授權的僅指令訊息會被靜默忽略,而內嵌的 /... token 則被視為純文字。
  • 技能指令: user-invocable 技能會以斜線指令形式公開。名稱會被清理為 a-z0-9_(最多 32 個字元);衝突會加上數字後綴(例如 _2)。
    • /skill <name> [input] 會依名稱執行技能(當原生指令限制阻止每個技能指令時很有用)。
    • 預設情況下,技能指令會作為一般請求轉送給模型。
    • 技能可以選擇宣告 command-dispatch: tool,以將指令直接路由到工具(確定性,無需模型)。
    • 範例:/prose (OpenProse 外掛) — 請參閱 OpenProse
  • 原生指令引數: Discord 對動態選項使用自動完成(當您省略必要引數時則使用按鈕選單)。Telegram 和 Slack 當指令支援選項且您省略引數時會顯示按鈕選單。

/tools 回答的是執行時期問題,而非配置問題:該代理程式現在在 此對話中可以使用什麼

  • 預設的 /tools 為精簡格式,並已最佳化以便快速掃覽。
  • /tools verbose 會加入簡短描述。
  • 支援引數的原生指令介面會公開與 compact|verbose 相同的模式切換。
  • 結果僅限於目前工作階段,因此更改代理、頻道、執行緒、發送者授權或模型可能會 改變輸出。
  • /tools 包含在執行時期實際可存取的工具,包括核心工具、已連線的 外掛工具以及頻道擁有的工具。

若要編輯設定檔或覆蓋設定,請使用控制 UI 工具面板或設定/目錄介面,而 非將 /tools 視為靜態目錄。

  • 當啟用量值追蹤時,供應商使用量/配額(例如:“Claude 剩餘 80%”)會顯示在目前模型供應商的 /status 中。
  • 每次回應的 Token/成本 是由 /usage off|tokens|full 控制的(附加在正常回覆之後)。
  • /model status 是關於 模型/驗證/端點,而非使用量。

/model 是作為一個指令來實作的。

範例:

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

備註:

  • /model/model list 會顯示一個精簡的編號選擇器(模型系列 + 可用的供應商)。
  • 在 Discord 上,/model/models 會開啟一個互動式選擇器,包含供應商和模型下拉選單以及提交步驟。
  • /model <#> 會從該選擇器中進行選取(並盡可能優先使用目前的供應商)。
  • /model status 會顯示詳細檢視,包括已設定的供應商端點 (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 清除所有覆寫並返回磁碟上的設定。

/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 將由 OpenClaw 管理的 MCP 伺服器定義寫入 mcp.servers 下。�限擁有者使用。預設為停用;可透過 commands.mcp: true 啟用。

範例:

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

備註:

  • /mcp 將配置儲存在 OpenClaw 配置中,而非 Pi 擁有的專案設定中。
  • 執行時適配器決定了哪些傳輸方式實際上可執行。

/plugins 允許操作員檢視已發現的外掛並在配置中切換啟用狀態。唯讀流程可使用 /plugin 作為別名。預設為停用;可透過 commands.plugins: true 啟用。

範例:

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

備註:

  • /plugins list/plugins show 會針對目前的工作區加上磁碟配置使用真實的外掛探索功能。
  • /plugins enable|disable 僅更新外掛配置;它不會安裝或解除安裝外掛。
  • 在變更啟用/停用狀態後,請重新啟動網關以套用變更。
  • 文字指令 在一般的聊天會話中執行(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: 仍然支援針對單一 /openclaw 風格指令使用 channels.slack.slashCommand。如果您啟用 commands.native,則必須為每個內建指令建立一個 Slack 斜線指令(名稱與 /help 相同)。Slack 的指令引數選單會以暫時性的 Block Kit 按鈕形式呈現。
    • Slack 原生例外:註冊 /agentstatus(而不是 /status),因為 Slack 保留了 /status。文字 /status 在 Slack 訊息中仍然有效。

/btw 是關於目前會話的快速側面問題

與一般聊天不同:

  • 它使用目前會話作為背景上下文,
  • 它作為單獨的無工具單次調用運行,
  • 它不會改變未來的會話上下文,
  • 它不會寫入對話紀錄歷史,
  • 它以即時側面結果的形式傳遞,而不是一般的助理訊息。

當您希望在主要任務繼續進行時獲得臨時說明,/btw 就非常有用。

範例:

/btw what are we doing right now?

請參閱 BTW 側面問題 以了解完整行為和客戶端 UX 詳情。