Agent workspace(代理工作區)
工作區是代理的家。它是唯一用於檔案工具和工作區上下文的工作目錄。請保持其私密性,並將其視為記憶。 這與~/.openclaw/ 分開,後者儲存設定、憑證和會話。
重要提示: 工作區是預設的 CWD(當前工作目錄),而不是硬性沙盒。工具根據工作區解析相對路徑,但除非啟用了沙盒化,否則絕對路徑仍然可以到達主機上的其他地方。如果您需要隔離,請使用 agents.defaults.sandbox(以及/或每代理沙盒設定)。當啟用沙盒化且 workspaceAccess 不是 "rw" 時,工具在 ~/.openclaw/sandboxes 下的沙盒工作區中操作,而不是您的主機工作區。
預設位置
- 預設值:
~/.openclaw/workspace - 如果設定了
OPENCLAW_PROFILE且不是"default",預設值變為~/.openclaw/workspace-<profile>。 - 在
~/.openclaw/openclaw.json中覆寫:
openclaw onboard、openclaw configure 或 openclaw setup 會在檔案缺失時建立工作區並植入啟動檔案。
如果您已經自己管理工作區檔案,可以停用啟動檔案的建立:
額外的工作區資料夾
較舊的安裝可能已建立~/openclaw。保留多個工作區目錄可能會導致混淆的權限或狀態漂移,因為一次只有一個工作區處於活動狀態。
建議: 保持單個活動工作區。如果您不再使用額外的資料夾,請將其封存或移至垃圾桶(例如 trash ~/openclaw)。如果您有意保留多個工作區,請確保 agents.defaults.workspace 指向活動的那一個。
openclaw doctor 會在檢測到額外的工作區目錄時發出警告。
工作區檔案地圖(各檔案的含義)
以下是 OpenClaw 預期在工作區內包含的標準檔案:-
AGENTS.md- 代理的操作說明以及它應該如何使用記憶。
- 在每次會話開始時載入。
- 適合存放規則、優先順序和「如何表現」等細節的地方。
-
SOUL.md- 人格、語氣和邊界。
- 每次會話載入。
-
USER.md- 使用者是誰以及如何稱呼他們。
- 每次會話載入。
-
IDENTITY.md- 代理的名稱、氛圍和表情符號。
- 在啟動儀式期間建立/更新。
-
TOOLS.md- 關於您的本地工具和慣例的備註。
- 不控制工具的可用性;僅作為指導。
-
HEARTBEAT.md- 可選的心跳運行小型檢查清單。
- 保持簡短以避免 token 消耗。
-
BOOT.md- 在啟用內部 hook 時,於 Gateway 重啟時執行的可選啟動檢查清單。
- 保持簡短;使用 message 工具進行出站發送。
-
BOOTSTRAP.md- 一次性的首次運行儀式。
- 僅為全新工作區建立。
- 在儀式完成後將其刪除。
-
memory/YYYY-MM-DD.md- 每日記憶日誌(每天一個檔案)。
- 建議在會話開始時讀取今天 + 昨天。
-
MEMORY.md(可選)- 精選的長期記憶。
- 僅在主私人會話中載入(不包括共享/群組上下文)。
-
skills/(可選)- 工作區特定的技能。
- 當名稱衝突時覆寫受管理/綁定的技能。
-
canvas/(可選)- 用於節點顯示的 Canvas UI 檔案(例如
canvas/index.html)。
- 用於節點顯示的 Canvas UI 檔案(例如
agents.defaults.bootstrapMaxChars(預設:20000)調整限制。openclaw setup 可以重新建立缺失的預設值,而不會覆寫現有檔案。
不在工作區中的內容
這些內容位於~/.openclaw/ 下,不應提交到工作區儲存庫:
~/.openclaw/openclaw.json(設定)~/.openclaw/credentials/(OAuth token、API 金鑰)~/.openclaw/agents/<agentId>/sessions/(會話轉錄 + 元資料)~/.openclaw/skills/(受管理的技能)
Git 備份(建議,私密)
將工作區視為私密記憶。將其放在私有 (Private) git 儲存庫中,以便進行備份和恢復。 在 Gateway 運行的機器上執行這些步驟(那是工作區所在的地方)。1) 初始化儲存庫
如果安裝了 git,全新工作區會自動初始化。如果此工作區還不是儲存庫,請執行:2) 新增私有遠端(適合初學者的選項)
選項 A:GitHub 網頁 UI- 在 GitHub 上建立一個新的 私有 (Private) 儲存庫。
- 不要使用 README 初始化(避免合併衝突)。
- 複製 HTTPS 遠端 URL。
- 新增遠端並推送:
gh)
- 在 GitLab 上建立一個新的 私有 (Private) 儲存庫。
- 不要使用 README 初始化(避免合併衝突)。
- 複製 HTTPS 遠端 URL。
- 新增遠端並推送:
3) 持續更新
不要提交秘密內容
即使在私有儲存庫中,也要避免在工作區中儲存秘密:- API 金鑰、OAuth token、密碼或私密憑證。
~/.openclaw/下的任何內容。- 聊天記錄或敏感附件的原始傾印。
~/.openclaw/)。
建議的 .gitignore 起始設定:
將工作區移至新機器
- 將儲存庫複製到所需路徑(預設
~/.openclaw/workspace)。 - 在
~/.openclaw/openclaw.json中將agents.defaults.workspace設定為該路徑。 - 執行
openclaw setup --workspace <path>以植入任何缺失的檔案。 - 如果您需要會話,請單獨從舊機器複製
~/.openclaw/agents/<agentId>/sessions/。
進階備註
- 多代理路由可以為每個代理使用不同的工作區。有關路由設定,請參閱 頻道路由。
- 如果啟用了
agents.defaults.sandbox,非主會話可以在agents.defaults.sandbox.workspaceRoot下使用每會話沙盒工作區。