跳到主要内容

实战案例

本章通过几个完整的实战案例,帮助你深入理解 OpenClaw 的实际应用。每个案例都包含从零开始的完整步骤,你可以跟着操作,快速掌握 OpenClaw 的核心功能。

案例 1:5 分钟搭建 Telegram 个人助理

这个案例将带你从零开始,搭建一个可以通过 Telegram 访问的个人 AI 助理。

目标

  • 在 Telegram 中与 AI 助理对话
  • AI 助理可以读取本地文件、执行命令
  • 配置访问控制,只允许你自己使用

步骤 1:创建 Telegram Bot

  1. 在 Telegram 中搜索 @BotFather
  2. 发送 /newbot 创建新机器人
  3. 按提示设置机器人名称(如:MyAssistantBot
  4. 设置机器人用户名(必须以 bot 结尾,如:my_assistant_bot
  5. 保存获取到的 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

按照提示操作:

  1. 选择模型提供商(推荐 Anthropic)
  2. 输入 API Key
  3. 配置 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:测试和使用

  1. 在 Telegram 中找到你的 Bot
  2. 发送 /start 开始对话
  3. 发送消息测试:
你好,请帮我查看当前目录下有哪些文件
  1. 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 助理会自动:

  1. 执行 git diff HEAD~1 获取变更
  2. 分析变更内容
  3. 输出审查报告

案例 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 会自动:

  1. 打开浏览器并导航
  2. 获取页面快照定位表单元素
  3. 填写并提交表单
  4. 等待页面加载
  5. 截图保存

最佳实践总结

安全第一

  • 使用 allowFrom 限制访问
  • 群组设置 requireMention 防止误触发
  • 敏感信息使用环境变量
  • 不可信输入启用沙箱

合理配置定时任务

  • 避免过于频繁的任务(消耗 Token)
  • 任务提示词要清晰具体
  • 添加错误处理指示

技能设计原则

  • 单一职责,一个技能做一件事
  • 触发条件要明确
  • 提供具体的操作示例
  • 包含注意事项和边界情况

多 Agent 规划

  • 按"角色"或"场景"划分
  • 每个Agent有清晰的人格定义
  • 合理配置绑定规则

下一步