磁盘上的存储位置
数据在磁盘上的存放位置¶
OpenClaw 使用的所有数据都保存在本地吗?
不:OpenClaw 自身的状态保存在本地,但外部服务仍然会看到你发送给它们的内容。
- 默认本地:会话、记忆文件、配置和工作区位于 Gateway 主机上(
~/.openclaw加上你的工作区目录)。 - 必然远程:发送给模型提供商(Anthropic/OpenAI 等)的消息会进入其 API,聊天平台(Slack/Telegram/WhatsApp 等)会将消息数据存储在其服务器上。
- 你可以控制影响范围:本地模型将提示词保留在你的机器上,但频道流量仍会经过频道的服务器。
OpenClaw 将数据存储在哪里?
所有内容都位于 $OPENCLAW_STATE_DIR(默认:~/.openclaw)之下:
| 路径 | 用途 |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json |
主配置文件(JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json |
供 openclaw doctor --fix 使用的旧版 OAuth 迁移来源 |
$OPENCLAW_STATE_DIR/state/openclaw.sqlite |
共享 SQLite 状态,包括共享的认证配置文件 |
$OPENCLAW_STATE_DIR/secrets.json |
可选的基于文件的秘密数据负载,供 file SecretRef provider 使用 |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json |
供 openclaw doctor --fix 使用的旧版认证迁移来源 |
$OPENCLAW_STATE_DIR/credentials/ |
Provider 状态(例如 whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ |
每个 agent 的状态(agentDir + 旧版/归档会话产物) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/openclaw-agent.sqlite |
每个 agent 的 SQLite 状态,包括本地认证配置文件、会话和对话记录 |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ |
旧版会话迁移来源及归档/支持产物 |
旧版单 agent 路径 ~/.openclaw/agent/* 由 openclaw doctor 迁移。
旧版 auth-profiles.json 文件由 openclaw doctor --fix 导入;
新登录写入 SQLite。Agent 本地配置文件会覆盖共享的直读基础。
旧版安装会将共享存储保留在主 agent 的数据库中,直到 doctor 将其迁移;
参见 认证凭据语义。
你的工作区(AGENTS.md、记忆文件、技能等)是独立的,通过 agents.defaults.workspace 配置(默认:~/.openclaw/workspace)。
AGENTS.md / SOUL.md / USER.md / MEMORY.md 应该放在哪里?
这些文件位于 agent 工作区中,而不是 ~/.openclaw。
- 工作区(每个 agent):
AGENTS.md、SOUL.md、IDENTITY.md、USER.md、MEMORY.md、memory/YYYY-MM-DD.md。小写根文件memory.md仅作为旧版修复输入;当两者同时存在时,openclaw doctor --fix可将其合并到MEMORY.md。 - 状态目录(
~/.openclaw):配置、频道/Provider 状态、认证配置文件、会话、日志、共享技能(~/.openclaw/skills)。
默认工作区为 ~/.openclaw/workspace,可通过以下方式配置:
如果机器人在重启后“失忆”,请确认 Gateway 在每次启动时都使用相同的工作区(远程模式使用网关主机的工作区,而不是你本地笔记本的工作区)。
提示:对于需要持久化的行为或偏好,请让机器人将其写入 AGENTS.md 或 MEMORY.md,而不是依赖聊天记录。
我可以让 SOUL.md 更大吗?
可以。SOUL.md 是注入到 agent 上下文中的工作区引导文件之一。默认的单个文件注入上限为 20000 个字符;所有文件的总引导预算为 60000 个字符。
修改共享默认值:
或者在 agents.entries.*.bootstrapMaxChars / bootstrapTotalMaxChars 下覆盖单个 agent。
使用 /context 检查原始大小与注入大小的对比,以及是否发生了截断。让 SOUL.md 专注于语气、立场和个性;将操作规则放入 AGENTS.md,将持久性事实放入记忆中。
推荐的备份策略
将你的 agent 工作区放在一个私有 git 仓库中,并在某个私有位置(例如 GitHub 私有仓库)进行备份。这样可以捕获记忆以及 AGENTS/SOUL/USER 文件,并让你以后能够恢复助手的“心智”。
不要提交 ~/.openclaw 下的任何内容(凭据、会话、令牌、加密的秘密数据负载)。如需完整恢复,请分别备份工作区和状态目录。
文档:Agent 工作区。
如何完全卸载 OpenClaw?
参见 卸载。
Agent 可以在工作区之外工作吗?
可以。工作区是默认工作目录和记忆锚点,而不是硬性沙箱。相对路径在工作区内部解析;除非启用了沙箱,否则绝对路径可以访问主机上的其他位置。如需隔离,请使用 agents.defaults.sandbox 或每个 agent 的沙箱设置。若要将某个仓库设为默认工作目录,请将该 agent 的 workspace 指向仓库根目录——OpenClaw 仓库本身只是源代码,因此除非你故意希望 agent 在其中工作,否则请将工作区与其分开。
远程模式:会话存储在哪里?
会话状态由网关主机持有。在远程模式下,您关心的会话存储位于远程机器上,而不是本地笔记本电脑上。参见会话管理。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw