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

110 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 帖子,结合实际运维经验。*