乐于分享
好东西不私藏

OpenClaw 科普系列(25):实战案例——从零搭建你的 AI 工作流

OpenClaw 科普系列(25):实战案例——从零搭建你的 AI 工作流

经过前面24期的学习,我们已经掌握了 OpenClaw 的方方面面。现在让我们通过三个完整的实战案例,综合运用这些知识,搭建真正实用的 AI 工作流。

本期是系列的最后一期,我们将展示:个人智能助手、自动化工作流、团队协作系统。

案例一:个人智能助手

场景

Charles 是一名软件工程师,希望搭建一个个人智能助手,帮助处理日常任务:

  • • 管理日程和待办事项
  • • 查询技术文档和代码示例
  • • 监控服务器状态
  • • 定时生成日报

架构设计

┌─────────────────────────────────────────┐
│           个人智能助手                   │
├─────────────────────────────────────────┤
│  Gateway (MacBook Pro)                  │
│  ├── Agent: personal                    │
│  ├── Workspace: ~/workspace-personal    │
│  └── Channels: Telegram, iMessage       │
├─────────────────────────────────────────┤
│  Node Host (Linux VPS)                  │
│  └── 服务器监控和脚本执行                │
├─────────────────────────────────────────┤
│  Cron Jobs                              │
│  ├── 每日早报 (7:00)                    │
│  └── 服务器检查 (每4小时)               │
└─────────────────────────────────────────┘

配置实现

1. Gateway 配置

// ~/.openclaw/openclaw.json
{
  gateway: {
    mode: "local",
    bind: "loopback",
    auth: { mode: "token", token: "${OPENCLAW_TOKEN}" },
  },
  agents: {
    default: "personal",
    list: [
      {
        id: "personal",
        name: "Charles助手",
        workspace: "~/.openclaw/workspace-personal",
        model: "anthropic/claude-sonnet-4",
        sandbox: { mode: "off" },
        tools: {
          profile: "balanced",
          exec: { security: "allowlist", ask: "on-miss" },
        },
      },
    ],
  },
  channels: {
    telegram: {
      token: "${TELEGRAM_BOT_TOKEN}",
      dmPolicy: "pairing",
    },
    imessage: {
      dmPolicy: "allowlist",
      allowFrom: ["charles@example.com"],
    },
  },
  session: {
    dmScope: "main",
  },
}

2. 工作区结构

workspace-personal/
├── SOUL.md                 # 助手性格定义
├── USER.md                 # 用户信息
├── skills/
│   ├── daily-report/       # 日报生成 Skill
│   │   └── SKILL.md
│   └── server-check/       # 服务器检查 Skill
│       └── SKILL.md
├── projects/
│   └── learning/           # 学习笔记
└── temp/

3. 引导文件

<!-- SOUL.md -->
# SOUL.md


你是 Charles 的个人智能助手,特点:
-
 简洁高效,直接给出答案
-
 技术背景,熟悉编程和系统运维
-
 主动提醒,不错过重要事项
-
 安全第一,敏感操作需要确认

## 工作习惯

-
 使用中文回复
-
 代码块标注语言
-
 复杂任务先给大纲再执行
<!-- USER.md -->
# USER.md


-
 **姓名**:Charles
-
 **职业**:软件工程师
-
 **技术栈**:Python, TypeScript, Node.js
-
 **关注领域**:AI, 开源, 系统架构
-
 **常用工具**:Git, Docker, Kubernetes

4. 定时任务

# 每日早报
openclaw cron add \
  --name "Daily Briefing" \
  --cron "0 7 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "生成今日简报:
1. 查询上海天气
2. 检查今日日程
3. 查看服务器状态
4. 总结待办事项"
 \
  --announce \
  --channel telegram \
  --to "1468218609"

# 服务器检查

openclaw cron add \
  --name "Server Check" \
  --every "4h" \
  --session isolated \
  --message "检查服务器状态:
1. CPU 和内存使用率
2. 磁盘空间
3. 关键服务状态
如有异常立即报告"
 \
  --announce

使用效果

  • 早上7点:收到包含天气、日程、服务器状态的早报
  • 随时询问:"服务器状态如何?" → 立即检查并报告
  • 技术问题:"Python 的 async/await 怎么用?" → 给出示例代码
  • 代码审查:发送代码片段,Agent 帮助审查和优化

案例二:自动化工作流

场景

一个小团队希望自动化内容发布流程:

  • • 自动收集行业新闻
  • • 生成摘要和评论
  • • 发布到微信公众号
  • • 定时推送到多个渠道

架构设计

┌─────────────────────────────────────────┐
│           自动化内容工作流               │
├─────────────────────────────────────────┤
│  Data Collection                        │
│  ├── RSS 订阅抓取                        │
│  └── Web 监控 (Webhook)                 │
├─────────────────────────────────────────┤
│  Processing                             │
│  ├── 内容摘要 (LLM)                     │
│  ├── 生成评论 (LLM)                     │
│  └── 图片生成 (AI Image)                │
├─────────────────────────────────────────┤
│  Publishing                             │
│  ├── 微信公众号                         │
│  ├── Telegram 频道                      │
│  └── 邮件订阅                           │
├─────────────────────────────────────────┤
│  Schedule                               │
│  └── Cron 定时触发                      │
└─────────────────────────────────────────┘

配置实现

1. Webhook 接收数据

// openclaw.json
{
  hooks: {
    enabled: true,
    token: "${WEBHOOK_TOKEN}",
    mappings: [
      {
        match: { path: "rss" },
        action: "agent",
        name: "RSS Feed",
        messageTemplate: "收到新文章:\n标题:{{title}}\n链接:{{link}}\n请生成摘要并保存到待发布队列",
        deliver: true,
      },
    ],
  },
}

2. 内容处理 Skill

<!-- skills/content-pipeline/SKILL.md -->
---

name: content_pipeline
description: Automated content processing pipeline
---

# Content Pipeline

Process incoming content for publication.

## Workflow

1. **Content Ingest**
   - Receive article URL or content
   - Fetch full text if needed

2. **Generate Summary**
   - Extract key points
   - Generate 200-word summary
   - Identify main topics

3. **Create Commentary**
   - Add industry context
   - Highlight implications
   - Suggest related topics

4. **Prepare Assets**
   - Generate featured image
   - Create social media snippets

5. **Queue for Review**
   - Save to review queue
   - Notify reviewer
   - Schedule publication

## Output Format

```json
{
  "title": "Original Title",
  "summary": "Generated summary...",
  "commentary": "Added commentary...",
  "topics": ["AI", "Technology"],
  "assets": {
    "image": "path/to/image.png",
    "social": "Social media version"
  },
  "status": "pending_
review"
}

**3. 定时发布任务**

```bash
# 每日内容收集
openclaw cron add \
  --name "Content Collection" \
  --cron "0 9 * * *" \
  --session isolated \
  --message "执行内容收集:
1. 检查 RSS 订阅
2. 抓取行业新闻
3. 生成摘要和评论
4. 保存到发布队列" \
  --deliver none

# 定时发布
openclaw cron add \
  --name "Daily Publish" \
  --cron "0 18 * * *" \
  --session isolated \
  --message "发布今日内容:
1. 检查待发布队列
2. 发布到微信公众号
3. 推送到 Telegram 频道
4. 发送邮件订阅" \
  --announce

使用效果

  • 自动化:内容从收集到发布全流程自动化
  • 一致性:统一的摘要风格和格式
  • 多平台:一次生成,多平台分发
  • 可审查:人工审核后再发布

案例三:团队协作系统

场景

一个远程团队需要协作系统:

  • • 项目管理和任务跟踪
  • • 代码审查提醒
  • • 会议记录和待办
  • • 知识库管理

架构设计

┌─────────────────────────────────────────┐
│           团队协作系统                   │
├─────────────────────────────────────────┤
│  Gateway (VPS)                          │
│  ├── Agent: team                        │
│  ├── Channels: Slack, Discord           │
│  └── Workspace: ~/workspace-team        │
├─────────────────────────────────────────┤
│  Integrations                           │
│  ├── GitHub Webhook (代码审查)          │
│  ├── Calendar API (会议提醒)            │
│  └── Notion API (知识库)                │
├─────────────────────────────────────────┤
│  Features                                 │
│  ├── 项目管理                           │
│  ├── 代码审查提醒                       │
│  ├── 会议记录                           │
│  └── 知识库问答                         │
└─────────────────────────────────────────┘

配置实现

1. 多 Agent 配置

{
  agents: {
    list: [
      {
        id: "team",
        name: "TeamBot",
        workspace: "~/.openclaw/workspace-team",
        model: "openai/gpt-5.2",
        sandbox: {
          mode: "all",
          workspaceAccess: "rw",
        },
        tools: {
          profile: "balanced",
          allow: [
            "read", "write", "exec",
            "sessions_list", "sessions_send",
          ],
        },
      },
      {
        id: "reviewer",
        name: "CodeReviewer",
        workspace: "~/.openclaw/workspace-reviewer",
        model: "anthropic/claude-opus-4",
        sandbox: { mode: "all" },
        tools: {
          profile: "minimal",
          allow: ["read", "browser"],
        },
      },
    ],
  },
}

2. Slack 集成

{
  channels: {
    slack: {
      token: "${SLACK_BOT_TOKEN}",
      channels: {
        "general": { requireMention: false },
        "dev-team": { requireMention: true },
        "code-reviews": { agent: "reviewer" },
      },
    },
  },
}

3. GitHub Webhook

{
  hooks: {
    mappings: [
      {
        match: { path: "github" },
        action: "agent",
        name: "GitHub",
        messageTemplate: "GitHub 事件:{{event}}\n仓库:{{repository.name}}\n提交者:{{pusher.name}}\n提交信息:{{head_commit.message}}",
        deliver: true,
        channel: "slack",
        to: "code-reviews",
      },
    ],
  },
}

4. 项目管理 Skill

<!-- skills/project-mgmt/SKILL.md -->
---

name: project_mgmt
description: Project management and task tracking
---

# Project Management

Manage team projects, tasks, and sprints.

## Commands

### Create Task

When user wants to create a task:
1. Ask for: title, description, assignee, due date
2. Generate task ID (TASK-XXX)
3. Save to tasks.json
4. Notify assignee

### List Tasks

Show tasks filtered by:
- Status: todo, in-progress, done
- Assignee
- Sprint
- Priority

### Sprint Planning

For sprint planning:
1. List unfinished tasks from last sprint
2. Show team capacity
3. Help assign tasks
4. Generate sprint summary

## File Structure

projects/
├── current/           # Current sprint
│   ├── tasks.json
│   └── sprint.md
└── archive/           # Past sprints
└── YYYY-MM/

使用效果

  • 代码审查:PR 提交自动提醒,AI 辅助初审
  • 任务管理:自然语言创建和查询任务
  • 会议助手:自动记录会议要点和待办
  • 知识问答:基于知识库回答团队问题

总结

通过这三个案例,我们展示了 OpenClaw 的实战应用:

案例一:个人助手

  • 核心:日程管理 + 技术问答 + 服务器监控
  • 特点:私有化部署,个人定制

案例二:自动化工作流

  • 核心:内容收集 → 处理 → 发布
  • 特点:全流程自动化,多平台分发

案例三:团队协作

  • 核心:项目管理 + 代码审查 + 知识库
  • 特点:多 Agent 协作,频道隔离

共同特点

  1. 1. 灵活配置:根据需求调整 Agent、工具、频道
  2. 2. 安全可靠:沙箱、审批、隔离机制
  3. 3. 可扩展:Skill 和插件扩展功能
  4. 4. 自动化:Cron 定时任务减少人工操作

系列回顾

25期内容,从入门到实战:

  • 入门与概览(1-5期):了解 OpenClaw 是什么,如何安装配置
  • Agent 与运行时(6-9期):深入 Agent 运行机制
  • 扩展与自动化(10-14期):Skills、Cron、Webhooks、Nodes、Canvas
  • 安全与运维(15-20期):安全模型、远程访问、监控、备份、高级配置
  • 开发与实践(21-25期):编写 Skill、Workspace、源码、贡献、实战

希望这个系列能帮助你掌握 OpenClaw,搭建属于自己的 AI 助手系统。

感谢阅读!