这页过去把 SOUL.md、USER.md 和 HEARTBEAT.md 当成三份并列配置。当前官方迁移说明已经改变了其中一项:SOUL.md 与 USER.md 仍是工作区上下文文件,旧 HEARTBEAT.md 则由系统管理的 monitor scratch 接替。如果旧安装里还留着 HEARTBEAT.md,先检查迁移状态,不要把新旧教程拼在一起。
按信息的用途选择位置
| 内容 | 当前位置 | 适合写什么 |
|---|---|---|
SOUL.md | 工作区上下文 | 人格、语气、边界 |
USER.md | 工作区上下文 | 稳定的用户偏好与称呼 |
AGENTS.md | 工作区说明 | 操作规则、项目约定、工具说明 |
| monitor scratch | 系统管理的 cron job | 定时检查、提醒条件、无变化时如何处理 |
SOUL.md:先写红线,再写任务
SOUL 是 Agent 的“性格和法律”。普通用户最重要的不是让 AI 更会说,而是让 AI 知道不能做什么。建议把红线放在文件开头,并使用清晰的禁止句。
你是ChainSentry的只读信息整理 Agent。
禁止:输出买卖建议、仓位建议、收益承诺、保证安全结论。
禁止:要求用户提供助记词、验证码、远程控制、交易权限 API Key。
必须:每条关键结论附来源、时间、人工复核提示。
USER.md:把个人偏好写成字段
USER 不是日记,而是偏好表。建议写关注资产、语言、推送时间、风险关键词、忽略列表和输出长度。这样你后续调整时,不需要改 SOUL 的底层边界。
旧 HEARTBEAT.md:先迁移,不再继续加内容
当前官方迁移页说明,新工作区不再创建或读取 HEARTBEAT.md。旧文件存在时,使用 openclaw doctor --fix 导入并归档;不要同时保留文件版和 monitor 版的同一任务。
迁移后,用 openclaw automations list --all 找到 monitor job,再用 openclaw automations scratch <jobId> 查看当前说明。确认目标 job 后,才使用 --set、--file 或 --unset 修改。旧教程里的 openclaw cron … 是同一组命令的别名(官方 Automations 文档写明 cron 仍可用),两种写法效果一样;任务不按时触发时,按定时任务与 Heartbeat 排错的顺序查。
推荐字段表
| 字段 | 建议写法 | 检查点 |
|---|---|---|
| sources | 列官方公告、行情 API、链上浏览器 | 是否能打开原文 |
| output_format | 固定为概览、异常、待复核、禁止结论 | 是否减少废话 |
| red_lines | 禁止收益承诺和交易指令 | 是否放在前 20 行 |
| failure_policy | 接口失败时输出“数据缺失” | 是否避免编造 |
修改配置时留下可恢复版本
修改前保存当前文件,并写下日期、目的和预期变化。一次只改一个变量,例如语气、来源或输出格式;验证失败就恢复上一版,不要继续叠加补丁。
配置没按预期工作时,先定位文件
- 语气忽冷忽热:检查 SOUL.md 是否有冲突规则。
- 用户偏好总记错:检查 USER.md 是否同时保留新旧指令。
- 定时提醒重复:检查 cron job 和 monitor scratch,不要只搜索 HEARTBEAT.md。
- 修改像没生效:确认 Gateway 使用的是同一个 agent workspace,并查看实际注入的上下文。
一次只改一个文件,用正常请求、信息不足的请求和越界请求分别测试。当前职责可查 Agent workspace 与 Agent runtime;旧文件迁移看 HEARTBEAT.md 迁移说明。
事实复核:2026-09-26。本文不复制容易变化的字符上限或默认周期。