OpenClaw 多飞书机器人配置指南

OpenClaw 多飞书机器人配置指南

本文档介绍如何在 OpenClaw 中配置多个飞书机器人,分别绑定到不同的 Agent。


一、创建 Agent

1.1 创建 Agent 步骤

# 创建新的 Agent openclaw agents add<agent名称># 示例:创建 dailynews agent openclaw agents add dailynews 

1.2 查看 Agent 列表

openclaw agents list 

输出示例:

Agents: - main (default) Identity: 💼✨ 小美 Workspace: ~/.openclaw/workspace - dailynews Workspace: ~/.openclaw/workspace-dailynews 

1.3 配置 Agent 文件

每个 Agent 需要有自己的 workspace 目录和相关配置文件:

文件说明
IDENTITY.mdAgent 身份信息(名字、性格、emoji)
SOUL.mdAgent 核心价值观和行为准则
USER.md人类用户信息
AGENTS.mdAgent 的行为规范
HEARTBEAT.md主动模式任务清单
MEMORY.md长期记忆

1.4 Agent 完整配置示例

{"agents":{"list":[{"id":"main","default":true,"name":"小美","workspace":"/home/username/.openclaw/workspace"},{"id":"dailynews","name":"dailynews","workspace":"/home/username/.openclaw/workspace-dailynews"},{"id":"dev","name":"开发助理","workspace":"/home/username/.openclaw/workspace-dev"}]}}

二、配置 Channel(飞书)

2.1 在飞书开放平台创建机器人

  1. 打开 飞书开放平台
  2. 创建企业自建应用
  3. 在应用详情中获取:
    • App ID(如 cli_xxx
    • App Secret
  4. 添加权限:
    • contact:contact.base:readonly - 读取通讯录
    • im:message:send_as_bot - 发消息
    • im:message:receive - 收消息
  5. 发布应用

2.2 配置 openclaw.json

{"channels":{"feishu":{"enabled":true,"defaultAccount":"main","domain":"feishu","accounts":{"main":{"appId":"cli_第一个机器人的appId","appSecret":"第一个机器人的secret"},"dailynews":{"appId":"cli_第二个机器人的appId","appSecret":"第二个机器人的secret"},"dev":{"appId":"cli_第三个机器人的appId","appSecret":"第三个机器人的secret"}}}}}

2.3 验证 Channel 配置

openclaw channels list 

输出示例:

Chat channels: - Feishu main: configured, enabled - Feishu dailynews: configured, enabled - Feishu dev: configured, enabled 

三、绑定 Agent 到 Channel

3.1 使用命令绑定

# 绑定 agent 到指定飞书账号 openclaw agents bind--agent<agentId>--bind feishu:<accountId># 示例 openclaw agents bind--agent main --bind feishu:main openclaw agents bind--agent dailynews --bind feishu:dailynews 

3.2 或直接在配置文件中添加 bindings

{"bindings":[{"agentId":"main","match":{"channel":"feishu","accountId":"main"}},{"agentId":"dailynews","match":{"channel":"feishu","accountId":"dailynews"}},{"agentId":"dev","match":{"channel":"feishu","accountId":"dev"}}]}

3.3 查看绑定结果

openclaw agents bindings 

输出示例:

Routing bindings: - dailynews <- feishu accountId=dailynews - main <- feishu accountId=main - dev <- feishu accountId=dev 

四、配置用户白名单

4.1 创建白名单文件

使用openclaw pairing approve 形式配置飞书后,发现只能同时有一个正常工作,所以改用白名单形式

vim ~/.openclaw/credentials/feishu-allowFrom.json 

内容:

{"version":1,"allowFrom":["ou_用户的open_id_1","ou_用户的open_id_2"]}

4.2 获取用户 open_id

推荐使用飞书开放平台的 API 工具获取:

  1. 打开 https://open.feishu.cn/document/server-docs/contact-v3/user/get
  2. 在页面中的 user_id 参数处选择用户
  3. 点击"尝试"按钮
  4. 返回结果中会显示用户的 user_idopen_id

或者在飞书中:

  • 打开用户主页 → 点击分享 → 复制链接,链接中包含用户ID

4.3 说明

  • 使用 allowFrom 白名单后,不需要执行 openclaw pairing approve
  • 白名单更安全,只允许特定用户使用该机器人

五、重启并验证

5.1 重启 Gateway

openclaw gateway restart 

5.2 测试

用不同的飞书机器人发送消息,检查是否路由到对应的 Agent。


六、注意事项

6.1 多账号限制

  • OpenClaw 当前版本(2026.3.x)飞书多账号功能在完善中
  • 主要限制:一次只能配对(pairing)一个机器人
  • 解决:使用 allowFrom 白名单机制,避免 pairing

七、完整配置示例

{"agents":{"list":[{"id":"main","default":true,"name":"小美","workspace":"/home/username/.openclaw/workspace"},{"id":"dailynews","name":"dailynews","workspace":"/home/username/.openclaw/workspace-dailynews"}]},"channels":{"feishu":{"enabled":true,"defaultAccount":"main","domain":"feishu","accounts":{"main":{"appId":"cli_xxx1","appSecret":"secret1"},"dailynews":{"appId":"cli_xxx2","appSecret":"secret2"}}}},"bindings":[{"agentId":"main","match":{"channel":"feishu","accountId":"main"}},{"agentId":"dailynews","match":{"channel":"feishu","accountId":"dailynews"}}]}

八、常见问题

Q: 提示 “access not configured”

A: 确认 channels.feishu.accounts 中是否配置了对应账号

Q: 提示权限错误

A: 需要在飞书开放平台授权:
https://open.feishu.cn/app/{appId}/auth?q=contact:contact.base:readonly

Q: 绑定后不生效

A: 执行 openclaw gateway restart 重启 Gateway

Read more

Polyfill方式解决前端兼容性问题:core-js包结构与各种配置策略

Polyfill方式解决前端兼容性问题:core-js包结构与各种配置策略

简介 在之前我介绍过Babel:解锁Babel核心功能:从转义语法到插件开发,Babel是一个使用AST转义JavaScript语法,提高代码在浏览器兼容性的工具。但有些ECMAScript并不是新的语法,而是一些新对象,新方法等等,这些并不能使用AST抽象语法树来转义。因此Babel利用core-js实现这些代码的兼容性。 core-js是一个知名的前端工具库,里面包含了ECMAScript标准中提供的新对象/新方法等,而且是使用旧版本支持的语法来实现这些新的API。这样即使浏览器没有实现标准中的新API,也能通过注入core-js代码来提供对应的功能。 像这种通过注入代码实现浏览器没有提供的API特性,叫做Polyfill。这个单词的本意是填充材料,在JavaScript领域中,这些注入的代码就类似“填充材料”一样,帮助我们提高代码的兼容性。另外core-js还提供了一些还在提议中的API的实现。 core-js使用方式 使用前后对比 要想看到core-js使用前后的效果对比,首先需要确定某个特性和对应的执行环境,在这个环境中对应的特性不存在。我本地是Node.js

前端 AJAX 详解 + 动态页面爬虫实战思路

目前 80% 的网站都使用了AJAX技术,那么传统的爬虫通过 html 来获取数据就不行了,总结一下 AJAX 相关知识。 1、前端三大核心 前端开发的三大核心基础是 HTML、CSS 和 JavaScript。 * HTML 负责搭建网页的结构与内容(结构) * CSS 负责网页的样式、布局和视觉效果(表现) * JavaScript 负责网页的交互、逻辑和数据处理(行为) HTML(结构层) 本质上是 标记语言(Markup Language),通过标签描述页面元素。 常见标签: <h1>标题</h1><p>段落</p><

踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录

踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录

目录 * WordPress中要点,域和托管 * 域名 * 托管 * 添加新页面 * 添加新文章 * 安装方式 * 1. 接口清单(API Design) * 2. Controller 层实现 * 3. Service 层实现 * 4. Mapper 层(MyBatis-Plus) * (1) 好友关系实体 * (2) Mapper接口 * 5. 统一返回结构 * 6. 接口测试示例 * **(1) 添加好友** * **(2) 查询好友列表** * **关键设计说明** * **扩展建议** * 为什么需要为数据库的 email 字段建立索引 * 1. 提高查询性能 * 2. 保证数据唯一性(当需要时) * 3. 支持高级查询特性 * 注意事项 * 实际应用示例 * 关于前端使用openapi报错原因 * 解决方案

5分钟部署GLM-4.6V-Flash-WEB,单卡实现多模态AI应用

5分钟部署GLM-4.6V-Flash-WEB,单卡实现多模态AI应用 你有没有试过这样一种场景:刚拍下一张超市货架照片,想立刻知道“第三排左数第二个商品的保质期还剩几天”,却只能打开手机相册反复放大、手动识别——而旁边的朋友已经用AI工具三秒读完整张图并给出答案。这不是科幻电影,而是GLM-4.6V-Flash-WEB正在让这件事变成现实。 它不依赖云端API调用,不用等模型加载十分钟,更不需要A100集群和运维工程师。一块RTX 4060 Ti显卡,一条命令,五分钟内,你就能拥有一个能看图、会思考、懂提问的本地多模态助手。它不是实验室里的演示原型,而是真正为“今天就要上线”设计的开箱即用镜像。 这篇文章不讲论文公式,不堆参数指标,只聚焦一件事:怎么在最短时间里,把一个能理解图像+回答问题的AI,稳稳跑在你自己的机器上,并马上用起来。 1. 为什么是GLM-4.6V-Flash-WEB?轻量≠妥协 很多人一听“轻量级多模态模型”,第一反应是“那效果肯定打折扣”。但GLM-4.6V-Flash-WEB打破了这个惯性认知——它没有牺牲核心能力,只是把冗余的部分全部砍掉。 它