~/.openclaw/workspace)寫入純 Markdown 檔案來記住資訊。模型只會記得已儲存到磁碟的內容;沒有隱藏狀態。
運作方式
你的代理程式有三個與記憶相關的檔案:MEMORY.md— 長期記憶。持久的事實、偏好與決策。會在工作階段開始時載入。memory/YYYY-MM-DD.md(或memory/YYYY-MM-DD-<slug>.md)— 每日筆記。執行中的脈絡與觀察。在單純的/new或/reset時,今天與昨天的日期筆記會自動載入;帶有 slug 的變體,例如由內建 session-memory hook 寫入的檔案,也會與僅含日期的檔案一起被擷取。DREAMS.md(選用)— 夢境日誌與夢境整理掃描摘要,供人工審閱,包含有根據的歷史回填項目。
內容放在哪裡
MEMORY.md 是精簡、經整理的層級:持久的事實、偏好、常設決策,以及應在工作階段開始時可用的短摘要。它不是原始逐字稿、每日記錄或完整封存。
memory/YYYY-MM-DD.md 檔案是工作層級:詳細的每日筆記、觀察、工作階段摘要,以及之後仍可能有用的原始脈絡。這些檔案會被索引用於 memory_search 與 memory_get,但不會在每一輪都注入 bootstrap 提示。
隨著時間推移,代理程式會將每日筆記中的有用材料萃取到 MEMORY.md,並移除過時的長期項目。產生的工作區指令與心跳偵測流程會定期執行此操作;你不需要為每個細節手動編輯 MEMORY.md。
如果 MEMORY.md 超過 bootstrap 檔案預算,OpenClaw 會保持磁碟上的檔案完整,但截斷注入脈絡的副本。請把這視為一個訊號:將詳細材料移到 memory/*.md,在 MEMORY.md 中只保留持久摘要,或是在你想花費更多提示預算時提高 bootstrap 限制。使用 /context list、/context detail 或 openclaw doctor 查看原始大小與注入大小,以及截斷狀態。
對動作敏感的記憶
大多數記憶都是一般 Markdown 筆記。有些會影響代理程式之後應該做什麼;對於這類記憶,請記錄何時可以安全地根據該筆記行動,而不只是記錄事實本身。 當筆記涉及以下內容時,請記錄該動作邊界:- 核准或權限要求,
- 暫時性限制,
- 交接給另一個工作階段、執行緒或人員,
- 到期條件,
- 可安全行動的時機,
- 來源或擁有者權威,
- 避免採取某個誘人動作的指令。
- 什麼會改變未來行為,
- 何時或在什麼條件下適用,
- 何時到期,或什麼會解鎖行動,
- 代理程式應避免做什麼,
- 來源或擁有者是誰,如果這會影響信任或權威。
推論出的承諾
有些未來後續事項不是持久事實。如果你提到明天有面試,有用的記憶可能是「面試後追蹤」,而不是「永遠儲存在MEMORY.md 中」。
承諾是針對此情境的選擇性短期後續記憶。OpenClaw 會在隱藏的背景流程中推論它們,將其限定在同一個代理程式與頻道範圍內,並透過心跳偵測傳遞到期的追蹤提醒。明確提醒仍使用排程任務。
記憶工具
代理程式有兩個用於處理記憶的工具:memory_search— 使用語意搜尋尋找相關筆記,即使用詞與原文不同也可以。memory_get— 讀取特定記憶檔案或行範圍。
memory-core)。
記憶搜尋
設定 embedding provider 後,memory_search 會使用混合搜尋:向量相似度(語意)結合關鍵字比對(像 ID 與程式碼符號這類精確詞彙)。只要為任何支援的 provider 提供 API key,即可直接使用。
OpenClaw 預設使用 OpenAI embeddings。明確設定
agents.defaults.memorySearch.provider 可使用 Gemini、Voyage、Mistral、Bedrock、DeepInfra、local GGUF、Ollama、LM Studio、GitHub Copilot,或通用 OpenAI-compatible endpoint。記憶後端
Builtin (default)
基於 SQLite。內建支援關鍵字搜尋、向量相似度與混合搜尋。沒有額外相依項。
QMD
本機優先的 sidecar,具備重新排序、查詢擴展,以及索引工作區外部目錄的能力。
Honcho
AI 原生的跨工作階段記憶,具備使用者建模、語意搜尋與多代理程式感知。外掛安裝。
LanceDB
以 LanceDB 為後端的記憶,支援 OpenAI-compatible embeddings、自動回想、自動擷取,以及本機 Ollama embedding 支援。外掛安裝。
知識 wiki 層
如果你想讓持久記憶的行為更像維護中的知識庫,而不是原始筆記,請使用內建的memory-wiki 外掛。它會將持久知識編譯成 wiki vault,具備確定性的頁面結構、結構化聲明與證據、矛盾與新鮮度追蹤、產生的儀表板、編譯摘要,以及 wiki 原生工具(wiki_status、wiki_search、wiki_get、wiki_apply、wiki_lint)。
memory-wiki 不會取代主動記憶外掛;主動記憶外掛仍擁有回想、提升與夢境整理。memory-wiki 會在旁邊加入一個富含來源脈絡的知識層。
Memory Wiki
將持久記憶編譯成富含來源脈絡的 wiki vault,具備聲明、儀表板、橋接模式,以及對 Obsidian 友善的工作流程。
自動記憶 flush
在壓縮摘要你的對話之前,OpenClaw 會執行一個靜默回合,提醒代理程式將重要脈絡儲存到記憶檔案。這預設為開啟;設定agents.defaults.compaction.memoryFlush.enabled: false 可將其關閉。
若要讓該整理回合使用本機模型,請設定只套用到 memory-flush 回合的精確覆寫(它不會繼承目前工作階段的模型 fallback chain):
夢境整理
夢境整理是選用的背景記憶整合流程。它會收集短期回想訊號、為候選項評分,並只將符合資格的項目提升到長期記憶(MEMORY.md):
- 選擇啟用:預設停用。
- 已排程:啟用時,
memory-core會自動管理一個用於完整夢境整理掃描的週期性排程工作。 - 有門檻:提升必須通過分數、回想頻率與查詢多樣性門檻。
- 可審閱:階段摘要與日誌項目會寫入
DREAMS.md供人工審閱。
有根據的回填與即時提升
夢境整理系統有兩個相關的審閱路徑:- 即時夢境整理會使用
memory/.dreams/底下的短期夢境整理儲存區,也是一般深度階段用來決定哪些項目升級到MEMORY.md的依據。 - 有根據的回填會將歷史
memory/YYYY-MM-DD.md筆記讀取為獨立日期檔案,並將結構化審閱輸出寫入DREAMS.md。
MEMORY.md。
--stage-short-term 旗標會將有根據的持久候選項暫存到一般深度階段已使用的同一個短期夢境整理儲存區;它不會直接提升它們。因此:
DREAMS.md仍是人工審閱表面。- 短期儲存區仍是面向機器的排序表面。
MEMORY.md仍只會由深度提升寫入。
命令列介面
延伸閱讀
- 記憶搜尋:搜尋管線、provider 與調校。
- 內建記憶引擎:預設 SQLite 後端。
- QMD 記憶引擎:進階的本機優先 sidecar。
- Honcho 記憶:AI 原生跨工作階段記憶。
- Memory LanceDB:以 LanceDB 為後端、具備 OpenAI-compatible embeddings 的外掛。
- Memory Wiki:編譯後的知識 vault 與 wiki 原生工具。
- 夢境整理:從短期回想到長期記憶的背景提升。
- 記憶設定參考:所有設定旋鈕。
- 壓縮:壓縮如何與記憶互動。
- 主動記憶:互動式聊天工作階段的子代理程式記憶。