OpenClaw 指令指南:快速掌握聊天控制與任務管理
寫程式最怕的就是機器人一旦跑起來就停不下來,或者在群組裡瘋狂洗版。有時候你只是想快速測試一個功能,卻發現它陷入了無限迴圈,或者在不該說話的時候一直跳出訊息,這確實會讓人很崩潰。
掌握如何精準控制你的機器人,是開發過程中非常重要的一環。這篇文章會帶你了解如何透過指令隨時中止任務,以及如何透過設定讓機器人在正確的時機回應,讓你的開發流程更順手。
如何在中途停止機器人?
Section titled “如何在中途停止機器人?”如果你發現機器人正在執行一個錯誤的任務,或者回傳的內容不是你要的,可以直接發送以下其中一個指令來中止它:
/stop或/abort/cancel
這些指令必須作為獨立訊息發送,機器人接收到後會立即停止當前的動作。
內建的聊天指令有哪些?
Section titled “內建的聊天指令有哪些?”除了停止任務,系統還內建了幾個實用的指令來幫你管理對話狀態:
| 指令 | 描述 |
|---|---|
/new, /reset | 開啟新的 Session |
/stop, /abort | 取消當前任務 |
/compact | 壓縮 Context(但保留對話內容) |
/model <alias> | 切換模型 |
/model list | 列出所有可用的模型 |
/status | 顯示機器人當前的狀態 |
/help | 顯示所有可用的指令列表 |
我可以從 CLI 發送訊息到不同的聊天視窗嗎?
Section titled “我可以從 CLI 發送訊息到不同的聊天視窗嗎?”可以。你可以利用 --deliver 參數搭配目標選項,直接從終端機發送訊息:
openclaw agent --message "Hello from CLI" --deliver --channel telegram --chat-id 123456789如果你只想發送到當前的 Session,可以使用簡短的指令:
openclaw agent --message "Quick update" --deliver什麼是 Queue Mode?
Section titled “什麼是 Queue Mode?”Queue Mode 決定了機器人如何處理同時湧入的多個訊息。你可以根據需求選擇不同的處理策略:
fifo(預設):先進先出,按照順序一個一個處理訊息。parallel:同時處理多個訊息,雖然速度快,但 Token 消耗會顯著增加。latest:直接捨棄排隊中的訊息,只處理最後進來的那一個。
你可以透過 agents.defaults.queue.mode 來進行設定:
{ agents: { defaults: { queue: { mode: "fifo" } } }}什麼是內部訊息?
Section titled “什麼是內部訊息?”內部訊息屬於系統層級的事件,它們並非由真實使用者發出,常見的例子包括:
- Cron job 觸發的定時任務
- 系統的 Heartbeat 偵測
- Skill 的內部調用
- Webhook 的回調通知
這些訊息會記錄在 Log 中供你除錯,但為了保持對話整潔,它們不會出現在聊天歷史記錄裡。
我可以讓機器人忽略特定訊息嗎?
Section titled “我可以讓機器人忽略特定訊息嗎?”可以。如果你不希望機器人回應某些特定的關鍵字或格式,可以在 Channel 設定中使用 ignorePatterns:
{ channels: { whatsapp: { ignorePatterns: ["^!ignore", "^\\[bot\\]"] } }}只要訊息符合這些 Pattern,機器人就會自動視而不見。
如何讓機器人只在被標記時才回應?
Section titled “如何讓機器人只在被標記時才回應?”在群組對話中,如果你不希望機器人對每一句話都插嘴,可以針對 Telegram 等頻道開啟 mentionGating 功能:
{ channels: { telegram: { groups: { mentionGating: true } } }}開啟後,機器人只有在被 @mentioned 時才會觸發回應。
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。