Skip to content

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
moderun(一次性)| 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-agentsACP 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 加载机制

加载优先级(从高到低):

  1. 内置 skills(OpenClaw 核心)
  2. workspace skills
  3. 插件 skills
  4. 自定义 skill 文件夹

Skill 目录

~/.openclaw/skills/        // 全局
<workspace>/.openclaw/skills/  // 工作区

2.2 Creating Skills — 创建自定义技能

Skill 是一个包含 SKILL.md 的目录。

创建步骤

  1. 在 skills 目录创建新文件夹
  2. 添加 SKILL.md 文件
  3. 定义技能元数据和指引
  4. 重启 Gateway 使其生效

SKILL.md 结构

markdown
# Skill Name

描述这个技能做什么...


定义可用的工具...


使用示例...

2.3 Slash Commands — 斜杠命令

斜杠命令是由 Gateway 处理的特殊命令。

常见命令

/exec          // 执行命令
/elevated      // 提权模式
/subagents     // 子 Agent 管理
/switch        // 切换 Agent

两种模式

  • 纯文本模式
  • 原生模式(支持按钮、选择器等)

2.4 Skills Config — 技能配置

所有技能相关配置位于 openclaw.jsonskills 字段。

配置项

json
{
  "skills": {
    "watchedFolders": ["./my-skills"],
    "enabled": ["skill-name-1", "skill-name-2"],
    "disabled": []
  }
}

2.5 ClawHub — 技能市场

ClawHub 是 OpenClaw 的公共技能市场。

功能

  • 浏览和安装社区技能
  • 上传和分享自己的技能
  • 版本管理和更新

常用命令

bash
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 示例

bash
# 创建一次性提醒
openclaw cron add "提醒喝水" --in 20m --channel telegram

# 创建循环任务
openclaw cron add "每日简报" --schedule "0 9 * * *" --agent daily

3.2 Hooks — 事件钩子

Hooks 提供事件驱动的自动化系统。

两种 Hook 类型

  1. Command Hooks:响应特定命令
  2. Event Hooks:响应系统事件

内置 Hooks

  • on-tool-call:工具调用前后触发
  • on-agent-start:Agent 启动时触发
  • on-agent-end:Agent 结束时触发
  • on-message:收到消息时触发

使用示例

bash
# 查看可用 hooks
openclaw hooks list

# 启用 hook
openclaw hooks enable my-hook

# 检查状态
openclaw hooks status my-hook

3.3 Webhooks

支持外部系统通过 Webhook 触发 OpenClaw 任务。

配置

json
{
  "automation": {
    "webhooks": {
      "enabled": true,
      "port": 3456,
      "path": "/webhook"
    }
  }
}

3.4 Automation Troubleshooting — 自动化故障排查

当定时任务或消息投递出现问题时:

诊断命令

bash
# 运行自动化检查
openclaw automation check

常见问题信号

问题表现解决
Cron 不触发任务未执行检查 Gateway 状态
消息投递失败send failed检查通道配置
Hook 不触发事件无响应检查 hook 状态

快速排查规则

  1. 先运行 openclaw gateway status
  2. 查看日志:openclaw gateway logs
  3. 检查通道:openclaw channels status

3.5 Gmail PubSub — Gmail 邮件通知

Gmail watch → Pub/Sub push → OpenClaw 实时通知。

配置示例

json
{
  "automation": {
    "gmail": {
      "enabled": true,
      "preset": {
        "mapping": {
          "telegram": "default"
        }
      }
    }
  }
}

功能

  • 新邮件实时推送到聊天界面
  • 支持自定义映射到不同通道
  • 可指定便宜模型处理邮件摘要

3.6 Polls — 投票功能

在聊天中创建和管理投票。

支持通道

  • Telegram(支持选项数量选择)
  • Discord
  • 其他支持的通道

使用方式

typescript
{
  action: "poll",
  channel: "telegram",
  question: "你更喜欢哪个?",
  options: ["A", "B", "C"],
  multi: false
}

3.7 Auth Monitoring — 认证监控

OAuth 令牌过期健康检查。

功能

  • 监控 API 令牌有效期
  • 退出码提示状态
  • 支持 cron/systemd 集成

配置

json
{
  "automation": {
    "authMonitoring": {
      "enabled": true,
      "checkInterval": "1h"
    }
  }
}

3.8 Cron vs Heartbeat — 定时 vs 心跳

特性CronHeartbeat
时机精确时间近似时间
上下文独立会话主会话上下文
适用场景定时任务周期性检查

使用建议

  • 精确时间要求 → Cron
  • 需要对话上下文 → Heartbeat
  • 后台任务 → Isolated Cron Job

四、媒体与设备(Media and Devices)

OpenClaw 可以控制与 Gateway 配对的设备,实现更丰富的交互。

4.1 Nodes — 设备控制

Nodes 是与 Gateway 配对的设备(手机、电脑等)。

核心功能

  • 获取设备状态信息
  • 发送通知
  • 捕获媒体(拍照、截屏、录音)
  • 获取位置信息
  • 执行命令

CLI 快速命令

bash
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 — 媒体捕获

拍照

typescript
{
  action: "camera_snap",
  node: "my-iphone",
  facing: "front" | "back"
}

截图

typescript
{
  action: "screen_record",
  node: "my-iphone",
  duration: "30s"
}

录音

  • 支持音频和语音备忘录
  • 自动转录(可选)

4.3 Location — 位置服务

获取配对设备的当前位置信息。

typescript
{
  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

配置

json
{
  "tts": {
    "provider": "edge",
    "voice": "zh-CN-XiaoxiaoNeural"
  }
}

使用

// 在回复中自动转换为语音
TTS 会自动应用于支持的渠道

4.5 Notifications — 通知中心

读取通知

typescript
{
  action: "notifications_list",
  node: "my-iphone"
}

处理通知

typescript
{
  action: "notifications_action",
  node: "my-iphone",
  notificationKey: "xxx",
  action: "open" | "dismiss" | "reply"
}

4.6 Nodes Troubleshooting — 设备故障排查

当节点可见但工具执行失败时:

诊断命令

bash
# 节点状态检查
openclaw nodes status

# 节点详情
openclaw nodes describe <node-id>

常见问题

问题表现解决
节点不在线status offline检查设备网络
工具执行失败tool failed检查配对状态
权限不足permission denied重新配对设备

4.7 Media Understanding — 媒体理解

AI 理解图片、音频、视频内容的能力。

功能

  • 图片内容描述
  • 音频转录理解
  • 视频内容分析

配置

json
{
  "nodes": {
    "mediaUnderstanding": {
      "enabled": true,
      "autoDetect": true
    }
  }
}

4.8 Images — 图片支持

设备图片捕获和处理。

功能

  • 照片拍摄
  • 屏幕截图
  • 图片分析

4.9 Audio — 音频支持

设备音频捕获和处理。

功能

  • 录音
  • 语音转文字
  • 音频分析

配置选项

  • 自动检测:默认开启
  • 代理配置:支持标准出口代理环境变量

4.10 Talk Mode — 对话模式

连续语音对话循环。

特点

  • 实时语音交互
  • AI 回复可带语音前缀
  • 支持自定义快捷键

配置

json
{
  "nodes": {
    "talk": {
      "enabled": true,
      "voice": "default"
    }
  }
}

4.11 Voice Wake — 语音唤醒

语音唤醒词功能。

配置位置~/.openclaw/wake-words/

配置格式

json
{
  "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:越南社交平台
  • 更多...

六、实用工作流示例

示例一:每日自动化简报

bash
# 创建每日早上9点的简报任务
openclaw cron add "每日AI简报" --schedule "0 9 * * *" \
  --agent daily-briefing \
  --channel telegram

示例二:设备监控告警

javascript
// Hook: 当 Agent 检测到异常时自动拍照
{
  hooks: [{
    trigger: "on-agent-end",
    action: async (ctx) => {
      if (ctx.hasError) {
        await nodes.camera_snap({ node: "my-iphone" });
      }
    }
  }]
}

示例三:多 Agent 协作

typescript
// 主 Agent 调度子 Agent 处理不同任务
{
  subagents: [
    { id: "researcher", task: "调研主题" },
    { id: "writer", task: "撰写文章" },
    { id: "reviewer", task: "审核内容" }
  ]
}

七、总结

OpenClaw 的高级功能让 AI 助手具备了:

  1. 分布式协作 — 多 Agent 协同处理复杂任务
  2. 技能生态 — 通过 Skills 和 ClawHub 扩展能力
  3. 自动化 — Cron + Hooks 实现智能工作流
  4. 设备控制 — Nodes 让 AI 具备"感知"物理世界的能力
  5. 插件扩展 — 插件系统保证框架的可扩展性

掌握这些高级功能,你可以构建真正强大的 AI 助手工作流!