使用 OpenClaw Session Tools 管理對話紀錄與訊息
開發 AI Agent 時,最頭痛的就是如何讓不同的對話串接起來。你可能遇過這種情況:想要 Agent 參考之前的對話紀錄,或是希望它能把繁重的工作丟給另一個小弟(子代理)去處理,但手邊卻沒有好用的工具來管理這些跨 Session 的溝通,導致開發流程變得非常破碎。
OpenClaw 提供了一套工具,讓 Agent 可以跨 Session 工作——包括列出對話、讀取歷史紀錄、傳送訊息給其他 Session,甚至是產生子代理。
可用工具 (Available tools)
Section titled “可用工具 (Available tools)”| Tool | What it does |
|---|---|
sessions_list | List sessions with optional filters (kind, recency) |
sessions_history | Read the transcript of a specific session |
sessions_send | Send a message to another session and optionally wait |
sessions_spawn | Spawn an isolated sub-agent session for background work |
列出與讀取 Session (Listing and reading sessions)
Section titled “列出與讀取 Session (Listing and reading sessions)”sessions_list 會回傳 Session 的 key, kind, channel, model, token 數量以及時間戳記。你可以透過 kind (main, group, cron, hook, node) 或活躍時間 (activeMinutes) 來進行過濾。
sessions_history 則是用來抓取特定 Session 的對話內容。預設情況下,工具執行的結果會被排除——如果你想看到這些內容,請傳入 includeTools: true。
這兩個工具都接受 session key(例如 "main")或是從先前列表呼叫中取得的 session ID。
跨 Session 傳送訊息 (Sending cross-session messages)
Section titled “跨 Session 傳送訊息 (Sending cross-session messages)”sessions_send 可以把訊息傳送到另一個 Session,並選擇性地等待回應:
- 丟了就管 (Fire-and-forget): 將
timeoutSeconds設為0,訊息會進入排隊並立即回傳。 - 等待回覆: 設定一個 timeout 時間,就能直接在當前流程中取得回應。
當目標回應後,OpenClaw 可以執行一個 reply-back loop,讓兩個 Agent 輪流對話(最多 5 個回合)。目標 Agent 可以回傳 REPLY_SKIP 來提早結束對話。
產生子代理 (Spawning sub-agents)
Section titled “產生子代理 (Spawning sub-agents)”sessions_spawn 會為背景任務建立一個獨立的 Session。這個操作永遠是非阻塞 (non-blocking) 的——它會立即回傳 runId 和 childSessionKey。
關鍵選項:
runtime: 預設為"subagent",或是針對外部 harness Agent 使用"acp"。model與thinking: 可以為子 Session 覆蓋原有的模型與思考設定。thread: true: 將產生的 Session 綁定到特定的聊天執行緒(如 Discord, Slack 等)。sandbox: "require": 強制對子 Session 啟用沙箱機制。
子代理會繼承完整的工具集,但排除 Session 工具(避免遞迴產生子代理)。任務完成後,會有一個通知步驟將結果發送到請求者的頻道。
關於 ACP 的特定行為,請參考 ACP Agents。
可見度範圍 (Visibility)
Section titled “可見度範圍 (Visibility)”Session 工具設有範圍限制,以控管 Agent 能看到的內容:
| Level | Scope |
|---|---|
self | Only the current session |
tree | Current session + spawned sub-agents |
agent | All sessions for this agent |
all | All sessions (cross-agent if configured) |
預設值是 tree。無論設定為何,受沙箱保護的 Session 都會被限制在 tree 範圍內。
延伸閱讀 (Further reading)
Section titled “延伸閱讀 (Further reading)”- Session Management — 路由、生命週期與維護
- ACP Agents — 外部 harness 產生
- Multi-agent — 多代理架構
- Gateway Configuration — Session 工具的配置選項
如果你在設定上遇到任何問題,歡迎詢問我們的 AI Setup Assistant。
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。