agent:<agentId>:main(例如 agent:main:main)的一般工作階段。它的特殊之處在於,預設的私訊範圍會將所有直接訊息彙整至此,而且系統的其他部分會將它視為代理程式的根工作階段:心跳偵測會喚醒它、背景工作會向它回報,而其他地方的活動也會匯流至此。
首頁
在網頁應用程式中,主要工作階段就是首頁頁面——側邊欄中的第一個項目。頂端的身分列代表你的代理程式(按一下即可開啟代理程式選單);首頁是你與它對話的地方。從主要對話分支出的工作階段會顯示在討論串下方,群組聊天會顯示在群組下方,而程式設計/命令列介面工作階段則會顯示在程式設計下方。會匯入主要工作階段的內容
主要工作階段不只是一份聊天記錄;它也是代理程式世界中各種資訊匯聚之處:- 群組活動。 群組和聊天室工作階段會保持隔離(見下文),但在預設的私訊範圍下,主要工作階段會自動監看它們。活動會排入佇列,形成精簡通知——依各對話合併,絕不會每則訊息都喚醒一次——而代理程式會在下次執行時看到這些通知:可能是在你傳送下一則訊息時,也可能是在排定的心跳偵測時。代理程式也能讀取它所監看的工作階段,因此可以詢問「家庭群組裡有什麼我錯過的內容?」。
- 背景工作。 子代理程式和衍生的工作階段會將結果回報給啟動它們的工作階段,因此代理程式從首頁發起的工作會回報至首頁。
- 心跳偵測。 排定的心跳偵測會以主要工作階段為目標,因此即使你沒有傳送任何訊息,排入佇列的通知也能轉化為代理程式的認知。
重設與對話之間的記憶
持續延續的對話受模型的情境視窗限制,因此連續性來自其周邊的多層機制:MEMORY.md是代理程式精心整理的長期記憶,會載入每個全新的工作階段。每日筆記(memory/YYYY-MM-DD.md)可依需求搜尋,而近期筆記會在/new或/reset後重新預載。壓縮前,代理程式會將需要長期保留的事實寫入每日筆記,讓冗長對話不會悄然遺失這些資訊。- 跨對話記憶回想可讓代理程式回想其他私人工作階段中的內容。在個人設定中——全域
session.dmScope解析為main,且沒有各繫結的私訊覆寫——此功能預設啟用;只要設定任何私訊隔離,便會將其關閉,除非你明確選擇啟用。請參閱記憶設定。
具有持久歷史記錄的持續工作階段
主要工作階段會透過重設與壓縮持續向前延續,而不是讓模型一次承載全部歷史記錄:- 預設不會自動重設;壓縮會限制作用中情境的大小,同時保留持續延續的工作階段。每日重設和閒置重設皆須選擇啟用(請參閱工作階段管理)。執行
/new和/reset時,即將結束的對話尾端會儲存至每日記憶筆記,而下一個工作階段會重新預載近期筆記。重設會指派新的即時工作階段 ID,但先前的 SQLite 對話記錄仍可透過相同的主要工作階段索引鍵搜尋。 - 當對話接近情境視窗上限時,壓縮會進行摘要並在原處繼續——對話記錄歷史仍會保留在工作階段儲存區中。
- 工作階段清單會顯示目前的即時對話,而不是背後的每個歷史工作階段 ID。
- 當各代理程式儲存區的實體資料庫、WAL 和工作階段成品超過磁碟預算(預設為 10 GB)時,OpenClaw 會先將最舊且未被參照的歷史記錄擷取至經驗證的壓縮封存檔,再移除其資料庫資料列。即時、已路由及執行中的工作階段絕不會因磁碟預算而遭到移除。
當你需要隔離時
對於只有你會與其對話的代理程式,共用主要工作階段是合適的預設值。如果有多人可以向你的代理程式傳送訊息,請隔離私訊:openclaw security audit 偵測到多位私訊傳送者時,會建議使用隔離。完整的範圍矩陣、身分連結及各路由覆寫,請參閱工作階段管理和頻道路由。