feishu-agent-send:多 Agent 场景下的飞书互发消息

前言

在 OpenClaw 一类多 Agent 环境里,常见需求是让不同 Agent 通过飞书互相通知:客服 Agent 把结论转给运营 Agent,或主 Agent 向子 Agent 下发任务。若每次手写飞书 OpenAPI 调用,还要维护各自的 chat_id 与发送者身份,配置成本高、也容易串号。

下面介绍的 feishu-agent-send 把「谁是谁、发给谁、私聊还是群聊」收敛成本地配置与一组 Python 小工具,由 Skill 指导 Agent 按固定流程调用,适合需要可重复、可核对的多 Agent 飞书通信。

这是什么

feishu-agent-send 是 SkillHub 上的社区 Skill,坐标 @user_d1914364/feishu-agent-send,当前页面版本为 v3.0.2,分类 ai-agent,标签标明 requires_api_key=false(Skill 本身不强制单独 API Key 字段;实际发消息仍依赖你环境里已有的飞书/OpenClaw 通道能力)。

定位(见包内 SKILL.md / README.md):飞书多 Agent 通信工具——一个 Skill 供多个 Agent 共用,通过本地配置与脚本自动识别当前发送者,并生成面向 feishu_im_user_message 的发送指令。

维护信息:包内 README.md 注明作者 zy4522(张彦),MIT License。

核心功能

以下能力均来自 v3.0.x 包内文档与脚本,可与 SkillHub 条目交叉核对。

  1. 本地 Agent 通讯录:用 feishu_add.py 登记目标 Agent 名称与 chat_id(支持按 Agent 配置私聊 p2p、群聊 group)。
  2. 发送者身份:每个 Agent 首次需用 feishu_set_self.py 写入自己的 chat_id;发送时可自动检测当前 Agent,也可用 --from 指定。
  3. 发消息:feishu_send.py 向指定 Agent 发文本;加 --deliver 时输出完整的一站式发送说明(含 feishu_im_user_message 调用与日志提示),无 --deliver 时为预览模式。
  4. 查询:feishu_who.py 查看已登记 Agent;错误输出为结构化 JSON,并附带分步修复提示(如缺少发送者、未知 Agent、--chat-type 仅允许 p2p / group)。
  5. 与 OpenClaw 配置联动:核心模块会从 ~/.openclaw/openclaw.json(或 OPENCLAW_CONFIG 等路径)读取绑定信息,辅助识别当前 Agent。

配置文件路径固定为:

~/.feishu_agent_send/config.json

示例结构(摘自 SKILL.md):

{
  "version": "3.0.0",
  "agents": {
    "ying": {
      "p2p": {"chat_id": "oc_xxx"},
      "group": {"chat_id": "oc_yyy"}
    },
    "kfj": {
      "p2p": {"chat_id": "oc_xxx"}
    }
  },
  "self_by_agent": {
    "kfj": {"chat_id": "oc_xxx"},
    "main": {"chat_id": "oc_xxx"}
  }
}

安装与启用

通过 SkillHub CLI 安装

先确认本机已安装 skillhub(安装方式见 SkillHub 安装说明)。安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。

skillhub install @user_d1914364/feishu-agent-send --dir <你的 skills 目录>

常见目录(同官方安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

安装完成后,包内脚本位于该目录下的 @user_d1914364/feishu-agent-send/tools/(以你实际 --dir 为准)。

也可让 Agent 按官方提示安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_d1914364/feishu-agent-send`。

运行依赖

工具为 Python 3 脚本,需在本机可执行 python3。发消息的最终投递依赖环境中可用的飞书 IM 能力(Skill 文档中的 feishu_im_user_message),请与你的 OpenClaw / 飞书通道配置一并准备。

典型用法

假设 Skill 已安装到 ~/.openclaw/skills/@user_d1914364/feishu-agent-send(路径请替换为你的实际目录)。

1. 首次为当前 Agent 登记发送者

python3 ~/.openclaw/skills/@user_d1914364/feishu-agent-send/tools/feishu_set_self.py kfj oc_xxx

2. 添加常用目标 Agent

python3 ~/.openclaw/skills/@user_d1914364/feishu-agent-send/tools/feishu_add.py ying oc_xxx

3. 发送(推荐 --deliver)

python3 ~/.openclaw/skills/@user_d1914364/feishu-agent-send/tools/feishu_send.py ying "你好" --deliver

按终端输出的说明执行 feishu_im_user_message 完成真实发送。若仅需查看将生成的内容而不投递,可去掉 --deliver。

4. 私聊 / 群聊切换

当同一 Agent 同时配置了 p2p 与 group 时,默认选私聊;发群消息需显式指定:

python3 .../feishu_send.py ying "消息" --chat-type group --deliver

文档说明群消息场景会提示等待约 6 秒后再执行发送,以降低频繁群发风险。

适用场景与注意

适合:

  • 已使用 OpenClaw 或多 Agent 编排,需要在飞书上做 Agent 间点对点通知。
  • 希望把 chat_id、发送者映射沉淀在 ~/.feishu_agent_send/config.json,由 Skill 约束调用顺序,减少手写 curl。

注意:

  • SkillHub 页面统计(截至抓取):评分 100000,下载约 922 次;安装后请以包内 SKILL.md 与脚本行为为准,页面版本号(3.0.2)与文档内写的功能版本(3.0.0)可能略有差异,以你安装到的文件为准。
  • feishu_send.py 的 --deliver 是生成并引导调用,不是替代飞书鉴权;飞书应用凭证、租户 Token 等仍由现有通道配置提供。
  • 目标 Agent 名称必须与配置一致;报错 JSON 中的 available_agents 可用于对照补全 feishu_add.py。
  • 包内 SKILL.md 部分示例路径写作 ~/.openclaw/skills/feishu_agent_send/;通过 SkillHub 安装时目录名多为 @user_d1914364/feishu-agent-send,执行命令时请使用真实路径。

结尾

feishu-agent-send 把多 Agent 飞书通信拆成「登记自己 → 登记对方 → 脚本生成发送指令」三步,适合需要稳定、可复查的协作通知,而不是一次性临时 curl。

官方入口:

  • SkillHub 页面:https://www.skillhub.cn/skills/user_d1914364/feishu-agent-send
  • API 坐标页:https://api.skillhub.cn/user_d1914364/feishu-agent-send
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜