老平板用OpenClaw:在平板电脑上部署多Agent OpenClaw
为什么要用多Agent?想象一下,你的AI助手既能帮你写代码,又能帮你画画,还能帮你写文章——这就是多Agent的魅力。每个Agent各有分工,各有所长,就像一个团队里有设计师、程序员、文案一样,配合起来效率更高。
废话不多说,让我们开始吧!
一、OpenClaw的多Agent是如何协同工作的
在说怎么配置之前,我们先来聊聊多Agent到底是怎么配合干活的。这部分稍微理论一点,但理解了原理,后面的配置就简单多了。
1.1 什么是Agent
Agent(代理)是OpenClaw里的核心概念。你可以把它想象成一个有特定职责的AI员工。有的Agent擅长聊天,有的擅长画画,有的擅长写代码。默认情况下,OpenClaw onboard后只有一个叫”main”的Agent,它就像公司里的总经理,什么都能管,但也什么都不是最专精的。
每个Agent都有几个关键属性:
- id:Agent的唯一标识符,就像员工工号,比如”main”、”designer”、”coder”
- name:显示名称,可以是中文,比如”画师”、”程序员”
- workspace:工作目录,存放这个Agent的私人文件,比如SOUL.md、memory等
- model:使用的AI模型,决定了Agent的”大脑”是什么
- skills:技能列表,让Agent能完成特定任务
1.2 Agent之间的通信机制
这就是最关键的部分了——Agent之间是怎么互相配合的?
目前OpenClaw支持两种主要方式:
方式一:手动切换
这是最简单的方式。你在聊天界面输入/agent designer就能切换到画师Agent,输入/agent coder就切换到程序员Agent。就像在微信里切换不同好友聊天一样,每个Agent是独立的会话上下文。
方式二:Agent to Agent通信(推荐)
这是更高级的玩法。在配置文件里启用agentToAgent功能后,main Agent就可以”召唤”其他Agent来帮忙。比如用户说”帮我画一张图”,main收到后可以自动调用sessions_send工具,把任务发给designer,designer处理完后再把结果返回给main,最后main把整合后的答案给用户。
启用方式很简单,在配置文件最外层加:
"tools": {
"agentToAgent": {
"enabled": true,
"allow": ["main", "designer", "coder", "writer"]
}
}
这样main就可以在需要的时候调用designer、coder、writer这些Agent了。
1.3 任务分发流程
当用户给main发送一个任务时,整个流程是这样的:
- 接收任务:main收到用户的请求
- 意图识别:main分析用户想要什么——是聊天?画画?写代码?还是写文章?
- 选择Agent:根据意图判断应该交给哪个专门的Agent处理
- 分发任务:通过agentToAgent工具把任务发出去
- 等待结果:等待专门的Agent完成任务
- 汇总输出:把结果整合后返回给用户
这就是典型的”中央协调”模式,main就像公司前台,有人来了先问清楚要干嘛,然后转交给对应部门。
二、Skill与Agent之间的关系
如果说Agent是员工,那Skill就是员工的工具包。一个员工光有脑子不够,还得有合适的工具才能干活。
2.1 什么是Skill
Skill(技能)是OpenClaw的扩展机制,让Agent能完成各种具体任务。比如:
- x-twitter:让Agent能发Twitter/X帖子
- flux-image:让Agent能生成和处理图片
- git-master:让Agent能操作Git版本控制
- dev-browser:让Agent能控制浏览器做开发相关的事
- writing:让Agent能写高质量的文档
每个Skill实际上就是一个小的功能模块,包含详细的使用说明(SKILL.md文件)和实现代码。OpenClaw的Skill市场叫ClawHub,里面有几千个社区贡献的Skill,涵盖方方面面。
2.2 如何给Agent分配Skill
这个在配置文件里就能直接写。比如我们要配置:
- main:主Agent,分配x-twitter技能
- designer:画师,分配flux-image技能
- coder:程序员,分配git-master和dev-browser技能
- writer:写手,分配writing技能
在agents.list里这样写:
"list": [
{
"id": "main",
"name": "Main Agent",
"workspace": "/root/.openclaw/workspace",
"model": {
"primary": "custom-api-siliconflow-cn/zai-org/GLM-4.6V"
},
"skills": ["x-twitter"]
},
{
"id": "designer",
"name": "画师",
"workspace": "/root/.openclaw/designer-workspace",
"model": {
"primary": "custom-api-siliconflow-cn/black-forest-labs/FLUX.1-dev"
},
"skills": ["flux-image"]
},
{
"id": "coder",
"name": "程序员",
"workspace": "/root/.openclaw/coder-workspace",
"model": {
"primary": "mooshotai/Kimi-K2-Thinking"
},
"skills": ["git-master", "dev-browser"]
},
{
"id": "writer",
"name": "写手",
"workspace": "/root/.openclaw/writer-workspace",
"model": {
"primary": "deepseek-ai/DeepSeek-V3.2"
},
"skills": ["writing"]
}
]
看,每个Agent都有自己专属的技能组合,就像不同岗位配不同的工具一样。
2.3 Skill的工作原理
当你给某个Agent分配了一个Skill后,Agent在思考”要不要用这个工具”的时候,会自动读取Skill的说明文件(SKILL.md)。这个文件告诉Agent:
- 这个Skill叫什么,能干什么
- 什么时候应该用这个Skill
- 怎么调用,使用例子
- 有没有危险操作需要确认
比如flux-image Skill的说明可能类似这样:
你是图片生成专家。当用户要求生成图片、编辑图片、修改图片时,使用这个技能。
支持的风格:写实、卡通、赛博朋克、水彩...
使用方式:调用flux_generate工具,传入prompt描述。
Agent会根据这些说明决定是否使用这个技能。
三、Agent、Skill与Model之间的关系
这个三角关系很重要,理解清楚了才能正确配置你的多Agent系统。
3.1 Model是什么
Model(模型)是AI的”大脑”,决定了Agent有多聪明、擅长什么类型的任务。目前主流的模型分为几类:
- 文本生成模型:如GLM-4.6V、DeepSeek-V3.2、Gemini,适合聊天、写作、编程
- 图像生成模型:如FLUX.1-dev,适合画图
- 推理模型:如Kimi-K2-Thinking,适合复杂逻辑推理
每个模型有不同的特点:
- 有的便宜但慢
- 有的贵但快
- 有的适合写代码
- 有的适合写文章
3.2 Agent应该用什么Model
这是一个常见的困惑。我的建议是:
- **main(主Agent)**:用一个均衡的文本模型,如GLM-4.6V,便宜好用
- **designer(画师)**:必须用图像生成模型,如FLUX.1-dev
- **coder(程序员)**:推荐用推理能力强的模型,如Kimi-K2-Thinking,编程需要逻辑思维
- **writer(写手)**:推荐用长文本处理能力强的模型,如DeepSeek-V3.2
在配置文件里这样指定:
"model": {
"primary": "custom-api-siliconflow-cn/zai-org/GLM-4.6V"
}
如果想更保险,还可以加fallback(备用):
"model": {
"primary": "custom-api-siliconflow-cn/zai-org/GLM-4.6V",
"fallbacks": ["google/gemini-2.5-flash", "deepseek-ai/DeepSeek-V3.2"]
}
这样如果第一个模型不可用,会自动尝试备用的。
3.3 Skill和Model的搭配原则
Skill和Model需要搭配得当,才能发挥最大效果:
| Agent | 推荐Model | 推荐Skills | 原因 |
|---|---|---|---|
| main | 通用文本模型 | x-twitter | 主打沟通协调 |
| designer | 图像生成模型 | flux-image | 专门画画 |
| coder | 推理模型 | git-master, dev-browser | 编程需要强逻辑 |
| writer | 长文本模型 | writing | 写作需要上下文理解 |
记住一个原则:让专业的人干专业的事。画图就用专门的图像模型,写代码就用推理强的模型。
四、onboard简单配置后的初始状况
说了这么多理论,让我们看看实际跑完onboard后,系统是什么样子。
4.1 运行onboard
在平板的Linux环境(iPad用iSH或安卓用Termux)里运行:
openclaw onboard
它会问你几个基本问题:
- 选择语言(选中文或英文)
- 选择初始模型(通常选一个免费的或你已有的API Key对应的模型)
- 设置工作目录
- 配置第一个渠道(飞书、Telegram、Web UI等)
完成后,你的配置文件大概是这样:
{
"models": {
"mode": "merge",
"providers": {
"google": {
"apiKey": "${GEMINI_API_KEY}"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "google/gemini-2.5-flash"
},
"workspace": "/root/.openclaw/workspace"
},
"list": [
{
"id": "main",
"default": true,
"name": "Main Agent",
"workspace": "/root/.openclaw/workspace",
"model": {
"primary": "google/gemini-2.5-flash"
}
}
]
},
"channels": {
"feishu": {
"enabled": true,
"appId": "${FEISHU_APP_ID}",
"appSecret": "${FEISHU_APP_SECRET}"
}
},
"gateway": {
"port": 18789,
"mode": "local"
}
}
4.2 初始状态的特点
这时候系统是这样的:
- 只有一个Agent:叫main,就是你的默认助手
- 只有一个Model:通常是Google Gemini或其他你选择的模型
- 没有额外Skills:只有内置的基本能力
- 一个渠道:你配置的飞书、Telegram或Web UI
这个初始状态够用,但功能有限。要让它真正强大,我们需要添加更多供应商、模型、Agent和Skills。
4.3 启动服务
onboard完成后,启动gateway就能用了:
openclaw gateway start
然后打开浏览器访问http://localhost:18789(或你的平板IP地址:18789),就能看到Web UI界面了。
五、如何添加新的Agent
现在我们要开始扩展了!首先添加新的Agent。
5.1 添加Agent的基本步骤
打开配置文件(用nano或你喜欢的编辑器):
nano ~/.openclaw/openclaw.json
# 或 root用户
nano /root/.openclaw/openclaw.json
找到agents.list部分,在里面添加新Agent。记住每个Agent对象需要:
- id:唯一标识,小写英文
- name:显示名称,可以用中文
- workspace:独立工作目录(建议新建)
- model.primary:指定使用的模型
比如添加coder(程序员):
{
"id": "coder",
"name": "程序员",
"workspace": "/root/.openclaw/coder-workspace",
"model": {
"primary": "mooshotai/Kimi-K2-Thinking"
},
"skills": ["git-master", "dev-browser"]
}
添加writer(写手):
{
"id": "writer",
"name": "写手",
"workspace": "/root/.openclaw/writer-workspace",
"model": {
"primary": "deepseek-ai/DeepSeek-V3.2"
},
"skills": ["writing"]
}
5.2 创建对应的工作目录
每个Agent需要自己的工作目录,不然会文件混乱。在终端创建:
mkdir -p /root/.openclaw/designer-workspace
mkdir -p /root/.openclaw/coder-workspace
mkdir -p /root/.openclaw/writer-workspace
5.3 切换Agent的方法
配置完成后保存,重启gateway:
openclaw gateway restart
切换Agent超简单,在聊天界面输入:
/agent coder # 切换到程序员
/agent writer # 切换到写手
/agent designer # 切换到画师
/agent main # 切回主Agent
或者查看当前Agent:
/agent list
六、如何新增不同供应商以及模型
现在我们要让系统能使用更多的AI模型。
6.1 添加模型供应商
在配置文件里找到models.providers部分,添加新的供应商。比如添加SiliconFlow:
"providers": {
"custom-api-siliconflow-cn": {
"baseUrl": "https://api.siliconflow.cn/v1",
"apiKey": "${SILICONFLOW_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "zai-org/GLM-4.6V",
"name": "GLM-4.6V (文本模型)",
"contextWindow": 123000,
"maxTokens": 32000
},
{
"id": "black-forest-labs/FLUX.1-dev",
"name": "FLUX.1-dev (图像生成)",
"reasoning": false
},
{
"id": "deepseek-ai/DeepSeek-V3.2",
"name": "DeepSeek V3.2"
},
{
"id": "mooshotai/Kimi-K2-Thinking",
"name": "Kimi K2 Thinking"
}
]
}
}
参数解释:
- baseUrl:供应商的API地址
- apiKey:用环境变量引用,安全
- api:通常用”openai-completions”
- models:模型列表
- contextWindow:上下文窗口大小
- maxTokens:最大输出token数
6.2 添加模型别名
为了让聊天时方便切换,我们给模型起别名。在agents.defaults.models里加:
"agents": {
"defaults": {
"models": {
"custom-api-siliconflow-cn/zai-org/GLM-4.6V": {
"alias": "GLM-4.6V"
},
"custom-api-siliconflow-cn/black-forest-labs/FLUX.1-dev": {
"alias": "flux1"
},
"deepseek-ai/DeepSeek-V3.2": {
"alias": "Deepseekv3"
},
"mooshotai/Kimi-K2-Thinking": {
"alias": "kimik2"
}
}
}
}
6.3 设置环境变量
API Key不能明文写在配置文件里,要用环境变量。在终端设置:
export SILICONFLOW_API_KEY="sk-你的密钥"
export GEMINI_API_KEY="你的Gemini密钥"
为了每次打开终端都能用,加到.bashrc里:
nano ~/.bashrc
# 加到最后
export SILICONFLOW_API_KEY="sk-你的密钥"
# 保存后运行
source ~/.bashrc
6.4 验证配置
改完保存后,重启gateway:
openclaw gateway restart
查看可用模型:
/model list
应该能看到你添加的所有模型了。切换模型:
/model flux1 # 切换到图像模型
/model GLM-4.6V # 切换到文本模型
七、如何通过ClawHub部署新的Skill
现在我们要给Agent添加各种酷炫的技能!
7.1 ClawHub是什么
ClawHub是OpenClaw的技能市场,里面有几千个社区贡献的Skill。你可以把它想象成手机的应用商店——只不过这里卖的是AI技能。
常见好用的Skill包括:
- x-twitter:发Twitter/X帖子
- flux-image:AI画图
- git-master:Git版本控制
- dev-browser:浏览器自动化
- writing:专业写作
- weather:查天气
- gmail:邮件管理
7.2 安装ClawHub CLI
首先安装ClawHub命令行工具:
# 方式1:用npx临时运行(推荐)
npx clawhub@latest --version
# 方式2:全局安装
npm install -g clawhub@latest
7.3 搜索Skill
两种方式:
方式1:网页搜索
打开浏览器访问https://clawhub.ai/,搜索想要的Skill。
方式2:命令行搜索
clawhub search "twitter"
clawhub search "flux"
clawhub search "weather"
会返回Skill的slug(唯一标识),比如”x-twitter”、”flux-image”。
7.4 安装Skill
找到想装的Skill后,运行安装命令:
# 普通安装
clawhub install x-twitter
clawhub install flux-image
clawhub install git-master
# 或者用npx
npx clawhub@latest install x-twitter
安装后,Skill会放到:
- 当前目录的./skills/
- 或~/.openclaw/workspace/skills/
7.5 配置Skill
有些Skill需要额外配置(API Key等)。在配置文件里加:
"skills": {
"entries": {
"x-twitter": {
"enabled": true,
"config": {
"apiKey": "${TWITTER_API_KEY}"
}
}
}
}
7.6 让Agent使用Skill
在agents.list里给对应Agent加上skills字段:
"skills": ["x-twitter"]
多个Skill用逗号分隔:
"skills": ["git-master", "dev-browser"]
7.7 验证Skill
重启gateway:
openclaw gateway restart
在聊天界面测试:
/skills # 查看当前Agent的技能
或者直接让Agent使用技能,比如对有flux-image的Agent说”帮我画一只猫”。
八、如何配置以及编写SOUL.md文件实现专业的Agent
这是最关键的部分!SOUL.md文件定义了Agent的灵魂——它的性格、职责、行为方式。
8.1 什么是SOUL.md
SOUL.md是OpenClaw Agent的核心配置文件,每个Agent的workspace目录里都应该有一个。它告诉Agent:
- 它是谁(身份)
- 它的性格是什么
- 它擅长什么
- 它有什么规则和限制
你可以把SOUL.md想象成Agent的”性格说明书”。
8.2 SOUL.md的基本结构
一个完整的SOUL.md大概长这样:
# Agent名称 - 角色描述
## Identity
你是谁,你的角色定位
## Personality
你的性格特点、沟通风格
## Expertise
你擅长什么领域
## 任务流程
你处理任务的典型步骤
## Rules
你的行为规则和限制
8.3 Main Agent的SOUL.md示例
# Main Agent - 任务分发中心
## Identity
你是任务分发中心(Main Agent),是用户与各专业Agent之间的协调者。
## Personality
- 主动积极,善于理解用户意图
- 逻辑清晰,决策果断
- 沟通简洁明了
## Expertise
- 意图识别与任务分类
- Agent能力映射与任务分发
- 进度追踪与结果汇总
## Agent能力映射
- designer: 图像生成、设计创作 (skill: flux-image)
- coder: 代码开发、调试、重构 (skill: git-master, dev-browser)
- writer: 文档撰写、内容创作 (skill: writing)
## 任务流程
1. 解析用户任务 → 识别意图
2. 判断所需Agent → 分发任务
3. 追踪执行进度 → 定期询问状态
4. 汇总结果 → 格式化输出
## Rules
- 使用session_memory记录任务上下文和进度
- 只在必要时调用子Agent,避免过度分发
- 返回结果时清晰标注来源Agent
8.4 Coder Agent的SOUL.md示例
# Coder Agent - 程序员
## Identity
你是程序员(Coder Agent),专注于代码开发、调试和重构。
## Personality
- 严谨细致,追求代码质量
- 善于分析问题根源
- 注重代码可维护性
## Expertise
- 代码开发:实现功能、修复bug
- 代码审查:检查代码质量
- 调试排错:定位和解决问题
- 重构优化:改善代码结构
## Skills
- git-master: 代码版本管理
- dev-browser: 浏览器相关开发验证
## Rules
- 遇到问题时使用git-master进行版本管理
- 使用dev-browser进行浏览器相关开发验证
- 保持代码风格一致性
- 编写必要的注释和文档
8.5 Writer Agent的SOUL.md示例
# Writer Agent - 写手
## Identity
你是写手(Writer Agent),专注于文档撰写和内容创作。
## Personality
- 文笔流畅,表达清晰
- 结构严谨,逻辑性强
- 注重格式规范
## Expertise
- 文档撰写:技术文档、报告
- 内容创作:文章、说明
- 格式优化:排版和结构
## Skills
- writing: 专业文档写作
## Rules
- 根据用户需求创作高质量的技术文档或内容
- 注意格式规范和结构清晰
- 使用适当的语言风格
- 确保内容准确无误
8.6 部署SOUL.md
把写好的SOUL.md放到对应Agent的workspace目录:
- main的SOUL.md → /root/.openclaw/workspace/SOUL.md
- designer的SOUL.md → /root/.openclaw/designer-workspace/SOUL.md
- coder的SOUL.md → /root/.openclaw/coder-workspace/SOUL.md
- writer的SOUL.md → /root/.openclaw/writer-workspace/SOUL.md
创建文件:
nano /root/.openclaw/workspace/SOUL.md
# 粘贴内容,保存退出
8.7 SOUL.md的最佳实践
写SOUL.md时注意以下几点:
1. 身份要明确
清楚地告诉Agent它是谁,扮演什么角色。不要太笼统。
2. 职责要具体
明确列出Agent应该做什么,不应该做什么。
3. 规则要清晰
设置一些行为边界,防止Agent做出出格的事。
4. 技能要匹配
SOUL.md里提到的技能,必须在配置文件里也配上。
5. 语言要简洁
用清晰的指令性语言,避免歧义。
九、平板部署特别注意事项
最后说说在平板上部署的特别事项。
9.1 推荐环境
- iPad:使用iSH(A Linux shell for iOS)或通过SSH连接到服务器
- 安卓平板:使用Termux(Linux终端模拟器)
9.2 性能考虑
平板资源有限,注意:
- 选择轻量级模型(如GLM-4.6V而不是更大的模型)
- 少装不必要的Skill
- 适时关闭不用的Agent
9.3 网络要求
OpenClaw需要稳定的网络连接来调用AI API。建议:
- 使用梯子(如果需要)
- 考虑本地部署模型(如果网络不稳定)
9.4 外接设备
如果要在平板上长时间使用,建议:
- 外接蓝牙键盘(提高输入效率)
- 外接鼠标(方便操作Web UI)
- 使用远程桌面方式连接到性能更好的服务器
十、总结
好了,今天的教程就到这里!我们聊了非常多内容:
- 多Agent协同:main作为协调者,其他专业Agent各司其职
- Skill与Agent关系:Skill是Agent的工具包,按需分配
- Agent、Skill、Model三角:专业Agent配专业Model和专业Skill
- onboard初始状态:只有一个main Agent,简单但功能有限
- 添加新Agent:修改配置文件,分配workspace和skills
- 添加供应商和模型:在providers里加配置,models里加模型
- ClawHub安装Skill:搜索、安装、配置、分配
- SOUL.md编写:定义Agent的灵魂——身份、性格、职责、规则
这样一套配置下来,你的OpenClaw系统就变成了一个分工明确的多Agent团队:main负责协调调度,designer专门画画,coder专门写代码,writer专门写文档。效率拉满!
如果在配置过程中遇到任何问题,随时来问我。祝你玩得开心!
本文基于OpenClaw 2026.2.26+版本编写,部分功能可能随版本更新而变化。