Skip to main content

OpenClaw 自动化系统构建 - 从入门到精通

·2068 words·5 mins

English Reference

概述
#

OpenClaw 的核心价值在于自动化。本文讲解如何构建完整的自动化系统。

自动化核心:cron + message
#

工作原理
#

cron (调度器)
OpenClaw Agent
message (推送)
用户 (Telegram/WhatsApp/Slack)

cron 任务配置
#

基础配置
#

{
  "cron": {
    "enabled": true,
    "jobs": [
      {
        "name": "daily-brief",
        "schedule": "0 9 * * *",
        "prompt": "生成今日简报",
        "target": "direct"
      }
    ]
  }
}

定时任务示例
#

{
  "cron": {
    "jobs": [
      {
        "name": "morning-brief",
        "schedule": "0 7 * * *",
        "prompt": "生成清晨简报:天气、日程、未读邮件",
        "model": "bailian/qwen3.5-plus"
      },
      {
        "name": " noon-check",
        "schedule": "0 12 * * *",
        "prompt": "检查午餐选择建议"
      },
      {
        "name": "evening-summary",
        "schedule": "0 18 * * *",
        "prompt": "生成今日总结:完成任务、未完成项、明日计划"
      },
      {
        "name": "weekly-review",
        "schedule": "0 10 * * 1",
        "prompt": "生成周报:本周成就、问题、下周计划"
      },
      {
        "name": "git-status",
        "schedule": "0 */2 * * *",
        "prompt": "检查代码仓库状态"
      }
    ]
  }
}

实战:Daily Brief 系统
#

任务分解
#

  1. 获取今日日程
  2. 检查未读邮件
  3. 获取天气预报
  4. 汇总生成简报
  5. 发送到 Telegram

实现代码
#

{
  "cron": {
    "jobs": [
      {
        "name": "daily-brief",
        "schedule": "0 7 0 * * *",
        "prompt": "你是一位专业的助理,负责生成每日简报。\n\n请生成今日简报,包含以下内容:\n\n1. 今日天气:使用 weather 工具获取\n2. 今日日程:使用 gog 日历工具获取未来24小时事件\n3. 待回复邮件:使用 gog 邮件工具获取未读且重要的邮件\n4. 今日提醒:使用记忆工具获取重要的 reminder\n\n格式要求:\n- 使用 Markdown 格式\n- 每个部分用二级标题\n- 简洁明了,不超过 500 字\n- 最后添加「Good Morning!」\n\n请直接输出简报内容,不要添加额外说明。",
        "target": "user:ou_0a17656201924ba55e34b8ad7e0d3f2d"
      }
    ]
  }
}

详细的 cron 配置
#

{
  "cron": {
    "enabled": true,
    "jobs": [
      {
        "name": "daily-brief-zh",
        "schedule": "0 7 * * *",
        "timezone": "Asia/Shanghai",
        "prompt": "你是一位专业的中文助理。\n\n请生成今日简报,包含:\n\n1. 今日天气:获取北京天气
2. 今日日程:获取未来24小时API日程事件
3. 待回复邮件:检查未读重要邮件
4. 待办事项:查看未完成的待办任务

要求:
- 使用 Markdown 格式
- 语言:中文
- 长度:300-500 字
- 添加 emoji 增强可读性
- 提供简短建议

直接输出简报内容。",
        "model": "bailian/qwen3.5-plus"
      },
      {
        "name": "mail-trie",
        "schedule": "0 10,15 * * *",
        "prompt": "检收索取收件箱,分类邮件:\n\n1. 紧急:需要立即回复\n2. 重要:今日内回复\n3. 一般:漂流\n4. 垃圾:归档\n\n输出简短分类摘要。",
        "model": "bailian/qwen3-plus"
      },
      {
        "name": "ci-cd-monitor",
        "schedule": "0 * * * *",
        "prompt": "检查代码仓库的 CI/CD 状态,报告失败的构建。\n\n使用 github 工具获取仓库状态。",
        "tools": ["github"]
      },
      {
        "name": "github-trending",
        "schedule": "0 9 * * 1-5",
        "prompt": "收集 GitHub Trending Python/Go/JS 项目,生成本周推荐列表。",
        "tools": ["web_search", "web_fetch"]
      }
    ]
  }
}

消息推送配置
#

Telegram 配置
#

{
  "irc": {
    "server": "irc.freenode.net:6697",
    "use_ssl": true,
    "nickname": "openclaw-bot",
    "channels": ["#openclaw"]
  }
}

WhatsApp 配置
#

{
  "wacli": {
    "enabled": true,
    "webhook_url": "https://your-domain.com/webhook",
    "phone_number": "+8613800138000"
  }
}

状态监控系统
#

系统监控
#

{
  "cron": {
    "jobs": [
      {
        "name": "health-check",
        "schedule": "0 * * * *",
        "prompt": "检查系统健康状态:磁盘、内存、网络。\n\n使用 exec 工具运行检查命令:\n- df -h (磁盘)\n- free -h (内存)\n- ping -c 3 8.8.8.8 (网络)\n\n将结果格式化输出。",
        "tools": ["exec"]
      },
      {
        "name": "disk-warning",
        "schedule": "0 */6 * * *",
        "prompt": "检查磁盘使用率,如果 > 80% 发出警告。",
        "tools": ["exec"]
      }
    ]
  }
}

邮件处理自动化
#

邮件分类
#

{
  "cron": {
    "jobs": [
      {
        "name": "email-categorize",
        "schedule": "0 */2 * * *",
        "prompt": "检查未读邮件,进行分类:\n\n1. 工作相关:标记为重要\n2. 会议邀请:添加到日历\n3. 营销邮件:归档\n4. 垃圾邮件:删除\n\n使用 gog 工具处理邮件。",
        "tools": ["gog"]
      }
    ]
  }
}

多 Agent 协作
#

架构设计
#

Main Agent (调度器)
├── Research Agent (搜索)
├── Writing Agent (写作)
├── Code Agent (编程)
└── Review Agent (审查)

配置示例
#

{
  "agents": {
    "research": {
      "prompt": "你是一位专业的研究员,擅长搜索和整理信息。",
      "tools": ["web_search", "web_fetch", "memory_search"]
    },
    "writing": {
      "prompt": "你是一位经验丰富的技术作家,擅长撰写清晰、准确的技术文档。",
      "tools": ["read", "write", "edit", "memory_search"]
    },
    "coding": {
      "prompt": "你是一位高级工程师,代码质量高,善于解决问题。",
      "tools": ["exec", "read", "write", "edit"]
    }
  }
}

协作流程
#

{
  "cron": {
    "jobs": [
      {
        "name": "content-research",
        "schedule": "0 8 * * 1-5",
        "prompt": "请搜索并整理本周技术热点:\n1. GitHub Trending\n2. Hacker News 热门\n3. arXiv 最新论文\n\n输出整理后的要点列表。",
        "target_agent": "research"
      },
      {
        "name": "write-digest",
        "schedule": "0 9 * * 1-5",
        "prompt": "请基于以下要点,撰写技术周报:\n\n[要点列表]\n\n要求:\n- 中文撰写\n- 每个主题 300-500 字\n- 总字数 2000-3000 字\n- 添加技术深度和实践指导",
        "target_agent": "writing"
      }
    ]
  }
}

最佳实践
#

1. 任务拆分
#

不要在一个任务中做太多事情:

{
  "cron": {
    "jobs": [
      {
        "name": "get-weather",
        "schedule": "0 7 * * *",
        "prompt": "获取天气预报"
      },
      {
        "name": "get-calendar",
        "schedule": "0 7 * * *",
        "prompt": "获取日程"
      },
      {
        "name": "get-emails",
        "schedule": "0 7 * * *",
        "prompt": "获取未读邮件"
      }
    ]
  }
}

2. 错误处理
#

{
  "cron": {
    "jobs": [
      {
        "name": "daily-brief",
        "schedule": "0 9 * * *",
        "on_error": "notify",
        "error_message": "每日简报生成失败,请检查配置。",
        "retry": 3,
        "retry_delay": "5m"
      }
    ]
  }
}

3. 限流和保护
#

{
  "tools": {
    "allow": ["exec", "web_search", "web_fetch"],
    "limits": {
      "exec": {
        "max_calls_per_hour": 10,
        "max_calls_per_day": 50
      },
      "web_search": {
        "max_calls_per_hour": 20
      }
    }
  }
}

安全考虑
#

1. 环境变量
#

{
  "env": {
    "OPENAI_API_KEY": "${OPENAI_API_KEY}",
    "GITHUB_TOKEN": "${GITHUB_TOKEN}"
  }
}

2. 访问控制
#

{
  "permissions": {
    "allow_ranges": ["192.168.1.0/24"],
    "deny_ranges": ["0.0.0.0/0"]
  }
}

3. 审计日志
#

{
  "logs": {
    "level": "info",
    "output": "/var/log/openclaw/cron.log",
    "rotate": {
      "max_size_mb": 100,
      "max_age_days": 30
    }
  }
}

故障排查
#

查看 cron 状态
#

openclaw cron status

# 查看任务执行历史
openclaw cron history

调试任务
#

# 手动执行任务
openclaw cron run daily-brief

# 查看任务日志
openclaw cron logs daily-brief

总结
#

OpenClaw 的自动化系统强大而灵活,合理配置可以大幅提升工作效率。

相关链接
#

[1] OpenClaw 部署成本指南
https://yu-wenhao.com/en/blog/2026-02-01-openclaw-deploy-cost-guide

[2] OpenClaw 安全配置
https://yu-wenhao.com/en/blog/2026-02-04-is-openclaw-safe-security-guide