OpenClaw 实战方法论
版本:2026.4.25 |
文章目录
- 零、OpenClaw 是什么?
- 0.1 一句话定位
- 0.2 OpenClaw 能做什么?
- 0.3 与 Claude Code 的区别
- 一、核心架构与工作流
- 1.1 三层架构
- 1.2 消息流转路径
- 1.3 三种启动方式
- 二、高效使用技巧
- 2.1 任务描述法(核心技巧)
- 2.2 拆解大任务
- 2.3 利用身份文件塑造 Agent 行为
- 三、工具与扩展系统
- 3.1 Skills 技能系统
- 3.2 MCP 扩展协议
- 3.3 工具链组合实战
- 四、OpenClaw 的"思考"机制
- 4.1 它会自动规划
- 4.2 它的自我纠错
- 4.3 Thinking Level 控制
- 五、记忆与上下文管理
- 5.1 短期记忆 → 长期记忆
- 5.2 保持上下文清晰
- 5.3 记忆恢复与重建
- 六、多通道接入实战
- 6.1 支持的 Channel 一览
- 6.2 添加 Channel(以 Telegram 为例)
- 6.3 TUI 终端交互
- 七、实战场景(附结果验证)
- 场景 1:日常办公自动化 --- 每日晨报
- 场景 2:代码开发与审查 --- 自动生成接口
- 场景 3:信息调研与报告生成
- 场景 4:定时监控与告警
- 场景 5:多 Agent 协同
- 八、黄金法则
- 九、安全与权限管理
- 9.1 执行策略三档
- 9.2 安全加固清单
- 9.3 设备配对管理
- 附录:命令速查表
零、OpenClaw 是什么?
0.1 一句话定位
OpenClaw = 7×24 在线的 AI Agent 框架 + 多通道消息中枢
↓
接入任何聊天平台 → 调用 AI 推理 → 自动执行任务 → 回复结果
0.2 与 Claude Code 的区别
| Claude Code | OpenClaw | |
|---|---|---|
| 定位 | 终端内的编程助手 | 全时在线的 AI Agent |
| 交互方式 | 终端 CLI / TUI | 任何聊天平台(WhatsApp/Telegram/飞书/...) |
| 运行模式 | 会话式,用完即走 | Gateway 持久运行,随时响应 |
| 核心能力 | 代码读写执行 | 代码 + 消息 + 定时任务 + 技能扩展 |
0.3 OpenClaw 能做什么?
| 能力 | 说明 | 典型场景 |
|---|---|---|
| 💬 全平台对话 | 接入 WhatsApp/Telegram/飞书/QQ 等 | 手机随时与 AI 对话 |
| 🔧 自动执行 | 执行 Shell 命令、文件操作 | 自动化运维、数据处理 |
| 📋 定时任务 | Cron 调度器 | 每日晨报、定期巡检 |
| 🧩 技能扩展 | 安装 Skills 增强能力 | Excel 处理、PDF 生成、设计 |
| 🧠 持久记忆 | 自动提取对话要点写入长期记忆 | 记住你的偏好和决策 |
| 🔌 MCP 扩展 | 接入数据库、浏览器、飞书 API | 查询 MySQL、操作飞书文档 |
| 👥 多 Agent | 创建多个 Agent 各司其职 | 运维助手、编码助手、研究助手 |
一、核心架构与工作流
1.1 三层架构
┌─────────────────────────────────────────┐
│ Channel 层 (输入/输出) │
│ WhatsApp / Telegram / Discord / 飞书 │
│ QQ / iMessage / Slack / Web UI ... │
└───────────────┬─────────────────────────┘
│ WebSocket
▼
┌─────────────────────────────────────────┐
│ Gateway 层 (中枢调度) │
│ ws://127.0.0.1:18789 │
│ 路由 / 会话管理 / 认证 / 多 Agent 调度 │
└───────────────┬─────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Agent 层 (推理执行) │
│ LLM Provider (Qwen / MiniMax / GPT) │
│ Skills + MCP Tools + Memory │
│ 文件系统 / Shell / 浏览器操作 │
└─────────────────────────────────────────┘
- Gateway:持久运行的 WebSocket 服务,是所有交互的中枢
- Agent:接收消息 → 调用工具/LLM → 回复,通过 Gateway 路由
- Channel:接入外部聊天平台,将消息转发到 Gateway
1.2 消息流转路径
以 Telegram 为例:
你发送 "帮我查下今天的待办"
↓
Telegram Bot 收到消息
↓
Channel 转发到 Gateway (WebSocket)
↓
Gateway 路由到 main Agent
↓
Agent 读取 TODO 文件 / 调用 MCP 查询
↓
Agent 生成回复
↓
Gateway 路由回 Channel
↓
Telegram 回复你:今日待办列表
1.3 三种启动方式
bash
# 方式 1:Gateway + TUI(推荐,持久运行 + 终端交互)
openclaw gateway --force
openclaw tui
# 方式 2:Gateway + 聊天平台(全时在线)
openclaw gateway install # 注册为系统服务,开机自启
# 之后通过 Telegram/WhatsApp 随时对话
# 方式 3:CLI 单次调用(脚本集成)
openclaw agent --session-id main --message "生成今日报告" --deliver
二、高效使用技巧
2.1 任务描述法(核心技巧)
好任务的公式:目标 + 具体约束 + 期望输出格式
❌ 低效说法:
帮我处理下数据
✅ 高效说法:
读取 ~/Downloads/sales.xlsx,统计 Q1 各区域销售额,
输出 Markdown 表格,按销售额降序排列,
并生成 ~/output/q1_summary.md 文件
2.2 拆解大任务
❌ 一次说太多:
帮我把整个项目重构一下
✅ 分步骤说:
第一步:先帮我了解项目结构,列出所有模块
第二步:找出重复代码和可复用的函数
第三步:针对每个模块逐个优化
第四步:写一份重构总结
2.3 利用身份文件塑造 Agent 行为
编辑 ~/.openclaw/workspace/ 下的文件,Agent 每次对话都会加载:
USER.md --- 让 Agent 了解你:
markdown
- 沟通风格:中文,结论先行
- 技术栈:Java, Spring Boot, MyBatis-Plus
- 项目路径:~/projects/myapp
AGENTS.md --- 约束 Agent 行为:
markdown
- 结论先行,细节在后
- 代码优先使用项目规范
- 不问确认,直接做(不可逆操作才问)
- 每次宣称成功必须附证据
SOUL.md --- 定义性格:
markdown
技术搭档,中文交流。简洁直接。
效果验证:设置后发送任意问题,回复风格会严格遵循这些指令。
三、工具与扩展系统
3.1 Skills 技能系统
Skills 是 Agent 的能力扩展,类似"专业大脑"。
bash
# 查看已安装技能
openclaw skills list
# 搜索新技能
openclaw skills search "excel"
openclaw skills search "browser"
# 安装
openclaw skills install "skill-name"
已验证技能清单:
| 技能 | 能做什么 | 实战场景 |
|---|---|---|
| xlsx | 创建/读取/编辑 Excel | 自动生成销售报表 |
| docx | 生成/编辑 Word 文档 | 合同模板填充 |
| pptx | 制作 PPT | 周报汇报幻灯片 |
| PDF 处理 | 合并/拆分/加水印 | |
| web-access | 网页搜索/抓取 | 调研竞品信息 |
| frontend-design | 前端界面生成 | 快速生成活动页面 |
| ui-ux-pro-max | UI/UX 设计建议 | 产品界面优化方案 |
3.2 MCP 扩展协议
MCP(Model Context Protocol)让 Agent 接入外部服务:
bash
# 查看已配置的 MCP 服务
openclaw mcp list
# 添加 MySQL 服务
openclaw mcp set "mysql" '{"command":"npx","args":["-y","@modelcontextprotocol/server-mysql","mysql://user:pass@localhost/db"]}'
常见 MCP 集成:
| MCP Server | 能力 | 使用场景 |
|---|---|---|
| MySQL | 数据库查询 | "查下上个月订单总额" |
| Redis | 缓存操作 | "清空过期 session" |
| Feishu | 飞书文档/消息 | "把报告发到飞书群" |
| 浏览器 | 网页自动化 | "帮我在这个网站下单" |
3.3 工具链组合实战
以"生成周报并发到飞书群"为例:
你说:"帮我生成本周工作周报,发到飞书群"
↓
Agent 自动执行:
1. 读取 ~/workspace/TODO.md 获取本周完成任务
2. 读取 git log 获取代码提交记录
3. 调用 xlsx skill 生成数据图表
4. 调用 docx skill 生成 Word 报告
5. 调用 Feishu MCP 发送到飞书群
↓
飞书群收到:包含数据和图表的完整周报
四、OpenClaw 的"思考"机制
4.1 它会自动规划
当你给出一个复杂任务时,OpenClaw 的 Agent 会:
1. 理解任务目标
2. 拆解成子步骤
3. 判断需要调用哪些工具/Skills
4. 按顺序执行
5. 检查每步结果
6. 如出错自动纠正或换方案
4.2 它的自我纠错
你:"帮我调研这个技术"
↓
Agent:WebSearch 搜索
↓
结果太少?→ 升级到一手来源,直接访问官网
↓
反爬拦截?→ 启动浏览器 CDP 模拟操作
↓
成功获取 → 整理输出
4.3 Thinking Level 控制
| 级别 | 适用场景 | 示例 |
|---|---|---|
off |
关闭思考,最快响应 | 简单查询 |
minimal |
日常对话 | "今天天气如何" |
low |
普通任务 | 简单代码修改 |
medium |
方案设计 | "帮我设计用户系统架构" |
high |
复杂编码 | "实现 OAuth2 登录流程" |
xhigh |
深度分析 | "分析这个安全漏洞的根本原因" |
adaptive |
让模型自行判断 | 日常使用推荐 |
max |
关键任务,极致质量 | 核心架构设计 |
bash
# 单条消息指定思考深度
openclaw agent --session-id main --message "分析这个问题" --thinking high
五、记忆与上下文管理
5.1 短期记忆 → 长期记忆
对话进行中
↓
Agent 自动提取关键信息(决策/配置/偏好)
↓
短期记忆(向量索引,语义搜索)
↓
高评分内容被推荐提升
↓
openclaw memory promote --apply
↓
写入 MEMORY.md(长期记忆)
实战技巧:
bash
# 对话中让 Agent 记住
"记住:以后遇到 Java 项目,优先用 Hutool 工具库"
# 定期巩固记忆(自动提升高评分记忆到长期)
openclaw memory promote --apply
# 索引损坏时重建
openclaw memory index --force
5.2 保持上下文清晰
❌ 混乱方式:
你:帮我看看 A 项目
你:再看看 B 项目
你:刚才 A 项目那个问题怎么解决来着?
✅ 清晰方式:
bash
# 不同话题用不同 session
openclaw tui --session "project-a"
openclaw tui --session "project-b"
5.3 记忆恢复与重建
bash
# 查看记忆状态
openclaw memory status --deep
# 搜索特定记忆
openclaw memory search "部署配置"
# 回溯填充(补充遗漏的记忆)
openclaw memory rem-backfill --path ./memory
六、多通道接入实战
6.1 支持的 Channel 一览
| Channel | 类型 | 接入方式 |
|---|---|---|
| 个人消息 | 扫码登录 Web 版 | |
| Telegram | Bot | Bot Token |
| Discord | Bot | Bot Token + 服务器 ID |
| 飞书 | Webhook/Bot | 应用配置 |
| 官方机器人 | QQBot 配置 | |
| Slack | Bot/App | App Token |
| iMessage | BlueBubbles | BlueBubbles 服务器 |
6.2 添加 Channel(以 Telegram 为例)
bash
# 1. 在 BotFather 创建 Bot,获取 Token
# 2. 添加 Channel
openclaw channels add --channel telegram --token "your-bot-token"
# 3. 验证状态
openclaw channels status --probe
# 4. 测试消息
openclaw message send --channel telegram --target "@your-username" --message "Hello"
6.3 TUI 终端交互
bash
# 打开终端 UI(推荐日常使用)
openclaw tui
# 快捷键
Ctrl+C → 取消当前操作
Ctrl+L → 清屏
/models → 切换模型
/status → 查看状态
/help → 内置帮助
七、实战场景(附结果验证)
场景 1:日常办公自动化 --- 每日晨报
需求: 每天早上 9:00 自动发送今日天气 + 待办 + 日程
操作步骤:
bash
# 1. 编写晨报指令(写入 HEARTBEAT.md)
cat >> ~/.openclaw/workspace/HEARTBEAT.md << 'EOF'
## 晨报任务
1. 获取今日天气(调用天气 API)
2. 读取 TODO 列表,筛选今日待办
3. 读取日历,列出今日会议
4. 格式化输出,发送到 Channel
EOF
# 2. 设置定时任务
openclaw cron add --cron "0 9 * * 1-5" --message "执行晨报任务"
# 3. 验证
openclaw cron list
# 应显示:job-xxx · 0 9 * * 1-5 · 执行晨报任务 · enabled
结果验证:
周一 9:00 → Telegram 收到消息:
═══════════════════════
☀️ 杭州 22°C 晴
📋 今日待办:
1. 完成 Q2 报表(14:00 前)
2. 代码评审 PR #456
📅 会议:
10:00 产品评审会
15:00 技术分享
═══════════════════════
场景 2:代码开发与审查 --- 自动生成接口
需求: 快速生成一个用户注册接口
操作步骤(通过 Telegram 发送):
你:"在 ~/projects/myapp 中生成用户注册接口,要求:
- Spring Boot + MyBatis-Plus
- 参数校验:用户名 3-20 字符,邮箱格式
- 密码 BCrypt 加密
- 返回统一 Result 格式"
Agent 自动执行:
1. 📋 读取项目结构,确认技术栈
2. 📝 创建 UserDTO.java(参数对象)
3. 📝 创建 UserController.java(REST 接口)
4. 📝 创建 UserService.java(业务逻辑)
5. 📝 创建 UserMapper.java(数据访问)
6. ✅ 验证代码风格是否符合规范
结果验证:
Telegram 收到回复:
✅ 已完成,创建了 4 个文件:
- src/main/java/.../dto/RegisterRequest.java
- src/main/java/.../controller/UserController.java
- src/main/java/.../service/UserService.java
- src/main/java/.../mapper/UserMapper.java
代码已遵循项目规范:
✓ Hutool 空值判断
✓ BCrypt 密码加密
✓ @Valid 参数校验
✓ Result<T> 统一响应
场景 3:信息调研与报告生成
需求: 调研竞品 X 的最新功能,生成 Markdown 报告
操作步骤:
bash
# 通过 TUI 发送
openclaw tui --message "调研竞品 X 的 2026 年 4 月更新,
关注:新增功能、定价变化、用户反馈。
输出 Markdown 报告,保存到 ~/output/competitor-x-report.md"
Agent 执行路径:
1. 🔍 WebSearch 搜索最新新闻
2. 🌐 访问官网和博客,获取一手信息
3. 📊 访问价格页面,对比定价变化
4. 💬 查看用户论坛/评论,收集反馈
5. 📝 整合所有信息,生成 Markdown 报告
6. 💾 保存到指定路径
结果验证:
$ ls -la ~/output/competitor-x-report.md
-rw-r--r-- 1 user staff 4523 Apr 25 14:30 ~/output/competitor-x-report.md
$ head -20 ~/output/competitor-x-report.md
# 竞品 X 2026年4月更新报告
## 新增功能
- AI 助手集成...
- 多语言支持...
## 定价变化
- 个人版:$10 → $12/月(涨幅 20%)
...
场景 4:定时监控与告警
需求: 每 30 分钟检查服务器状态,异常时告警
操作步骤:
bash
# 1. 创建监控指令(写入 HEARTBEAT.md)
# 注:通过 MCP 或 SSH 工具检查服务器
cat >> ~/.openclaw/workspace/HEARTBEAT.md << 'EOF'
## 服务器监控
每 30 分钟执行:
1. 通过 SSH/MCP 检查服务器负载(CPU、内存、磁盘)
2. 检查核心服务进程状态
3. 如果任何指标超过阈值,发送告警到 Telegram
EOF
# 2. 设置定时任务
openclaw cron add --cron "*/30 * * * *" --message "执行服务器监控"
# 3. 验证
openclaw cron list
结果验证:
正常运行时(静默)
异常时 → Telegram 收到告警:
🚨 服务器告警
主机:prod-server-01
CPU:95%(阈值 80%)
内存:88%(阈值 85%)
时间:2026-04-25 15:30
场景 5:多 Agent 协同
需求: 不同 Agent 负责不同领域
操作步骤:
bash
# 1. 创建多个 Agent
openclaw agents add ops # 运维专用
openclaw agents add coding # 编码专用
openclaw agents add research # 研究专用
# 2. 设置各自身份
openclaw agents set-identity ops --name "运维助手"
openclaw agents set-identity coding --name "编码助手"
# 3. 路由绑定
openclaw agents bind ops --channel telegram --target "@ops-bot"
openclaw agents bind coding --channel telegram --target "@dev-bot"
# 4. 验证路由
openclaw agents bindings
路由效果:
Telegram @ops-bot → "检查服务器状态" → ops Agent 处理
Telegram @dev-bot → "帮我写个接口" → coding Agent 处理
终端 TUI → 任意问题 → main Agent 处理
八、黄金法则
法则 1:说清楚,不要让它猜
❌:帮我优化一下
✅:帮我优化 UserService.java 中的 queryUsers 方法,目标是从 O(n) 查询改为数据库索引优化
法则 2:给背景,别当搜索引擎用
❌:这个错误是什么意思
✅:在 Spring Boot 3.2 + MyBatis-Plus 3.5 项目中,启动时出现这个错误...
法则 3:大任务拆开说
❌:帮我把整个用户模块重构
✅:先分析用户模块的文件和依赖 → 找出问题 → 逐个文件优化 → 验证
法则 4:重要信息让它记住
"记住:项目使用 Java 17 + Spring Boot 3.2 + MySQL 8.0,代码规范用 Hutool 工具类"
法则 5:用 Session 隔离上下文
不同话题用不同 session,避免上下文混乱:
bash
openclaw tui --session "work"
openclaw tui --session "personal"
九、安全与权限管理
9.1 执行策略三档
bash
# 完全放行(适合个人测试环境)
openclaw exec-policy preset yolo
# 危险操作需确认(推荐日常使用)
openclaw exec-policy preset cautious
# 全部禁止,逐条审批(高安全环境)
openclaw exec-policy preset deny-all
9.2 安全加固清单
bash
# 1. 配置文件权限
chmod 600 ~/.openclaw/openclaw.json
chmod 700 ~/.openclaw
# 2. 设置 Gateway 认证
openclaw config set gateway.auth.token "$(openssl rand -hex 16)"
# 3. 限制绑定地址(不暴露到公网)
openclaw config set gateway.bind loopback
# 4. 安全审计
openclaw security audit --deep
9.3 设备配对管理
bash
# 查看待审批设备
openclaw devices list
# 批准自己的设备
openclaw devices approve <request-id>
# 移除不用的设备
openclaw devices remove <device-id>
附录:命令速查表
| 日常操作 | 命令 |
|---|---|
| 打开对话 | openclaw tui |
| 发一条消息 | openclaw agent --session-id main --message "..." |
| 查看状态 | openclaw status |
| 检查健康 | openclaw health |
| 查看日志 | openclaw logs --follow |
| 切换模型 | openclaw models set "provider/model" |
| 查看技能 | openclaw skills list |
| 查看用量 | openclaw gateway usage-cost |
| 定时任务 | openclaw cron add --cron "..." --message "..." |
| 设备审批 | openclaw devices list → openclaw devices approve <id> |
| 打开 Dashboard | 浏览器访问 http://127.0.0.1:18789/ |
| 记忆管理 | openclaw memory promote --apply |
| 安全审计 | openclaw security audit --deep |
| 配置验证 | openclaw config validate |
| 全面体检 | openclaw doctor --fix |
| 备份恢复 | openclaw backup create |
核心总结:
OpenClaw 不是搜索引擎,是一个能读、能想、能做、能记 的智能体。
把它当成一个7×24 不睡觉的多面手搭档 ,接入你常用的聊天工具,
说清楚你要什么,它就能帮你完成。