--- summary: "数据位置、AGENTS.md 和 SOUL.md 放置、备份和卸载" title: "东西在磁盘上的位置" read_when: - "您需要查找、备份或移动 OpenClaw 数据" - "您正在决定代理指令文件的所属位置" --- ## 磁盘上的内容位置 不是:**OpenClaw 自身的状态保存在本地**,但**外部服务仍然能看到你发送给它们的内容**。 - **默认本地存储**:会话、记忆文件、配置和工作区都位于 Gateway 主机上(`~/.openclaw` 以及你的工作区目录)。 - **必须远程**:发送到模型提供者(Anthropic/OpenAI/etc.)的消息会转到他们的API,聊天平台(Slack/Telegram/WhatsApp/etc.)将消息数据存储在他们的服务器上。 - **由你控制数据留存范围**:本地模型会将提示词保留在你的机器上,但频道流量仍会经过相应频道的服务器。 相关内容:[Agent workspace](/concepts/agent-workspace)、[Memory](/concepts/memory)。 所有内容都位于 `$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 提供方的可选文件后端密钥载荷 | | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | `openclaw doctor --fix` 的旧版身份验证迁移源 | | `$OPENCLAW_STATE_DIR/credentials/` | 提供方状态(例如 `whatsapp//creds.json`) | | `$OPENCLAW_STATE_DIR/agents/` | 每个代理状态(agentDir + legacy/archive 会话工件) | | `$OPENCLAW_STATE_DIR/agents//agent/openclaw-agent.sqlite` | 每个代理 SQLite 状态,包括本地身份验证配置文件、会话和成绩单 | | `$OPENCLAW_STATE_DIR/agents//sessions/` | 旧会话迁移源和 archive/support 工件 | 旧版单 agent 路径 `~/.openclaw/agent/*` 会由 `openclaw doctor` 迁移。 旧版 `auth-profiles.json` 文件由 `openclaw doctor --fix` 导入;新登录写入 SQLite。代理本地配置文件会覆盖共享的通读基础。较旧的安装将该共享存储保留在主代理的数据库中,直到医生重新定位它;请参阅 [Auth 凭证语义](/auth-credential-semantics#agent-copy-portability)。 你的**工作区**(AGENTS.md、memory 文件、skills 等)是单独的,通过 `agents.defaults.workspace` 配置(默认:`~/.openclaw/workspace`)。 它们位于**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` 中。 - **State dir (`~/.openclaw`)**:配置、channel/provider 状态、身份验证配置文件、会话、日志、共享技能 (`~/.openclaw/skills`)。 默认工作区是 `~/.openclaw/workspace`,可配置: ```json5 { agents: { defaults: { workspace: "~/.openclaw/workspace" } }, } ``` 如果机器人在重启后“忘记”了内容,请确认 Gateway 每次启动都使用相同的工作区(远程模式使用的是**gateway 主机**上的工作区,而不是你本地笔记本上的)。 提示:如果需要持久行为或偏好,最好让机器人把它**写入 AGENTS.md 或 MEMORY.md**,而不是依赖聊天历史。 参见 [Agent workspace](/concepts/agent-workspace) 和 [Memory](/concepts/memory)。 可以。`SOUL.md` 是注入到 agent 上下文中的工作区启动文件之一。默认单文件注入上限为 `20000` 个字符;跨文件的总启动预算为 `60000` 个字符。 更改共享默认值: ```json5 { agents: { defaults: { bootstrapMaxChars: 50000, bootstrapTotalMaxChars: 300000, }, }, } ``` 或在 `agents.entries.*.bootstrapMaxChars` / `bootstrapTotalMaxChars` 下为某个 agent 单独设置。 使用 `/context` 查看原始大小与注入后大小,以及是否发生了截断。保持 `SOUL.md` 重点描述语气、立场和个性;把操作规则放在 `AGENTS.md` 中,把持久事实放在 memory 中。 参见 [Context](/concepts/context) 和 [Agent config](/gateway/config-agents)。 将你的**agent 工作区**放在一个**私有**的 git 仓库中,并把它备份到某个私有位置(例如 GitHub private)。这样可以保存 memory 以及 AGENTS/SOUL/USER 文件,并允许你以后恢复助手的“思维”。 **not** 是否在 `~/.openclaw` 下提交任何内容(凭证、会话、令牌、加密秘密有效负载)。对于完整恢复,请分别备份工作区和状态目录。 文档:[Agent workspace](/concepts/agent-workspace)。 参见 [Uninstall](/install/uninstall)。 可以。工作区是**默认 cwd** 和记忆锚点,而不是硬性沙箱。相对路径会解析到工作区内;如果未启用沙箱,绝对路径可以访问主机上的其他位置。若要隔离,请使用 [`agents.defaults.sandbox`](/gateway/sandboxing) 或每个 agent 的沙箱设置。要把某个仓库设为默认工作目录,请把该 agent 的 `workspace` 指向仓库根目录——OpenClaw 仓库本身只是源代码,所以除非你有意让 agent 在其中工作,否则应保持工作区分离。 ```json5 { agents: { defaults: { workspace: "~/path/to/my-repo", }, }, } ``` 会话状态归**gateway 主机**所有。在远程模式下,你关心的会话存储位于远程机器上,而不是你本地的笔记本上。参见 [Session management](/concepts/session)。