乐于分享
好东西不私藏

OpenClaw 最佳实践总结与案例分享

OpenClaw 最佳实践总结与案例分享

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 分钟:

  1. 打开 MEMORY.md,删除过时内容
  2. 更新项目进展
  3. 把 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 保持简单,不要过度设计