Slash Commands
Slash 指令
Section titled “Slash 指令”指令由 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,文字指令仍然有效。
- 在沒有原生指令的表面上(WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft 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") 會在支援時原生註冊 skill 指令。- 自動:Discord/Telegram 開啟;Slack 關閉(Slack 需要為每個 skill 建立斜線指令)。
- 設定
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.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仍然有效。
- 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)/fast status|on|off(省略參數會顯示當前有效的快速模式狀態)/verbose on|full|off(別名:/v)/reasoning on|off|stream(別名:/reason;開啟時,發送一條前綴為Reasoning:的單獨訊息;stream= 僅限 Telegram 草稿)/elevated on|off|ask|full(別名:/elev;full跳過執行核准)/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=auto或standard_only。請參閱 OpenAI 和 Anthropic。- 相關時仍會顯示工具失敗摘要,但僅在
/verbose為on或full時才會包含詳細的失敗文字。 /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
Section titled “/tools”/tools 回答的是執行時期問題,而非配置問題:該代理程式現在在
此對話中可以使用什麼。
- 預設的
/tools為精簡格式,並已最佳化以便快速掃覽。 /tools verbose會加入簡短描述。- 支援引數的原生指令介面會公開與
compact|verbose相同的模式切換。 - 結果僅限於目前工作階段,因此更改代理、頻道、執行緒、發送者授權或模型可能會 改變輸出。
/tools包含在執行時期實際可存取的工具,包括核心工具、已連線的 外掛工具以及頻道擁有的工具。
若要編輯設定檔或覆蓋設定,請使用控制 UI 工具面板或設定/目錄介面,而
非將 /tools 視為靜態目錄。
使用介面(顯示位置與內容)
Section titled “使用介面(顯示位置與內容)”- 當啟用量值追蹤時,供應商使用量/配額(例如:“Claude 剩餘 80%”)會顯示在目前模型供應商的
/status中。 - 每次回應的 Token/成本 是由
/usage off|tokens|full控制的(附加在正常回覆之後)。 /model status是關於 模型/驗證/端點,而非使用量。
模型選擇 (/model)
Section titled “模型選擇 (/model)”/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 更新
Section titled “MCP 更新”/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指向聊天會話)
- Discord:
/stop指向目前的聊天會話,因此它可以中止目前的執行。- Slack: 仍然支援針對單一
/openclaw風格指令使用channels.slack.slashCommand。如果您啟用commands.native,則必須為每個內建指令建立一個 Slack 斜線指令(名稱與/help相同)。Slack 的指令引數選單會以暫時性的 Block Kit 按鈕形式呈現。- Slack 原生例外:註冊
/agentstatus(而不是/status),因為 Slack 保留了/status。文字/status在 Slack 訊息中仍然有效。
- Slack 原生例外:註冊
BTW 側面問題
Section titled “BTW 側面問題”/btw 是關於目前會話的快速側面問題。
與一般聊天不同:
- 它使用目前會話作為背景上下文,
- 它作為單獨的無工具單次調用運行,
- 它不會改變未來的會話上下文,
- 它不會寫入對話紀錄歷史,
- 它以即時側面結果的形式傳遞,而不是一般的助理訊息。
當您希望在主要任務繼續進行時獲得臨時說明,/btw 就非常有用。
範例:
/btw what are we doing right now?請參閱 BTW 側面問題 以了解完整行為和客戶端 UX 詳情。