Openclaw记录03.Workspace/目录下.md 文件详解:是否应该修改及最佳实践

Workspace/目录下.md 文件详解,修改时是否有格式要求:如不能删某个字段,改缩进

一、这7个文件各自是什么?

这7个文件都是 agent workspace 的标准 bootstrap 文件 ,默认位于 ~/.openclaw/workspace/

文件 作用 是否每次session加载
AGENTS.md Agent操作指令、记忆规则、行为规范 ✅ 是
SOUL.md 人格、语气、边界 ✅ 是
USER.md 用户信息(姓名、时区、偏好) ✅ 是
IDENTITY.md Agent名称、形象、emoji ✅ 是
TOOLS.md 本地工具、设备、环境特定说明 ✅ 是
HEARTBEAT.md 心跳任务的短小checklist ✅ 是
BOOTSTRAP.md 首次运行仪式(一次性) ❌ 完成后应删除

二、修改时是否有格式要求?❌ 没有严格格式限制

核心机制:这些文件被系统读取后,以纯文本方式直接注入 agent 的 system prompt(Project Context 区段),没有 schema 校验、不解析特定字段、不检查缩进。

系统读取文件时会自动去掉文件头的 YAML frontmatter(--- 开头的部分),其余内容原样注入:

因此:

  • ✅ 可以删除任意段落或"字段"
  • ✅ 可以更改缩进
  • ✅ 可以完全重写成你自己的风格
  • ✅ 可以添加任意新内容
  • ✅ 使用标准 Markdown 格式即可

三、最佳实践汇总

1. 控制文件大小(最重要)

所有文件每次 session 都会占用 context window。每个文件上限默认 20,000 字符 ,所有文件总上限 150,000 字符,超出会被截断。

  • HEARTBEAT.md 特别要保持极简(直接影响每次心跳的 token 消耗)
  • MEMORY.md(长期记忆)也属于注入文件,随时间增长要定期整理

2. 各文件推荐写什么

  • TOOLS.md:填写你的摄像头名称、SSH 主机、TTS 偏好、设备别名等,这是"你的专属备忘录"
  • USER.md:填入你的姓名、称呼方式、时区、常用偏好
  • IDENTITY.md:填入 agent 的名字、人格、emoji
  • SOUL.md:定义 agent 的行为边界、说话风格、价值观
  • AGENTS.md:添加你自己的操作规则(比如"优先用 trash 而非 rm"、"发邮件前先询问"等)

3. 用 git 备份(强烈推荐)

文档建议将 workspace 作为私有 git 仓库管理,但绝对不要把 API key、OAuth token 等密钥放进去。

这里我的做法是:

bash 复制代码
~/.openclaw目录对应一个git目录,添加.gitignore忽略掉workspace,专门备份配置
每一个workspace目录则对应一个专门的git目录,备份每一个agent数据

4. 可以禁用自动 bootstrap 文件生成

如果你完全自己管理这些文件,可以设置:

5. MEMORY.md 只在主 session 加载

MEMORY.md(长期记忆汇总文件)不会在群组聊天、子agent、cron 任务等会话中加载,仅限直接对话(main session),这是为了安全考虑防止个人信息泄露:

6.子 agent(subagent / cron)的 session 加载

子agent 只注入 AGENTS.mdTOOLS.mdSOUL.mdIDENTITY.mdUSER.md 这5个, MEMORY.md, HEARTBEAT.md , BOOTSTRAP.md 会被过滤掉:


Notes

  1. 这7个文件本质上是 AI 的 system prompt 组成部分,OpenClaw 直接读取文本后拼接注入,不做任何结构化解析。你可以把它们理解为"写给 AI 看的说明书",想怎么写都行,只要语言清晰即可。

  2. docs/zh-CN/ 下的文件是自动翻译生成的,不建议直接编辑;但这和 workspace 里的 .md 文件无关,workspace 的文件完全由用户掌控。

  3. 如果 workspace 文件缺失,系统会注入一个"[MISSING]"标记并继续运行,不会崩溃;缺失文件可以通过 openclaw setup 重新生成默认模板(不会覆盖已有文件)。

总结

随便改随便作,多踩坑多实践