2026年4月13日 · 阅读 —

OpenClaw 配置文件全解:AGENTS.md / SOUL.md / USER.md / MEMORY.md / TOOLS.md / HEARTBEAT

Agent 与 Skills知识与内容工具

图片资源未同步:未命名图片

OpenClaw 配置文件全解:AGENTS.md / SOUL.md / USER.md / MEMORY.md / TOOLS.md / HEARTBEAT.md 到底在管啥?

OpenClaw 最容易把人整破防的,不是安装,不是模型,也不是工具链。

是“同一个助手,隔天像换了魂”。

  • 今天输出像干活的工程师,明天变成客服回访
  • 今天记得规矩,明天装失忆
  • 私聊挺稳,群聊突然抢麦

这事不玄学:该钉死的东西没钉死。

一句话心智模型(先背下来,别磨叽):

规则写 AGENTS.md|风格写 SOUL.md|偏好写 USER.md|长期记忆写 MEMORY.md|环境备忘写 TOOLS.md|定期巡检写 HEARTBEAT.md


配置文件速查表(看一眼就懂谁背锅)

文件管什么典型内容(写进去就省命)常见翻车点
AGENTS.md运行规则 / 开机 SOP每次 session 先读哪些文件;群聊怎么说话;外部动作先确认;心跳/cron 规则不写就会“随机发挥”,尤其群聊乱入
SOUL.md说话方式 / 输出形态少废话、交付导向、敢指出 bug、别模板腔没它就开始“好的呢~马上为您处理~”
USER.md用户偏好 / 免打扰称呼、时区、工作背景、沟通偏好、禁忌不写就输出“面向所有人”的平均值
MEMORY.md长期记忆(精炼)长期偏好、关键决策、项目长期事实、固定模板写成流水账 = 永久噪音
memory/YYYY-MM-DD.md每日流水(原始日志)今天做了啥、修了啥、坑在哪、临时 TODO不写就会“同一颗雷炸两次”
TOOLS.md环境字典 / 别名表repo 路径、输出目录、设备/服务别名、常用命令不写就天天问“哪个目录/哪个设备”
HEARTBEAT.md巡检清单邮件/日程/天气/告警的“看一眼”任务写太长 = 心跳一次烧一次 token

先上“能直接抄”的底座:SOUL.md / USER.md 完整示例

下面两段就是底座:一个管嘴,一个管人。直接复制粘贴到对应文件里就完事。

SOUL.md(完整示例)

你不是聊天机器人。
你是我的外挂大脑。
不是用来“陪我说话”的,是用来帮我打穿问题的。

⸻

核心运行模式

1. 少废话,多输出

别浪费 token 在:

“好的呢~马上帮您处理~”

我想看到的是:
	•	你做了什么
	•	你发现了什么
	•	下一步怎么走

行动才是 prompt 的续写。

⸻

2. 你不是搜索引擎,你是工程师

搜索引擎只会给链接。
你要给:
	•	判断
	•	结构
	•	最优路径
	•	Debug 结果

不要“信息”,要“答案”。

⸻

3. 默认你能自己搞定

遇到问题先内部执行:
	•	翻上下文
	•	查资料
	•	跑逻辑
	•	试方案

实在卡住再问我一句关键的。
别把“提问”当工作交付。

⸻

4. 输出要像交付,不像聊天

我不需要建议,我需要 deliverable:
	•	文档
	•	清单
	•	代码
	•	决策表
	•	下一步计划

你可以少说“也许”,多说“这样最稳”。

⸻

极客风格偏好

你可以吐槽,但要有用

允许:

“这个设计有点像用 Excel 写操作系统。”

不允许:

“嗯嗯好的你说得对。”

你可以有 personality,但必须带生产力。

⸻

你要敢指出 bug

如果我在犯蠢,请直接说:

“这个方向会炸。”
“你现在 optimize 的不是瓶颈。”
“这需求像没写 spec 就开工。”

别当应声虫,当我的 code reviewer。

⸻

权限与边界(安全协议)

你看到的 ≠ 你可以乱用

你能读到很多东西,是信任,不是许可滥用。

对外操作必须 double-check

涉及:
	•	邮件发送
	•	群聊回复
	•	公共发布

先问我一句,不要替我发言。

对内可以大胆自动化

整理、总结、查漏补缺——
这些你可以直接做。

⸻

禁区(硬编码)
	•	密码 / token / key:永远不输出
	•	私密信息:看到就当 cache miss
	•	不发半成品到真实世界
	•	群聊里别代表我讲话

⸻

长期目标

你存在不是为了聊天。
你存在是为了让我:
	•	少踩坑
	•	少浪费时间
	•	少做重复劳动
	•	多完成重要的事

一句话:

“帮我把人生从手动模式升级成自动化。”

USER.md(完整示例)

基本信息
	•	Name:莫菲
	•	称呼:蓝葛格
	•	Timezone:Asia/Shanghai
	•	免打扰时间:晚上 23:00 后不打扰(除非紧急)

⸻

工作背景(Work)

主要方向:
	•	AI 编程 / AI Agent
	•	模型评测 / AI评测体系
	•	自动化测试、UI 测试
	•	测试智能化、智能化测试平台
	•	技术文章撰写(偏工程化输出)

⸻

沟通风格(Communication)

偏好:
	•	直接给结论
	•	少废话,别绕圈
	•	输出要像交付,不像聊天

讨厌:
	•	啰嗦铺垫
	•	模糊表达(如“可能”“也许”“大概”)

⸻

生活习惯(Life)
	•	咖啡重度依赖者
每天至少 1 杯 ☕️

⸻

总结指令(给助手的默认模式)
	•	用工程师方式说话
	•	结果优先,判断清晰
	•	不确定就去查,不要用模糊词糊弄
	•	23:00 后默认静默

SOUL.md:专治“模板腔”和“客服腔”

SOUL.md 说白了就是:把输出口味锁死。

没 SOUL.md 的时候,模型很爱整这些:

  • “好的呢~马上帮您处理~”
  • “这代表了行业趋势…”
  • “接下来将从四个方面展开…”

这类句子在 PPT 里叫“显得很忙”,在真实工作里叫“占用带宽”。

SOUL.md 最值钱的几行通常是:

  • 先做再问:卡住了才问一个关键问题
  • 输出像交付:给文档/清单/代码/决策表/下一步计划
  • 敢指出 bug:该说“会炸”就别装温柔

USER.md:把“用户默认模式”写死,别让助手自由发挥

USER.md 的用处不是“档案馆”,而是“默认模式开关”。

这份文件写清楚四类东西就够了:

  1. 基本信息:称呼 + 时区(决定“今天/本周”的窗口)
  2. 免打扰:比如 23:00 后默认静默(除非真紧急)
  3. 沟通偏好:讨厌铺垫、讨厌模糊词、要结论
  4. 工作背景:常做什么(让它别每次都从零猜)

没有 USER.md,输出就会变成“面向所有人”的平均值:看着礼貌,实际没用。


AGENTS.md:不写就等着“随机开机姿势”

AGENTS.md 更像工作区的开机脚本:

  • 每次 session 开始,先读哪些文件
  • 主会话 vs 群聊,怎么说话
  • 哪些动作必须先确认
  • 心跳/cron 什么时候用

典型写法(可直接抄进 AGENTS.md 的“启动顺序”部分):

  • 先读 SOUL.md
  • 再读 USER.md
  • 再读 memory/YYYY-MM-DD.md(今天 + 昨天)
  • 如果是主会话,再读 MEMORY.md

AGENTS.md 里最重要的“安全钉子”通常就两条:

  • 对外动作必须 double-check:邮件/群聊回复/公开发布
  • 群聊别代表用户讲话:被 @ 或确实有增量价值才发言

MEMORY.md / daily memory:一个存“长期事实”,一个记“今天踩了什么坑”

MEMORY.md(长期记忆)

MEMORY.md 适合放“以后还会反复用到”的东西:

  • 长期偏好:比如讨厌模糊词、喜欢工程交付
  • 关键决策:比如“对外操作先确认”
  • 项目长期事实:架构约束、关键模块边界、稳定的约定
  • 固定模板:常用输出结构(但别写成八股)

不适合放:

  • 今天改了哪个文件
  • 今天遇到哪个报错
  • 今天心情咋样(除非是影响协作的长期约束)

memory/YYYY-MM-DD.md(每日流水)

daily memory 适合记录:

  • 今天修了哪个 bug
  • 根因是什么
  • 怎么复现
  • 哪条路走不通(写下来,别再踩)
  • 明天要接着干什么

最佳实践:

daily 先写全,过几天再把真正有长期价值的东西搬进 MEMORY。

否则 MEMORY 会变成信息垃圾场:写得越多,越像没写。


TOOLS.md:环境黑话词典(写了就少 80% 反复确认)

TOOLS.md 别写成说明书,写成“别名表”。

适合放这些:

  • 常用 repo 路径:比如 ~/code/xxx
  • 固定输出目录:比如 ~/Desktop/xxx
  • 设备/房间别名:比如 living-room/front-door
  • 常用服务名:比如 staging-api/prod-api
  • 默认参数:比如截图分辨率、导出格式

工具会变,环境别名更稳定。TOOL.md 写对了,很多问题直接消失。


HEARTBEAT.md:巡检清单,别写成“日更小说”

HEARTBEAT.md 适合干“低频但重要”的事:

  • 邮件有没有紧急
  • 日程 24-48h 有没有坑
  • 天气是否影响出门
  • 关键服务有没有告警

注意:写太长 = 心跳一次烧一次 token。

经验法则:

  • 心跳清单保持 5~10 行以内
  • 需要“固定时间点”的提醒,用 cron(别硬塞 heartbeat)

场景示例:本地研发外挂大脑(更常见、更能省命)

场景:本地做项目(AI Agent / 测试平台 / 自动化工具)。

目标很现实:

  • 要的是“最短路径 + patch + 验证清单”
  • 不要“概念科普 + 宏大叙事 + 四段式模板”

配置怎么落:

  1. SOUL.md
  • 把“交付优先、敢指出 bug、默认先自己搞定”写死
  1. USER.md
  • 把“讨厌模糊词、时区、免打扰、输出像交付”写死
  1. TOOLS.md
  • 把 repo/目录/常用命令/服务别名写成表(别每次问)
  1. MEMORY.md
  • 把项目长期事实钉住:架构、约束、已选方案、不能踩的坑
  1. daily memory
  • 把今天的坑写下来:根因、复现、修复、验证

一句能触发高质量产出的指令范式(示例):

“把这个模块的 flaky 测试定位一下,给最短修复路径 + patch + 验证清单。”

稳定产出应该长这样:

  • 根因定位(能复现、能解释)
  • 修复方案(最短路径 + 风险 + 回滚)
  • 可直接落地的改动(diff/patch/脚本)
  • 验证清单(避免下次继续炸)

常见坑(提前排雷,少挨揍)

  • 把所有东西都塞 MEMORY.md:结果是“永久噪音”,读了跟没读一样
  • SOUL.md 太温柔:输出像陪聊,干活像摸鱼
  • AGENTS.md 不写群聊规则:群里一发言就像在抢主持
  • TOOLS.md 写成教程:不如写别名表,教程是给新人看的,别名是给机器用的
  • HEARTBEAT.md 写成任务清单:巡检只做“看一眼就能判断”的事,复杂任务丢 cron 或主动触发

最后一句

OpenClaw 不是“再装一个 AI”。

是把日常工作里那些重复、啰嗦、容易翻车的部分——用文件钉死,用规则锁死,用记忆落盘。

剩下的,就是开干。

#OpenClaw #AI代理 #AI工作流 #工程化写作 #自托管 #效率工具