实战案例
本章通过几个完整的实战案例,帮助你深入理解 OpenClaw 的实际应用。每个案例都包含从零开始的完整步骤,你可以跟着操作,快速掌握 OpenClaw 的核心功能。
案例 1:5 分钟搭建 Telegram 个人助理
这个案例将带你从零开始,搭建一个可以通过 Telegram 访问的个人 AI 助理。
目标
- 在 Telegram 中与 AI 助理对话
- AI 助理可以读取本地文件、执行命令
- 配置访问控制,只允许你自己使用
步骤 1:创建 Telegram Bot
- 在 Telegram 中搜索 @BotFather
- 发送
/newbot创建新机器人 - 按提示设置机器人名称(如:
MyAssistantBot) - 设置机器人用户名(必须以
bot结尾,如:my_assistant_bot) - 保存获取到的 Bot Token(格式:
123456789:ABCdefGHI...)
步骤 2:安装 OpenClaw
# macOS / Linux / WSL2
curl -fsSL https://openclaw.ai/install.sh | bash
# 或使用 npm
npm install -g openclaw@latest
步骤 3:运行 Onboarding
# 运行 onboarding 向导
openclaw onboard
按照提示操作:
- 选择模型提供商(推荐 Anthropic)
- 输入 API Key
- 配置 Telegram 渠道,输入 Bot Token
步骤 4:配置访问控制
编辑 ~/.openclaw/openclaw.json:
{
"agent": {
"workspace": "~/.openclaw/workspace",
"model": {
"primary": "anthropic/claude-sonnet-4"
}
},
"channels": {
"telegram": {
"enabled": true,
"accounts": {
"default": {
"botToken": "你的_BOT_TOKEN"
}
},
"dmPolicy": "pairing"
}
}
}
步骤 5:启动 Gateway
# 启动 Gateway
openclaw gateway
# 或作为系统服务
openclaw gateway install
openclaw gateway start
步骤 6:测试和使用
- 在 Telegram 中找到你的 Bot
- 发送
/start开始对话 - 发送消息测试:
你好,请帮我查看当前目录下有哪些文件
- Bot 会请求配对,在终端中批准:
# 查看待批准的配对请求
openclaw pairing list
# 批准配对
openclaw pairing approve <pairing-id>
完整配置示例
{
"identity": {
"name": "Clawd",
"emoji": "🦞"
},
"agent": {
"workspace": "~/.openclaw/workspace",
"model": {
"primary": "anthropic/claude-sonnet-4"
}
},
"channels": {
"telegram": {
"enabled": true,
"accounts": {
"default": {
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
}
},
"dmPolicy": "allowlist",
"allowFrom": ["你的Telegram用户ID"]
}
}
}
案例 2:配置每日自动工作汇报
这个案例展示如何使用 Cron 定时任务自动生成每日工作汇报,并通过 Telegram 发送给你。
目标
- 每天下班前自动生成工作汇报
- 汇报内容包括 Git 提交、任务进度等
- 通过 Telegram 自动发送
步骤 1:准备记忆文件
创建 ~/.openclaw/workspace/MEMORY.md:
# 工作配置
## 项目信息
| 项目 | 路径 | 描述 |
|------|------|------|
| main-app | ~/projects/main-app | 主应用项目 |
| api-server | ~/projects/api-server | API 服务 |
## 汇报配置
- 汇报时间:每天 18:00
- 发送渠道:Telegram
- 包含内容:Git 提交、任务状态
## 团队成员
- 张工:前端开发
- 李工:后端开发
- 王工:测试
步骤 2:创建 Cron 任务
# 添加每日汇报任务
openclaw cron add \
--name daily-report \
--at "0 18 * * 1-5" \
--message "根据今天的 Git 提交和 MEMORY.md 中的项目信息,生成今日工作汇报。包括:1. 各项目提交记录 2. 完成的任务 3. 明日计划。汇报生成后发送到 Telegram。"
步骤 3:配置任务详情
编辑 ~/.openclaw/openclaw.json:
{
"cron": {
"enabled": true,
"timezone": "Asia/Shanghai",
"tasks": [
{
"name": "daily-report",
"schedule": "0 18 * * 1-5",
"prompt": "请执行以下任务:\n\n1. 读取 MEMORY.md 获取项目配置\n2. 对每个项目执行 git log --since=\"today\" 查看今日提交\n3. 汇总生成工作日报,格式如下:\n\n## 今日工作汇报\n\n### 项目 A\n- [提交信息]\n\n### 项目 B\n- [提交信息]\n\n### 明日计划\n- [根据提交推断]\n\n4. 生成完成后通知我",
"enabled": true
}
]
}
}
步骤 4:验证配置
# 查看 Cron 任务列表
openclaw cron list
# 手动测试执行
openclaw cron run daily-report
# 查看下次执行时间
openclaw cron next daily-report
进阶:添加周末总结
{
"cron": {
"tasks": [
{
"name": "weekly-summary",
"schedule": "0 17 * * 5",
"prompt": "生成本周工作总结,包括:\n1. 本周所有项目的提交汇总\n2. 完成的功能点\n3. 遇到的问题和解决方案\n4. 下周计划",
"enabled": true
}
]
}
}
案例 3:创建自定义技能 - 代码审查助手
这个案例展示如何创建一个自定义技能,让 AI 助理能够进行代码审查。
目标
- 创建一个代码审查技能
- 技能能够检查代码风格、潜在问题
- 提供改进建议
步骤 1:创建技能目录
# 创建技能目录
mkdir -p ~/.openclaw/workspace/skills/code-review
步骤 2:编写 SKILL.md
创建 ~/.openclaw/workspace/skills/code-review/SKILL.md:
---
name: code-review
description: 当用户请求代码审查、代码评审、code review 或检查代码时使用此技能
---
# 代码审查助手
这个技能帮助你进行专业的代码审查,检查代码质量、潜在问题和改进空间。
## 触发条件
用户请求以下内容时激活:
- 代码审查 / 代码评审
- Code Review
- 检查代码 / 审查代码
- 帮我看看这段代码
## 审查流程
### 1. 收集信息
首先确认审查范围:
- 单个文件:使用 `read` 工具读取
- 整个项目:使用 `glob` 和 `grep` 定位相关文件
- Git 变更:使用 `exec` 执行 `git diff`
### 2. 审查维度
对每个文件进行以下检查:
#### 代码风格
- 命名规范(变量、函数、类)
- 代码格式化(缩进、空格)
- 注释完整性
#### 代码质量
- 逻辑清晰度
- 函数复杂度(是否过长)
- 重复代码检测
#### 潜在问题
- 空指针/未定义检查
- 错误处理完整性
- 边界条件处理
- SQL 注入 / XSS 等安全问题
#### 性能考量
- 循环效率
- 内存使用
- 异步操作合理性
### 3. 输出格式
使用以下格式输出审查结果:
代码审查报告
文件: [文件名] 审查时间: [时间]
发现的问题
🔴 严重问题
| 行号 | 问题描述 | 建议修复 |
|---|---|---|
| 42 | 可能的空指针引用 | 添加空值检查 |
🟡 中等问题
| 行号 | 问题描述 | 建议修复 |
|---|---|---|
| 15 | 函数过长(80行) | 拆分为多个函数 |
🟢 建议改进
| 行号 | 问题描述 | 建议修复 |
|---|---|---|
| 30 | 变量命名不清晰 | 使用更具描述性的名称 |
代码亮点
- [值得肯定的代码实践]
总体评价
[总体评分和总结]
## 注意事项
- 不要只批评,也要指出代码的亮点
- 提供具体的修改建议,不要只说"有问题"
- 考虑项目的技术栈和上下文
- 尊重现有的代码风格约定
步骤 3:测试技能
# 重启 Gateway 或开始新会话
openclaw gateway restart
# 测试技能
openclaw agent --message "帮我审查 ~/projects/main-app/src/index.ts 这个文件"
步骤 4:使用技能
在 Telegram 中发送:
帮我审查最近一次 Git 提交的代码变更
AI 助理会自动:
- 执行
git diff HEAD~1获取变更 - 分析变更内容
- 输出审查报告
案例 4:多 Agent 工作生活分离
这个案例展示如何配置多个 Agent,实现工作和生活的场景分离。
目标
- 工作相关请求由 "work" Agent 处理
- 生活相关请求由 "personal" Agent 处理
- 两个 Agent 有独立的记忆和人格
步骤 1:创建工作空间
# 创建工作空间目录
mkdir -p ~/.openclaw/workspace-work
mkdir -p ~/.openclaw/workspace-personal
步骤 2:创建 Agent 配置
编辑 ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4"
}
},
"list": [
{
"id": "main",
"default": true,
"workspace": "~/.openclaw/workspace"
},
{
"id": "work",
"workspace": "~/.openclaw/workspace-work"
},
{
"id": "personal",
"workspace": "~/.openclaw/workspace-personal"
}
]
}
}
步骤 3:配置工作 Agent 人格
创建 ~/.openclaw/workspace-work/SOUL.md:
# 你是谁
你是 Work Assistant,一位专业的技术助手,专注于帮助用户完成工作相关的任务。
## 性格特点
- 专业、高效
- 技术性语言
- 注重代码质量和最佳实践
- 简洁直接
## 职责范围
- 代码编写、审查、调试
- 技术文档编写
- 项目架构建议
- 问题排查和解决
## 语言风格
- 使用技术术语
- 提供代码示例
- 引用官方文档
- 给出具体可行的建议
步骤 4:配置生活 Agent 人格
创建 ~/.openclaw/workspace-personal/SOUL.md:
# 你是谁
你是 Personal Assistant,一位友好的生活助手,帮助用户处理日常事务。
## 性格特点
- 亲切、耐心
- 轻松随意
- 关心用户感受
- 富有同理心
## 职责范围
- 日程管理
- 提醒通知
- 生活建议
- 信息查询
## 语言风格
- 日常对话风格
- 使用表情符号
- 给出多个选项
- 询问用户偏好
步骤 5:配置渠道绑定
{
"channels": {
"telegram": {
"accounts": {
"work": {
"botToken": "WORK_BOT_TOKEN"
},
"personal": {
"botToken": "PERSONAL_BOT_TOKEN"
}
}
}
},
"bindings": [
{
"channel": "telegram",
"accountId": "work",
"agentId": "work"
},
{
"channel": "telegram",
"accountId": "personal",
"agentId": "personal"
}
]
}
步骤 6:验证配置
# 查看所有 Agent
openclaw agents list
# 查看绑定
openclaw agents list --bindings
# 测试不同 Agent
openclaw agent --agent work --message "帮我审查这段代码"
openclaw agent --agent personal --message "帮我安排明天的日程"
案例 5:浏览器自动化 - 自动填写表单
这个案例展示如何使用浏览器自动化功能完成重复性的网页操作。
目标
- 自动打开网页
- 填写登录表单
- 截取页面截图
步骤 1:启动浏览器
# 检查浏览器状态
openclaw browser status
# 启动浏览器
openclaw browser start
步骤 2:打开目标网页
# 导航到目标页面
openclaw browser navigate https://example.com/login
步骤 3:获取页面快照
# 获取交互式快照
openclaw browser snapshot --interactive
输出示例:
[1] textbox "用户名"
[2] textbox "密码"
[3] button "登录"
步骤 4:填写表单
# 输入用户名
openclaw browser type 1 "my_username"
# 输入密码
openclaw browser type 2 "my_password"
# 点击登录按钮
openclaw browser click 3
步骤 5:等待并截图
# 等待页面加载
openclaw browser wait --url "**/dashboard"
# 截图
openclaw browser screenshot --full-page
完整的自动化脚本
在对话中让 AI 执行:
请帮我完成以下自动化任务:
1. 打开 https://example.com/login
2. 使用用户名 "myuser" 和密码 "mypass" 登录
3. 登录后截图保存到 ~/screenshots/dashboard.png
AI 会自动:
- 打开浏览器并导航
- 获取页面快照定位表单元素
- 填写并提交表单
- 等待页面加载
- 截图保存
最佳实践总结
安全第一
- 使用
allowFrom限制访问 - 群组设置
requireMention防止误触发 - 敏感信息使用环境变量
- 不可信输入启用沙箱
合理配置定时任务
- 避免过于频繁的任务(消耗 Token)
- 任务提示词要清晰具体
- 添加错误处理指示
技能设计原则
- 单一职责,一个技能做一件事
- 触发条件要明确
- 提供具体的操作示例
- 包含注意事项和边界情况
多 Agent 规划
- 按"角色"或"场景"划分
- 每个Agent有清晰的人格定义
- 合理配置绑定规则