OpenClaw 最佳实践总结与案例分享
用 OpenClaw 一年,踩过的坑比你想象的多。这篇文章把最重要的经验整理成清单,适合正准备认真用 OpenClaw 的人。
这不是功能介绍,是经验总结
之前讲的是「怎么用」,这篇文章讲的是「怎么用好」。
区别在于:功能看一遍就会,但经验需要踩坑才能积累。
以下每一条都来自真实踩坑经历,没有一条是纸上谈兵。
一、配置文件是唯一真相
错误做法
直接在终端里改配置,改完发现重启后丢了。
正确做法
所有配置都在 ~/.openclaw/openclaw.json 里,用版本控制管理:
# 每次修改前备份
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak.$(date +%Y%m%d)
# 配置纳入 Git 管理
cd ~/.openclaw && git init && git add openclaw.json
检查配置的正确姿势
# 查看当前完整配置
openclaw config show
# 验证配置语法
openclaw doctor
原则:不知道当前配置是什么,就不要改配置。
二、安全:错了就是灾难
真实案例
有人的 Gateway 绑定在公网 IP 上,exec 工具设为 security: full,结果被人扫描到,服务器成了矿机。
安全检查清单
每次修改配置后,习惯性跑一遍:
openclaw security audit
这条命令会检查:
Gateway 是否暴露公网 exec 工具是否开放 DM 策略是否正确 凭证文件权限是否正确
必须要锁死的配置
{
gateway: {
bind: "loopback", // 不暴露公网
mode: "local", // 只接受本地请求
},
tools: {
exec: {
security: "deny", // 默认拒绝命令执行
ask: "always", // 每次都询问
},
elevated: {
enabled: false, // 禁止提权
}
}
}
三、模型选择:稳定 > 性能 > 价格
错误心态
「这个模型便宜,我要全部用它」
正确心态
「这个模型稳定性如何,挂了怎么办」
推荐配置
{
agents: {
defaults: {
model: {
primary: "minimax/MiniMax-M2.7",
fallbacks: [
"openai/gpt-4o-mini",
"google/gemini-2.0-flash",
],
}
}
}
}
主模型选最贵的(最稳定的),fallbacks 选免费或便宜的作为降级。
一个模型撑不起生产环境。 至少配两个。
四、Context 管理:不要让它爆炸
问题
对话越来越长 → 模型响应越来越慢 → 上下文撑爆 → 模型开始乱说
解决
第一条:开启自动 Compaction
{
agents: {
defaults: {
compaction: {
model: "openrouter/anthropic/claude-sonnet-4-6"
}
}
}
}
第二条:经常 /compact
当你感觉对话变慢了,主动触发压缩:
/compact Focus on [当前项目/任务]
第三条:定期开新会话
不要在一个会话里聊一个月。开新会话的成本几乎为零,历史重要内容 OpenClaw 会从 MEMORY.md 读取。
五、技能系统:少即是多
错误心态
「这个技能看起来有用,先装上」
正确心态
「我有没有实际问题需要这个技能解决?」
我的技能管理原则
| 操作 | 标准 |
|---|---|
| 安装前 | 先读 SKILL.md,确认理解用途 |
| 安装后 | 用过 3 次才保留,否则删掉 |
| 定期清理 | 每月检查一次不用的技能 |
| 命名冲突 | workspace 级别的优先 |
# 查看已安装技能
openclaw skills list
# 删除不需要的
openclaw skills remove <skill-name>
六、定时任务:简单、隔离、有超时
错误案例
有人在 Cron 任务里同时做:搜索资料 + 生成文章 + 发布到公众号 + 发送通知。结果 15 分钟超时,任务彻底失败。
正确做法
每个 Cron 任务只做一件事:
Cron 任务 1:每天 8:50 检查天气 → 发送提醒
Cron 任务 2:每天 9:00 运行发布脚本 → 发布公众号
Cron 任务 3:每天 10:00 检查基金 → 发送行情
每个任务都设置超时:
{
"payload": {
"timeoutSeconds": 300 // 5 分钟超时
}
}
隔离执行,不污染主会话:
{
"sessionTarget": "isolated" // 独立会话执行
}
七、工作区管理:文件即记忆
MEMORY.md 的正确用法
MEMORY.md 放的是:
关于路飞的长期事实(偏好、习惯、重要日期) 项目进展和决策记录 重要的配置变更
MEMORY.md 不是:
聊天记录存档 工作区临时文件 可以不记的杂事
定期整理
每周末花 5 分钟:
打开 MEMORY.md,删除过时内容 更新项目进展 把 self-improving 里新增的条目同步进来
八、消息渠道:分离优于合并
错误做法
工作、生活中所有事情都用同一个飞书机器人接收。
正确做法
| 渠道 | 用途 |
|---|---|
| 飞书 A(工作 Agent) | 工作消息、项目提醒 |
| 飞书 B(生活 Agent) | 生活杂事、智能家居 |
{
agents: {
list: [
{ id: "work", workspace: "~/.openclaw/workspace-work" },
{ id: "life", workspace: "~/.openclaw/workspace-life" },
]
},
bindings: [
{ agentId: "work", match: { channel: "feishu", peer: { id: "work_bot_open_id" } } },
{ agentId: "life", match: { channel: "feishu", peer: { id: "life_bot_open_id" } } },
]
}
九、遇到问题:先诊断再求助
标准排查流程
遇到任何问题,按这个顺序走:
# 1. 基本状态
openclaw status
# 2. 自动诊断(最有价值)
openclaw doctor
# 3. 实时日志(找具体错误)
openclaw logs --follow
# 4. 渠道连通性
openclaw channels status --probe
# 5. 安全审计
openclaw security audit
这套流程能解决 80% 的问题。跑完再去 GitHub Issues 或社区求助,记得附上 openclaw doctor 的输出。
十、案例复盘:路飞的一天
早上 7:30:
OpenClaw Cron 触发 → 获取早间新闻 推送飞书通知:推送天气和新闻
上午 10:00:
基金行情 Cron 推送 → 查看今日收益
下午:
工作遇到问题 → 飞书问 OpenClaw → 搜索 GitHub Issues → 找到解决方案
晚上:
「帮我查一下家里温度」 → OpenClaw → HA API → 返回数据 「把空调调到 26 度」 → OpenClaw → HA API → 完成
这就是 OpenClaw 的正确使用方式:它不是一个玩具,是真正融入日常的助手。
总结:20 条核心原则
| # | 原则 |
|---|---|
| 1 | 配置文件是唯一真相,不要相信内存里的配置 |
| 2 | 安全配置永远不能省 |
| 3 | exec 工具默认 deny,按需开启 |
| 4 | Gateway 不绑定公网 |
| 5 | 模型至少配 2 个(主 + fallback) |
| 6 | 开启 auto-compaction |
| 7 | 主动 /compact,不要等变慢 |
| 8 | 定期开新会话 |
| 9 | 技能按需安装,不追求数量 |
| 10 | 技能安装前先读 SKILL.md |
| 11 | Cron 任务单一职责 |
| 12 | Cron 必须设超时 |
| 13 | 用 isolated 会话执行 Cron |
| 14 | MEMORY.md 定期整理 |
| 15 | self-improving 记录每次犯错 |
| 16 | 工作和生活渠道分离 |
| 17 | 遇到问题先跑 doctor |
| 18 | 日志要学会看 |
| 19 | 备份配置文件 |
| 20 | 保持简单,不要过度设计 |
夜雨聆风