跳转至

磁盘上的存储位置

数据在磁盘上的存放位置

OpenClaw 使用的所有数据都保存在本地吗?

不:OpenClaw 自身的状态保存在本地,但外部服务仍然会看到你发送给它们的内容。

  • 默认本地:会话、记忆文件、配置和工作区位于 Gateway 主机上(~/.openclaw 加上你的工作区目录)。
  • 必然远程:发送给模型提供商(Anthropic/OpenAI 等)的消息会进入其 API,聊天平台(Slack/Telegram/WhatsApp 等)会将消息数据存储在其服务器上。
  • 你可以控制影响范围:本地模型将提示词保留在你的机器上,但频道流量仍会经过频道的服务器。

相关:Agent 工作区、记忆。

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,可通过以下方式配置:

{
  agents: { defaults: { workspace: "~/.openclaw/workspace" } },
}

如果机器人在重启后“失忆”,请确认 Gateway 在每次启动时都使用相同的工作区(远程模式使用网关主机的工作区,而不是你本地笔记本的工作区)。

提示:对于需要持久化的行为或偏好,请让机器人将其写入 AGENTS.md 或 MEMORY.md,而不是依赖聊天记录。

参见 Agent 工作区 和 记忆。

我可以让 SOUL.md 更大吗?

可以。SOUL.md 是注入到 agent 上下文中的工作区引导文件之一。默认的单个文件注入上限为 20000 个字符;所有文件的总引导预算为 60000 个字符。

修改共享默认值:

{
  agents: {
    defaults: {
      bootstrapMaxChars: 50000,
      bootstrapTotalMaxChars: 300000,
    },
  },
}

或者在 agents.entries.*.bootstrapMaxChars / bootstrapTotalMaxChars 下覆盖单个 agent。

使用 /context 检查原始大小与注入大小的对比,以及是否发生了截断。让 SOUL.md 专注于语气、立场和个性;将操作规则放入 AGENTS.md,将持久性事实放入记忆中。

参见 上下文 和 Agent 配置。

推荐的备份策略

将你的 agent 工作区放在一个私有 git 仓库中,并在某个私有位置(例如 GitHub 私有仓库)进行备份。这样可以捕获记忆以及 AGENTS/SOUL/USER 文件,并让你以后能够恢复助手的“心智”。

不要提交 ~/.openclaw 下的任何内容(凭据、会话、令牌、加密的秘密数据负载)。如需完整恢复,请分别备份工作区和状态目录。

文档:Agent 工作区。

如何完全卸载 OpenClaw?

参见 卸载。

Agent 可以在工作区之外工作吗?

可以。工作区是默认工作目录和记忆锚点,而不是硬性沙箱。相对路径在工作区内部解析;除非启用了沙箱,否则绝对路径可以访问主机上的其他位置。如需隔离,请使用 agents.defaults.sandbox 或每个 agent 的沙箱设置。若要将某个仓库设为默认工作目录,请将该 agent 的 workspace 指向仓库根目录——OpenClaw 仓库本身只是源代码,因此除非你故意希望 agent 在其中工作,否则请将工作区与其分开。

{
  agents: {
    defaults: {
      workspace: "~/path/to/my-repo",
    },
  },
}
远程模式:会话存储在哪里?

会话状态由网关主机持有。在远程模式下,您关心的会话存储位于远程机器上,而不是本地笔记本电脑上。参见会话管理。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw