Files
vps-management-bot/memory/openclaw-best-practices.md
2026-03-21 01:10:53 +08:00

3.5 KiB
Raw Blame History

OpenClaw 调教最佳实践(学习笔记)

来源NodeSeek 帖子 post-622721作者 rocs5 台 OpenClaw 实战经验)


🧠 核心理念:文件即记忆

AI 每次醒来都是失忆的。对话窗口是临时的,文件才是永久的。 所有规则、记忆、行为都必须变成物理文件AI 才有连续性。


📁 推荐文件架构

~/.openclaw/workspace/
├── SOUL.md          # 性格、规则、底线
├── AGENTS.md        # 启动流程、记忆管理、安全边界
├── USER.md          # 主人档案:偏好、环境、习惯
├── IDENTITY.md      # 名字、物种、emoji
├── MEMORY.md        # 长期记忆(脱水提炼的精华)
├── HEARTBEAT.md     # 心跳任务(后台自动维护)
├── TOOLS.md         # SSH、设备、本地配置笔记
├── memory/
│   ├── YYYY-MM-DD.md          # 每日流水账
│   └── heartbeat-state.json   # 心跳状态追踪
└── skills/                    # 自定义技能/SOP

🔄 启动加载(治愈失忆症)

在 AGENTS.md 里写死启动序列,每次新 session 不可跳过:

  1. 读 SOUL.md — 你是谁
  2. 读 USER.md — 你帮谁
  3. 读 memory/YYYY-MM-DD.md今天+昨天)— 近期上下文
  4. 主 session 额外读 MEMORY.md — 长期记忆

效果:每次醒来第一秒就知道自己是谁、主人是谁、昨天干了什么。


💧 记忆脱水(拒绝流水账)

每日 daily notes 会越来越长90% 是噪音。

在 HEARTBEAT.md 配置自动脱水(建议每 3 天一次):

  1. 读取近几天的 daily notes
  2. 提炼:重要决策、踩坑教训、基础设施变更、用户偏好
  3. 去掉:临时调试过程、中间状态、废话
  4. 更新 MEMORY.md合并去重删过时条目
  5. 用 heartbeat-state.json 追踪上次执行时间

📋 SOP 驱动(杜绝"自以为是"

复杂操作写成 SkillMarkdown 脚本AI 按步骤执行,不靠灵感靠流程。 每一步有明确的命令、预期输出、踩坑提示。


🔒 SOUL.md 绝对规则示例

  • 永远用用户偏好的语言回复
  • 不要输出思考过程
  • 每次新对话先读记忆文件
  • 查配置用 gateway config.get不要凭感觉
  • 任务完成后必须反馈具体结果,不能只说"搞定了"

🧩 智力分层(省钱)

场景 模型选择 原因
主力对话 claude-opus 等强模型 需要理解力和执行力
心跳巡检 便宜小模型 够用就行
Fallback 中等模型 主力挂了自动切
  • Cache 命中率直接决定成本100% cache ≈ $0
  • Session 越少越好cron job 是 cache 杀手
  • 心跳用便宜模型,主力用贵模型,分层省钱

💓 心跳不只是 HEARTBEAT_OK

每次心跳可以做:

  • 记忆脱水(自动整理 daily notes
  • 健康检查(探测 API/服务可用性)
  • 定期巡检(磁盘、种子、元数据等)
  • Telegram 菜单恢复OpenClaw 重启会覆盖)

🔧 踩坑大全

  • openclaw doctor --fix 会静默覆盖配置 → 每次 doctor 后检查关键配置
  • 不要创建 BOOTSTRAP.md → 会让 agent 卡在 bootstrapping 循环
  • Telegram 尖括号 <> 会被当 HTML 解析导致消息截断 → 用反引号包裹
  • SSH 长命令容易超时断连 → 用 nohup 后台执行,主动回查结果
  • 后台任务启动后必须设定时间主动检查,不能丢了不管

整理自 2026-02-20 NodeSeek 帖子,结合实际运维经验。