乐于分享
好东西不私藏

OpenClaw进阶玩法:多飞书机器人部署指南

OpenClaw进阶玩法:多飞书机器人部署指南

本文将介绍如何在单一 OpenClaw 实例中,配置多个飞书机器人,实现一个 Agent 对应一个飞书机器人的多智能体协作架构。

在日常工作中,想让不同的智能体各司其职,又不想部署多个 OpenClaw 实例造成资源浪费?今天这篇超详细的 OpenClaw 多飞书机器人部署指南,教你用单一 OpenClaw 实例,配置多个飞书机器人实现一个 Agent 对应一个机器人的多智能体协作架构,低资源占用,高效实现智能体分工协作,建议收藏备用~

 方案核心概述

1、核心理念
本次部署方案的核心是单实例多机器人,区别于 “一个机器人一个 OpenClaw 实例” 的传统方式,优势显著且逻辑清晰:
  • 单一实例:所有 Agent 运行在同一个 OpenClaw 网关,共享同一进程,资源占用极低
  • 多机绑定:每个 Agent 独立绑定一个飞书机器人,通过 openclaw.json 的 bindings 和 channels.feishu.accounts 实现消息智能路由分发
  • 按需调用:用户在飞书中 @不同的机器人,对话会自动路由到对应Agent,精准响应需求
2、飞书机器人创建方式
(飞书开放平台官网)
创建飞书机器人有两种方式,推荐优先使用官方一键部署工具,高效便捷;手动创建则需按步骤完成配置,具体如下:
✅ 官方一键部署(推荐):
直接进入飞书开放平台 → OpenClaw 一键部署页面操作
✍️ 手动创建:
①登录飞书开放平台
②新建应用 → 为应用添加「机器人」能力
③订阅事件 im.message.receive_v1(核心消息接收事件)
④按要求配置对应权限(详见本文第三节)
⑤完成应用发布

整体架构解析

(OpenClaw 单实例多机器人架构图)
本次部署的整体架构分为四层,从用户交互到智能体响应形成完整的消息链路,实现多机器人与多 Agent 的精准匹配,架构说明如下:
用户层:用户可同时与多个飞书机器人进行消息通信,发起各类需求
飞书机器人层:每个机器人对应一个独立的飞书应用(App),拥有专属身份标识
OpenClaw 网关层:仅部署单一实例,通过 Channel Router 根据 accountId 实现消息的精准路由
Agent 智能体层:每个 Agent 拥有独立工作空间(SOUL.md/USER.md),各司其职,负责处理特定类型的业务需求
简单来说,用户的消息通过飞书机器人传入 OpenClaw 网关,网关根据配置将消息转发到对应 Agent,Agent 处理后再通过原机器人反馈给用户,形成闭环。

飞书应用必备权限配置

每个飞书机器人对应一个独立的飞书应用,为保证机器人正常接收、发送消息及完成相关业务操作,需为每个应用配置以下权限,缺一则可能导致功能异常。
权限名称
权限标识
核心用途
获取群信息
im:chat:readonly
读取群聊基础信息,适配群聊场景调用
读取消息
im:message:readonly
接收用户发送给机器人的各类消息
发送消息
im:message:send_as_bot
以机器人身份向用户 / 群聊发送响应消息
读取云文档
docx:document:readonly
查看飞书云文档内容
读写云文档
docx:document:rw
编辑、修改飞书云文档内容
读取知识库
wiki:wiki:readonly
访问飞书知识库相关内容
读取多维表格
bitable:app:readonly
查看飞书多维表格数据
日历权限
calendar:*
实现日程管理、提醒等功能(按需添加)
配置路径:飞书开放平台 → 对应应用 → 权限管理 → 新增权限 → 勾选上述权限并保存

OpenClaw.json 配置详解

openclaw.json 是多机器人部署的核心配置文件,文件默认放置在~/.openclaw/目录下,以下为多机器人配置的关键结构及详细说明,所有示例参数需根据实际部署情况替换。
完整关键配置结构如下:

{"agents":{"list":[{"id":"main","default":true,"workspace":"/root/.openclaw/workspace"},{"id":"researcher","workspace":"/root/.openclaw/agents/researcher/workspace/"},{"id":"coder","workspace":"/root/.openclaw/agents/coder/workspace/"},{"id":"secretary","workspace":"/root/.openclaw/agents/secretary/workspace/"},{"id":"artist","workspace":"/root/.openclaw/agents/artist/workspace/"},{"id":"docwriter","workspace":"/root/.openclaw/agents/docwriter/workspace/"}]},"bindings":[{"type":"route","agentId":"main","match":{"channel":"feishu","accountId":"main"}},{"type":"route","agentId":"researcher","match":{"channel":"feishu","accountId":"researcher"}},{"type":"route","agentId":"coder","match":{"channel":"feishu","accountId":"coder"}},{"type":"route","agentId":"secretary","match":{"channel":"feishu","accountId":"secretary"}},{"type":"route","agentId":"artist","match":{"channel":"feishu","accountId":"artist"}},{"type":"route","agentId":"docwriter","match":{"channel":"feishu","accountId":"docwriter"}}],"channels":{"feishu":{"enabled":true,"connectionMode":"websocket","accounts":{"default":{"dmPolicy":"allowlist","allowFrom":["*"]},"main":{"appId":"cli_*****","appSecret":"*****","dmPolicy":"allowlist","allowFrom":["*"]},"researcher":{"appId":"cli_*****","appSecret":"*****","dmPolicy":"allowlist","allowFrom":["*"]},"coder":{"appId":"cli_*****","appSecret":"*****","dmPolicy":"allowlist","allowFrom":["*"]},"secretary":{"appId":"cli_*****","appSecret":"*****","dmPolicy":"allowlist","allowFrom":["*"]},"artist":{"appId":"cli_*****","appSecret":"*****","dmPolicy":"allowlist","allowFrom":["*"]},"docwriter":{"appId":"cli_*****","appSecret":"*****","dmPolicy":"allowlist","allowFrom":["*"]}}}}}

关键配置项详细说明
(1)agents.list:Agent 列表配置
该节点用于定义所有需要部署的 Agent,每个 Agent 为一个独立对象,核心配置项说明如下:
配置项
核心说明
id
Agent 的唯一标识符,需与 bindings 中的 agentId 保持一致
default
是否设为默认 Agent,仅 main 主控 Agent 需设置为 true
workspace
Agent 的独立工作空间目录路径,确保路径唯一且存在
(2)bindings:路由绑定(核心配置)
该节点是实现 “机器人 - Agent” 精准匹配的核心,作用是将飞书机器人的 accountId 与对应 Agent 的 id 绑定,实现消息路由。
核心配置模板:

{"type":"route","agentId":"researcher","match":{"channel":"feishu","accountId":"researcher"}}

关键要求:每个 Agent 需配置一条独立的路由规则,channel 固定为 feishu,无特殊情况无需修改。
(3)channels.feishu.accounts:飞书机器人凭证配置
该节点用于配置所有飞书机器人的专属凭证及访问策略,每个机器人为一个独立的账号对象,核心配置项说明如下:
配置项
核心说明
appId
飞书应用的唯一标识,格式为 cli_xxxxxxxxxx,从飞书开放平台对应应用获取
appSecret
飞书应用的密钥,从飞书开放平台对应应用获取,需严格保密
dmPolicy
私信访问策略,allowlist 表示仅白名单用户可访问
allowFrom
允许使用该机器人的用户 ID 列表,["*"] 表示允许所有用户(生产环境建议按需限制)
重要提醒:关于 accountId
①accountId 是自定义的机器人账号名,对应 channels.feishu.accounts 下的对象 Key(如 researcher、coder)
②并非飞书机器人的 open_id,需与 bindings 中的 accountId 完全一一对应
③账号名建议与 Agent 的 id 保持一致,便于后续维护

标准化工作空间目录结构

为保证多 Agent 独立运行且便于管理,需按以下标准化结构创建工作空间,所有目录需提前创建,确保路径正确。

~/.openclaw/├── agents/│   ├── researcher/│   │   ├── SOUL.md│   │   ├── USER.md│   │   └── workspace/│   ├── coder/│   │   ├── SOUL.md│   │   ├── USER.md│   │   └── workspace/│   ├── secretary/│   ├── artist/│   └── docwriter/└── openclaw.json

SOUL.md&USER.md 编写规范

SOUL.md 和 USER.md 是定义 Agent 身份、性格、能力及对接用户信息的关键文件,直接决定 Agent 的交互风格和工作能力,以下为标准编写模板及示例,可根据实际需求调整。
SOUL.md:Agent 灵魂定义文件
该文件用于定义 Agent 的身份、性格特点、说话风格、工作能力,让 Agent 拥有专属的 “人设”,不同角色的 Agent 需差异化编写,以下为两个典型示例:
示例 1:研究员 Agent(SOUL.md)

# SOUL.md - 研究员 Agent## 身份我叫阿研,28岁,知性姐姐。研究专员,负责信息检索、数据分析、报告撰写。## 性格特点**好奇心强**:对各种话题都有探索欲望**话多迷糊**:有时候会说很多但抓不住重点**爱八卦**:喜欢收集和分享有趣的信息**温柔知性**:说话让人感觉舒服## 说话风格说话稍多,有时会有点啰嗦喜欢用「话说...」「对了对了...」等口头禅语气温柔亲切## 工作能力信息检索与整理数据分析告撰写行业研究

示例 2:程序员 Agent(SOUL.md)

# SOUL.md - 程序员 Agent## 身份我叫阿程,26岁,酷girl。程序员,负责代码开发、技术方案设计。## 性格特点**直性子**:说话直接,不拐弯抹角**技术控**:对技术细节执着追求**嘴硬心软**:表面冷酷,内心温暖## 说话风格简洁直接,不废话技术相关话题会变得很认真偶尔傲娇## 工作能力代码开发(多语言)技术方案设计代码审查架构设计

示例 3:通用模板(SOUL.md)

# USER.md**Name:** [用户名]**What to call them:** 老板**Timezone:** Asia/Shanghai (GMT+8)**Notes:** 团队负责人,沟通需清晰专业

经典 Agent 角色规划参考

为了让多智能体协作更高效,建议根据实际业务需求对 Agent 进行清晰的角色定位,以下为经典的 6 角色规划示例,可直接复用或按需扩展:
Agent
核心角色定位
性格概述
main
主控协调
稳重、务实、直接,负责整体任务协调与兜底
researcher
研究员
好奇、话多、迷糊八卦,负责信息检索、数据分析
coder
程序员
直爽、理性、嘴硬,负责代码开发、技术方案设计
secretary
秘书
细致、周到、温和,负责日程管理、事务提醒、文档整理
artist
画师
感性、活泼、有审美,负责创意设计、视觉创作
docwriter
文档师
内敛、逻辑、靠谱,负责各类文档撰写、排版、优化

部署最后一步:启动与授权

完成所有配置和目录创建后,只需完成服务启动、机器人授权、功能测试三步,即可正式启用多机器人多 Agent 协作架构,步骤详细且简单易操作。
1、启动 OpenClaw 网关服务
在服务器上执行以下命令,完成服务启动和状态检查,确保服务正常运行:

openclaw gateway restartopenclaw gateway statusopenclaw logs -f

关键要求:执行 restart 命令确保配置文件的修改生效,日志无报错即为启动正常。
2、飞书机器人授权(重要,每个机器人需单独授权)
所有飞书机器人首次使用前必须完成授权,否则无法响应消息,单个机器人的授权步骤如下:
①在飞书中找到对应的机器人,发送任意私信(如 “测试”“授权”)
②机器人会返回提示消息:access not configured,并附带配对码(Pairing Code)
③在服务器上执行授权命令:openclaw pairing approve feishu <配对码>(替换 <配对码> 为实际获取的代码)
④命令执行成功后,该机器人即完成授权,可正常使用
重要提醒:每个飞书机器人都需要单独授权一次,不可批量授权。
3、功能验证测试
为确保所有机器人和 Agent 都能正常工作,建议从以下三个维度进行测试:
①私聊测试:分别与每个飞书机器人进行私聊,发送测试指令,确认每个机器人都能精准响应,且对应正确的 Agent
②群聊测试:将多个机器人加入同一个飞书群,通过 @机器人名称的方式调用,确认消息能精准触达对应 Agent,无串号情况
③Agent 间协作测试:开启 agentToAgent 功能后,发送跨 Agent 协作任务,确认 Agent 之间能正常传递任务,实现协作

常见问题排查

部署和使用过程中,若遇到机器人无响应、路由错误等问题,可参考以下常见问题及排查方法,快速定位并解决问题:

Q1:机器人无任何响应,私信 / 群聊 @都没反馈?

排查顺序

  1. 执行openclaw gateway status,检查 OpenClaw 网关服务是否正常运行(未运行则重启服务)
  2. 检查 openclaw.json 中,bindings 的 accountId 是否与 channels.feishu.accounts 的 Key 完全一致(大小写、拼写都需一致)
  3. 登录飞书开放平台,检查对应应用的 Webhook 配置是否正确,事件订阅是否生效
  4. 执行openclaw logs -f查看实时日志,根据报错信息定位问题(如权限不足、凭证错误等)

Q2:bindings 中 channel 和 accountId 的对应关系是什么?

  • ①channel:固定值为feishu,无需修改,代表消息渠道为飞书
  • ②accountId:自定义的机器人账号名,对应 channels.feishu.accounts 下的③对象 Key,并非飞书机器人的 open_id,需与 bindings 中的配置一一对应

Q3:如何将飞书机器人加入群聊,实现群聊场景调用?

操作步骤

  1. 打开飞书对应群聊 → 群设置 → 机器人 → 添加机器人
  2. 在机器人列表中,选择需要加入的飞书应用(即对应机器人),确认添加
  3. 机器人加入群聊后,在群中 @机器人名称 + 需求,即可触发对话,网关会自动路由到对应 Agent

安全建议

为保证多机器人架构在生产环境中的安全性和稳定性,避免信息泄露、未授权访问等问题,建议遵循以下安全规范:

  1. AppSecret 严格保护:
  2. 不要将 AppSecret 明文写在配置文件中,示例中用 cli_***** 占位,实际部署时建议从安全存储(如密钥管理服务)中读取
  3. 限制 allowFrom 访问:
  4. 测试环境可设为 ["*"] 允许所有用户,生产环境需精准配置允许的用户 ID 列表,仅开放给授权人员使用
  5. 日志敏感信息脱敏:
    开启日志功能后,定期检查日志内容,确保不包含用户隐私、应用凭证等敏感信息,必要时进行脱敏处理
  6. 保持版本更新:
    及时将 OpenClaw 升级到最新版本,修复已知的安全漏洞和功能 BUG,提升系统稳定性

👇点击阅读原文立即访问算家云,开启你的低成本 AI 之旅!

END

往期推荐

AI视频生成为什么看起来简单,实际却很吃资源?

算力:数字时代的隐形 “超级大脑”

更多活动

左滑查看更多推荐

联系我们

  商务合作 | 问题咨询 | AI 定制服务 

Tel:16608508963(企微同号)