OpenClaw 自定义技能开发:打造专属 AI 助手
OpenClaw 不仅仅是一个 AI 助手,它还是一个高度可定制的平台。本文将介绍如何通过多 Agent 路由、工作流、语音功能等高级功能,打造属于你自己的个性化 AI 助手。
多 Agent 路由
OpenClaw 支持运行多个 AI Agent,每个 Agent 可以有不同的配置、工具和工作区。你可以根据不同的渠道或任务类型将对话路由到不同的 Agent。
为什么使用多 Agent?
- 功能隔离:不同 Agent 专注不同任务
- 权限分离:不同 Agent 有不同的工具权限
- 模型独立:不同 Agent 可以使用不同的模型
- 数据隔离:每个 Agent 有独立的工作区
配置多 Agent
编辑 openclaw.json:
{
"agents": {
"list": [
{
"id": "default",
"name": "Default Assistant",
"description": "通用助手,用于日常问答",
"model": "openai/gpt-4o",
"tools": {
"profile": "full"
}
},
{
"id": "coder",
"name": "Code Assistant",
"description": "编程助手,专注于代码相关任务",
"model": "openai/gpt-4o",
"tools": {
"profile": "coding",
"deny": ["group:runtime"]
}
},
{
"id": "messenger",
"name": "Message Bot",
"description": "消息机器人,仅处理消息发送",
"model": "openai/gpt-3.5-turbo",
"tools": {
"profile": "messaging",
"allow": ["slack", "discord"]
}
}
],
"routing": {
"default": "default",
"routes": [
{
"channel": "discord",
"channelPattern": "^dev-",
"agent": "coder"
},
{
"channel": "slack",
"channelPattern": "^announce-",
"agent": "messenger"
}
]
}
}
}
路由规则
OpenClaw 根据以下规则路由到不同的 Agent:
- 渠道匹配:根据聊天平台类型
- 频道模式:根据频道名称正则匹配
- 用户匹配:根据用户 ID 或用户名
- 默认路由:未匹配时的默认 Agent
语音功能
OpenClaw 支持语音唤醒和对话模式,让你的 AI 助手可以听和说。
语音唤醒(Voice Wake)
在 macOS/iOS 上支持语音唤醒,使用唤醒词激活助手:
{
"nodes": {
"voicewake": {
"enabled": true,
"wakeWord": "Hey Claw"
}
}
}
对话模式(Talk Mode)
启用语音输入和输出:
{
"nodes": {
"talk": {
"enabled": true,
"ttsProvider": "openai"
}
}
}
支持的语音服务:
- OpenAI TTS:高质量文本转语音
- Google TTS:Google 文本转语音服务
- 本地 TTS:使用本地 TTS 引擎
定时任务(Cron)
使用 Cron 工具创建定时任务:
配置定时任务
编辑配置文件:
{
"automation": {
"cron": [
{
"name": "daily-summary",
"schedule": "0 9 * * *",
"enabled": true,
"agent": "default",
"message": "生成今天的日程摘要"
},
{
"name": "backup-check",
"schedule": "0 2 * * 0",
"enabled": true,
"agent": "coder",
"message": "检查备份状态并报告"
}
]
}
}
Cron 表达式格式
| 字段 | 取值范围 | 说明 |
|---|---|---|
| 分钟 | 0-59 | 每小时的第几分钟 |
| 小时 | 0-23 | 每天的第几小时 |
| 日 | 1-31 | 每月的第几天 |
| 月 | 1-12 | 每年的第几个月 |
| 星期 | 0-6 | 每周的第几天(0=周日) |
工作流自动化
使用 Lobster 工作流运行时创建复杂的工作流:
安装 Lobster CLI
$ npm install -g @openclaw/lobster
创建工作流
在工作流中,Agent 可以执行多个步骤,每个步骤都可以请求批准:
name: deploy-website
description: 部署网站到生产环境
steps:
- name: build
agent: coder
message: "编译项目"
- name: test
agent: coder
message: "运行测试"
requiresApproval: true
- name: deploy
agent: coder
message: "部署到生产环境"
requiresApproval: true
模型故障转移
配置多个模型提供商,当主提供商失败时自动切换:
{
"models": {
"failover": {
"enabled": true,
"providers": [
{
"provider": "openai",
"model": "gpt-4o",
"priority": 1
},
{
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022",
"priority": 2
},
{
"provider": "google",
"model": "gemini-1.5-pro",
"priority": 3
}
]
}
}
}
插件开发
你可以开发自己的插件来扩展 OpenClaw 的功能:
插件可以做什么?
- 注册新工具:添加自定义工具供 Agent 使用
- 注册 CLI 命令:添加自定义命令行命令
- 注册渠道:添加新的聊天平台支持
- 注册技能:添加自定义技能
插件模板
创建一个简单的插件:
import { Plugin } from '@openclaw/sdk';
export class MyPlugin implements Plugin {
name = 'my-plugin';
version = '1.0.0';
async onLoad(api) {
// 注册工具
api.registerTool({
name: 'my-tool',
execute: async (params) => {
return { success: true, result: 'Hello from my tool!' };
}
});
// 注册命令
api.registerCommand({
name: 'hello',
handler: async () => {
console.log('Hello from my plugin!');
}
});
}
async onUnload() {
// 清理资源
}
}
安全最佳实践
DM 配对策略
对于陌生私信,使用配对模式:
{
"channels": {
"telegram": {
"dmPolicy": "pairing"
}
}
}
工具权限控制
严格限制危险工具的使用:
{
"tools": {
"deny": ["group:runtime"],
"allow": ["group:fs", "group:web"]
}
}
敏感操作审批
启用敏感操作审批:
{
"tools": {
"exec": {
"security": "ask"
}
}
}
监控和诊断
日志查看
# 查看网关日志
$ openclaw gateway logs
# 查看特定 Agent 日志
$ openclaw agent logs --agent coder
健康检查
# 运行诊断工具
$ openclaw doctor
性能监控
OpenClaw 提供了丰富的指标,可以集成到监控系统:
- 请求延迟
- Token 使用量
- 工具调用次数
- 错误率
高级配置示例
一个完整的配置示例:
{
"gateway": {
"port": 18789,
"host": "0.0.0.0"
},
"models": {
"default": "openai/gpt-4o",
"failover": {
"enabled": true,
"providers": [
{ "provider": "openai", "model": "gpt-4o" },
{ "provider": "anthropic", "model": "claude-3-5-sonnet-20241022" }
]
}
},
"agents": {
"list": [
{
"id": "default",
"model": "openai/gpt-4o",
"tools": { "profile": "full" }
},
{
"id": "coder",
"model": "openai/gpt-4o",
"tools": { "profile": "coding" }
}
]
},
"tools": {
"loopDetection": { "enabled": true }
},
"channels": {
"telegram": {
"token": "YOUR_TOKEN",
"dmPolicy": "pairing"
}
},
"automation": {
"cron": [
{
"name": "daily-summary",
"schedule": "0 9 * * *",
"message": "生成今日摘要"
}
]
}
}
总结
OpenClaw 是一个强大且灵活的个人 AI 助手平台。通过多 Agent 路由、工作流、语音功能、定时任务和插件开发,你可以打造完全符合自己需求的个性化 AI 助手。
希望这个教程系列能帮助你快速上手 OpenClaw!
系列文章汇总
- OpenClaw 入门完全指南:你的个人 AI 助手
- OpenClaw 安装与部署完整指南
- OpenClaw 平台插件配置:连接 20+ 聊天平台
- OpenClaw 工具插件使用:让你的 AI 助手无所不能
- OpenClaw 自定义技能开发:打造专属 AI 助手(本文)
相关资源
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







