「記憶怎麼又不見了?」
這是那段時間每天打開 OpenClaw 的第一個反應。更諷刺的是,我剛剛才把記憶系統換成更強大的 memory-lancedb-pro——理論上應該是最穩定、最精準的狀態。但現實是,Agent 每次都像失憶一樣,明明歸檔過的記憶就是讀不到。
我以為是 memory-lancedb-pro 的設定出了問題,重新調過一遍;以為是記憶路徑寫錯,逐行核對;甚至懷疑是相依套件的相容性問題,一個個排查——畢竟之前從本地記憶初始設定到 qmd 專家模式都是自己一步一步調出來的,理論上應該沒問題。怎麼修都修不好。
卡了好幾天之後,無意間看到這則推文:
內容大意是:2026.3.2 版本更新後,很多功能都被悄悄關掉了,如果之前能正常運作的東西突然壞掉,很可能是更新破壞了設定,而不是你自己的問題。這句話讓我恍然大悟——問題根本不在記憶套件本身。
根本原因
這次問題其實是多個因素同時疊加,才造成完全找不到頭緒的狀況。
問題一:workspaceOnly 悄悄改成 true
打開 ~/.openclaw/openclaw.json,找到 fs(File System)區塊:
"fs": { "workspaceOnly": true}2026.3.2 版本在 fs 區塊加入了 workspaceOnly: true,把 Agent 的檔案系統存取範圍強制鎖死在 ~/openclaw/ 目錄內。所有外部路徑一律拒絕讀寫,不報錯、不警告,就只是靜默失敗。
我的記憶歸檔放在 ~/Memory_Core/ 底下,完全在 workspace 之外。Agent 每次嘗試歸檔或讀取記憶,什麼都沒發生。
問題二:tools.profile 預設權限被調降
同一次更新後,新建的 agent 預設工具權限也被調降,exec、web_fetch、檔案系統等工具可能被靜默關閉。這個問題的症狀不只是記憶失效,所有依賴 shell 指令或外部路徑的功能都會一起停擺。
這裡有一個容易混淆的現象:問 Agent「有哪些排程?」時,它完全不知道;但打開 OpenClaw 介面卻能正常看到 cron 排程列表。原因是介面(UI)是應用程式直接讀取設定的,不受 workspaceOnly 限制;而 Agent 嘗試讀取 ~/.openclaw/cron/jobs.json 時,被 workspaceOnly: true 擋在外面,只能從對話記憶裡猜測或編造答案。
問題三:記憶文件也被搬動了
雪上加霜的是,我自己也把記憶文件從預設位置移出,搬到外部目錄。單獨任何一個問題都還有跡可查,三個同時發生就變成無解的謎團。
解決方案
方法一:修復 workspaceOnly(核心修復)
回 ~/.openclaw/openclaw.json 把 workspaceOnly 改回 false:
"fs": { "workspaceOnly": false}存檔、重啟 OpenClaw,記憶歸檔立刻恢復正常。
方法二:確認 tools.profile 權限
看到推文提醒後,我才去後台確認工具權限。操作路徑:Gateway Dashboard → 設置 → 配置 → 切換 Raw 模式,找到 tools 區塊。
根據 OpenClaw 官方文件,tools.profile 有四個選項:
| Profile | 包含工具 |
|---|---|
minimal | 僅 session_status |
coding | 檔案系統、執行環境、記憶體、圖片 |
messaging | 訊息、會話相關 |
full | 無限制 |
確認設定為 "full" 並手動補開被關閉的項目:
"tools": { "profile": "full"}"full" 代表不限制任何工具,是最開放的設定。使用外部記憶套件時,Agent 需要同時具備 fs(檔案讀寫)和 exec(執行指令)的權限才能正常運作。
驗證
修復後確認以下項目是否恢復正常:
- 重新觸發一次記憶歸檔,確認寫入成功
- 重啟 Agent 後查詢一個已歸檔的記憶,確認能正確讀取
- 詢問 Agent「有哪些排程?」,確認它能正確讀取 cron jobs(驗證
workspaceOnly: false生效) - 測試
web_fetch,確認 Agent 可以抓取網頁內容
注意事項
安全性:
workspaceOnly: false代表 Agent 可存取整個檔案系統。個人使用通常沒問題;若在共用環境部署,請評估是否適合完全關閉此限制。
升級習慣:每次 OpenClaw 版本更新後,建議先 diff 一下
~/.openclaw/openclaw.json的變動,確認沒有預設值被覆蓋,再繼續使用。
常見問題
Q: 升級 OpenClaw 後記憶功能完全失效,但設定看起來都正確,怎麼排查?
A: 最可能的原因是 2026.3.2 版本新增的 workspaceOnly: true。這個設定會把 Agent 的檔案存取範圍鎖死在 workspace 目錄內,如果記憶系統的儲存路徑在 workspace 之外,所有歸檔和讀取操作都會靜默失敗,不會有任何錯誤提示。解法是打開 ~/.openclaw/openclaw.json,找到 fs.workspaceOnly 並改為 false,重啟後即可恢復。
Q: Agent 突然無法執行指令、抓不到網頁,這和 workspaceOnly 有關嗎?
A: 不一定,要看症狀。如果是「介面看得到排程,但問 Agent 它不知道」,根本原因是 workspaceOnly: true 擋住了 Agent 讀取 ~/.openclaw/cron/jobs.json——UI 直接讀取不受影響,Agent 卻被鎖在 workspace 外。解法是把 workspaceOnly 改回 false。如果是 Agent 完全無法執行任何指令(git、shell 等),則是 exec 工具被靜默關閉,需要到 Gateway Dashboard 確認 tools.profile 設為 "full" 並手動開啟相關工具。
Q: workspaceOnly: false 會不會有安全疑慮?
A: 關閉 workspaceOnly 代表 Agent 可以讀寫整個檔案系統,在個人使用的環境下通常沒有問題。如果 OpenClaw 是部署在共用伺服器或有多個使用者,則需要評估風險。目前只能選擇全開或鎖 workspace,尚未提供更細緻的路徑白名單功能。
總結
fs.workspaceOnly: true是 2026.3.2 版本新增的限制,會讓外部記憶路徑完全失效- 改為
false即可恢復,操作位置在~/.openclaw/openclaw.json tools.profile應設為"full"確保exec、fs、web_fetch等工具都有開啟- 若同時搬動了記憶文件位置,多個因素疊加才是這次除錯如此困難的原因
- 版本更新後養成 diff 設定檔的習慣,能省去大量排查時間
測試環境:macOS 15.4、OpenClaw 2026.3.2、memory-lancedb-pro、2026-03-05
參考來源:
回報錯字、失效連結,或告訴我你想看的延伸主題。