OpenClaw Agent 协作、技能与自动化指南
在上一篇文章中,我们介绍了 OpenClaw 的内置工具和浏览器自动化能力。本文将深入讲解 Agent 协作、技能系统、自动化任务和媒体设备控制,帮助你构建更强大的 AI 助手工作流。
一、Agent 协调(Agent Coordination)
OpenClaw 支持多个 Agent 协同工作,通过子 Agent、消息发送等机制实现复杂任务的分布式处理。
1.1 Sub-Agents — 子 Agent
Sub-agents 允许从现有 Agent 会话中启动后台 Agent 运行。
核心特性:
- 每个子 Agent 在独立会话中运行
- 支持线程绑定,follow-up 消息路由到同一子 Agent
- 支持斜杠命令快速管理
斜杠命令:
/subagents list // 查看列表
/subagents kill <id> // 终止
/subagents log <id> // 查看输出
/subagents spawn <agent> <task> // 手动启动
/focus <label> // 聚焦子 Agent参数说明:
| 参数 | 说明 |
|---|---|
task | 任务描述 |
runtime | 运行时:subagent(默认)| acp |
mode | run(一次性)| session(持久) |
thread | 是否绑定线程 |
⚠️ 默认情况下,子 Agent 不能 Spawn 自己的子 Agent
1.2 ACP Agents — 外部 Agent 运行时
ACP(Agent Communication Protocol)支持调用外部 Agent 运行时,如 Codex、Claude Code、 Gemini CLI。
使用场景:
- "在 Codex 中运行这个"
- "在 Claude Code 线程中启动"
与 Sub-agents 的区别:
| 特性 | Sub-agents | ACP Agents |
|---|---|---|
| 运行时 | OpenClaw 原生 | 外部 Harness |
| 适用场景 | 轻量级任务委托 | 需要特定工具链 |
1.3 Agent Send — Agent 间消息发送
用于 Agent 之间的消息传递和通信。
1.4 Multi-Agent Sandbox — 多 Agent 沙箱
多 Agent 场景下,每个 Agent 可以拥有独立的安全配置:
每个 Agent 可独立配置:
- 独立的沙箱环境
- 独立的凭证存储
- 独立的工具权限
权限优先级: 全局配置 → Agent 配置 → 沙箱配置(只能进一步限制,不能放宽)
二、技能系统(Skills)
Skills 是扩展 OpenClaw 能力的主要方式,将工具使用指导注入到系统提示中。
2.1 Skills 加载机制
加载优先级(从高到低):
- 内置 skills(OpenClaw 核心)
- workspace skills
- 插件 skills
- 自定义 skill 文件夹
Skill 目录:
~/.openclaw/skills/ // 全局
<workspace>/.openclaw/skills/ // 工作区2.2 Creating Skills — 创建自定义技能
Skill 是一个包含 SKILL.md 的目录。
创建步骤:
- 在 skills 目录创建新文件夹
- 添加
SKILL.md文件 - 定义技能元数据和指引
- 重启 Gateway 使其生效
SKILL.md 结构:
# Skill Name
描述这个技能做什么...
定义可用的工具...
使用示例...2.3 Slash Commands — 斜杠命令
斜杠命令是由 Gateway 处理的特殊命令。
常见命令:
/exec // 执行命令
/elevated // 提权模式
/subagents // 子 Agent 管理
/switch // 切换 Agent两种模式:
- 纯文本模式
- 原生模式(支持按钮、选择器等)
2.4 Skills Config — 技能配置
所有技能相关配置位于 openclaw.json 的 skills 字段。
配置项:
{
"skills": {
"watchedFolders": ["./my-skills"],
"enabled": ["skill-name-1", "skill-name-2"],
"disabled": []
}
}2.5 ClawHub — 技能市场
ClawHub 是 OpenClaw 的公共技能市场。
功能:
- 浏览和安装社区技能
- 上传和分享自己的技能
- 版本管理和更新
常用命令:
clawhub search <keyword> // 搜索技能
clawhub install <skill> // 安装技能
clawhub update // 更新技能
clawhub publish // 发布技能三、自动化(Automation)
OpenClaw 提供强大的自动化能力,包括定时任务、事件钩子和 Webhook。
3.1 Cron Jobs — 定时任务
Cron 是 Gateway 内置的调度器。
核心概念:
- 定时唤醒 Agent 执行任务
- 持久化任务记录
- 支持一次性任务和循环任务
三种调度类型:
| 类型 | 说明 |
|---|---|
one-shot | 一次性任务 |
recurring | 循环任务 |
isolated | 隔离任务(不打扰主会话) |
Cron 表达式:
┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 日期 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 星期 (0 - 6)
* * * * *CLI 示例:
# 创建一次性提醒
openclaw cron add "提醒喝水" --in 20m --channel telegram
# 创建循环任务
openclaw cron add "每日简报" --schedule "0 9 * * *" --agent daily3.2 Hooks — 事件钩子
Hooks 提供事件驱动的自动化系统。
两种 Hook 类型:
- Command Hooks:响应特定命令
- Event Hooks:响应系统事件
内置 Hooks:
on-tool-call:工具调用前后触发on-agent-start:Agent 启动时触发on-agent-end:Agent 结束时触发on-message:收到消息时触发
使用示例:
# 查看可用 hooks
openclaw hooks list
# 启用 hook
openclaw hooks enable my-hook
# 检查状态
openclaw hooks status my-hook3.3 Webhooks
支持外部系统通过 Webhook 触发 OpenClaw 任务。
配置:
{
"automation": {
"webhooks": {
"enabled": true,
"port": 3456,
"path": "/webhook"
}
}
}3.4 Automation Troubleshooting — 自动化故障排查
当定时任务或消息投递出现问题时:
诊断命令:
# 运行自动化检查
openclaw automation check常见问题信号:
| 问题 | 表现 | 解决 |
|---|---|---|
| Cron 不触发 | 任务未执行 | 检查 Gateway 状态 |
| 消息投递失败 | send failed | 检查通道配置 |
| Hook 不触发 | 事件无响应 | 检查 hook 状态 |
快速排查规则:
- 先运行
openclaw gateway status - 查看日志:
openclaw gateway logs - 检查通道:
openclaw channels status
3.5 Gmail PubSub — Gmail 邮件通知
Gmail watch → Pub/Sub push → OpenClaw 实时通知。
配置示例:
{
"automation": {
"gmail": {
"enabled": true,
"preset": {
"mapping": {
"telegram": "default"
}
}
}
}
}功能:
- 新邮件实时推送到聊天界面
- 支持自定义映射到不同通道
- 可指定便宜模型处理邮件摘要
3.6 Polls — 投票功能
在聊天中创建和管理投票。
支持通道:
- Telegram(支持选项数量选择)
- Discord
- 其他支持的通道
使用方式:
{
action: "poll",
channel: "telegram",
question: "你更喜欢哪个?",
options: ["A", "B", "C"],
multi: false
}3.7 Auth Monitoring — 认证监控
OAuth 令牌过期健康检查。
功能:
- 监控 API 令牌有效期
- 退出码提示状态
- 支持 cron/systemd 集成
配置:
{
"automation": {
"authMonitoring": {
"enabled": true,
"checkInterval": "1h"
}
}
}3.8 Cron vs Heartbeat — 定时 vs 心跳
| 特性 | Cron | Heartbeat |
|---|---|---|
| 时机 | 精确时间 | 近似时间 |
| 上下文 | 独立会话 | 主会话上下文 |
| 适用场景 | 定时任务 | 周期性检查 |
使用建议:
- 精确时间要求 → Cron
- 需要对话上下文 → Heartbeat
- 后台任务 → Isolated Cron Job
四、媒体与设备(Media and Devices)
OpenClaw 可以控制与 Gateway 配对的设备,实现更丰富的交互。
4.1 Nodes — 设备控制
Nodes 是与 Gateway 配对的设备(手机、电脑等)。
核心功能:
- 获取设备状态信息
- 发送通知
- 捕获媒体(拍照、截屏、录音)
- 获取位置信息
- 执行命令
CLI 快速命令:
openclaw nodes status // 查看节点状态
openclaw nodes describe <id> // 节点详情
openclaw nodes notify <id> <msg> // 发送通知主要操作:
| 操作 | 说明 |
|---|---|
status | 查看节点状态 |
describe | 获取节点详情 |
notify | 发送系统通知 |
camera_snap | 拍照 |
screen_record | 屏幕录制 |
location_get | 获取位置 |
run | 执行命令 |
4.2 Media Capture — 媒体捕获
拍照:
{
action: "camera_snap",
node: "my-iphone",
facing: "front" | "back"
}截图:
{
action: "screen_record",
node: "my-iphone",
duration: "30s"
}录音:
- 支持音频和语音备忘录
- 自动转录(可选)
4.3 Location — 位置服务
获取配对设备的当前位置信息。
{
action: "location_get",
node: "my-iphone",
desiredAccuracy: "precise" | "balanced" | "coarse"
}4.4 Text-to-Speech — 语音合成
OpenClaw 支持将文字转换为语音。
支持提供商:
| 提供商 | 特点 |
|---|---|
| Edge TTS | 免费、微软 Edge 语音 |
| OpenAI TTS | 需要 API Key |
| ElevenLabs | 高质量、需要 API Key |
配置:
{
"tts": {
"provider": "edge",
"voice": "zh-CN-XiaoxiaoNeural"
}
}使用:
// 在回复中自动转换为语音
TTS 会自动应用于支持的渠道4.5 Notifications — 通知中心
读取通知:
{
action: "notifications_list",
node: "my-iphone"
}处理通知:
{
action: "notifications_action",
node: "my-iphone",
notificationKey: "xxx",
action: "open" | "dismiss" | "reply"
}4.6 Nodes Troubleshooting — 设备故障排查
当节点可见但工具执行失败时:
诊断命令:
# 节点状态检查
openclaw nodes status
# 节点详情
openclaw nodes describe <node-id>常见问题:
| 问题 | 表现 | 解决 |
|---|---|---|
| 节点不在线 | status offline | 检查设备网络 |
| 工具执行失败 | tool failed | 检查配对状态 |
| 权限不足 | permission denied | 重新配对设备 |
4.7 Media Understanding — 媒体理解
AI 理解图片、音频、视频内容的能力。
功能:
- 图片内容描述
- 音频转录理解
- 视频内容分析
配置:
{
"nodes": {
"mediaUnderstanding": {
"enabled": true,
"autoDetect": true
}
}
}4.8 Images — 图片支持
设备图片捕获和处理。
功能:
- 照片拍摄
- 屏幕截图
- 图片分析
4.9 Audio — 音频支持
设备音频捕获和处理。
功能:
- 录音
- 语音转文字
- 音频分析
配置选项:
- 自动检测:默认开启
- 代理配置:支持标准出口代理环境变量
4.10 Talk Mode — 对话模式
连续语音对话循环。
特点:
- 实时语音交互
- AI 回复可带语音前缀
- 支持自定义快捷键
配置:
{
"nodes": {
"talk": {
"enabled": true,
"voice": "default"
}
}
}4.11 Voice Wake — 语音唤醒
语音唤醒词功能。
配置位置: ~/.openclaw/wake-words/
配置格式:
{
"wakeWords": [
{
"word": "hey Friday",
"enabled": true
}
]
}通知规则:
- 谁接收唤醒通知
- 唤醒后的行为
五、插件系统(Extensions)
OpenClaw 支持通过插件扩展功能。
5.1 Plugin 开发
插件结构:
my-plugin/
├── package.json
├── index.js
└── skills/
└── SKILL.md插件可以注册:
- 自定义工具
- 新的技能
- 事件钩子
- 渠道适配器
5.2 社区插件
OpenClaw 拥有丰富的社区插件生态:
- Voice Call:语音通话
- Zalo:越南社交平台
- 更多...
六、实用工作流示例
示例一:每日自动化简报
# 创建每日早上9点的简报任务
openclaw cron add "每日AI简报" --schedule "0 9 * * *" \
--agent daily-briefing \
--channel telegram示例二:设备监控告警
// Hook: 当 Agent 检测到异常时自动拍照
{
hooks: [{
trigger: "on-agent-end",
action: async (ctx) => {
if (ctx.hasError) {
await nodes.camera_snap({ node: "my-iphone" });
}
}
}]
}示例三:多 Agent 协作
// 主 Agent 调度子 Agent 处理不同任务
{
subagents: [
{ id: "researcher", task: "调研主题" },
{ id: "writer", task: "撰写文章" },
{ id: "reviewer", task: "审核内容" }
]
}七、总结
OpenClaw 的高级功能让 AI 助手具备了:
- 分布式协作 — 多 Agent 协同处理复杂任务
- 技能生态 — 通过 Skills 和 ClawHub 扩展能力
- 自动化 — Cron + Hooks 实现智能工作流
- 设备控制 — Nodes 让 AI 具备"感知"物理世界的能力
- 插件扩展 — 插件系统保证框架的可扩展性
掌握这些高级功能,你可以构建真正强大的 AI 助手工作流!