dsh-feishu-bridge:飞书机器人接入 DSH 的桥接插件

前言

DSH 提供了会话、模型和工具调用能力,实际使用时经常还需要一个外部入口:在飞书里直接发消息,让 DSH 会话处理,并把生成过程回显到飞书。dsh-feishu-bridge 就是做这件事的 DSH 插件。它把飞书消息桥接到 DSH 会话,AI 处理后以流式交互卡片实时回复,不依赖公网 webhook。

插件定位

dsh-feishu-bridge 由 fengs2021 维护,package.json 声明版本为 1.1.0,许可证为 MIT(来自 package.json)。它不是独立聊天服务,而是运行在 DSH 宿主进程中的桥接插件:飞书通道接入 DSH,DSH 的会话、模型和工具仍由 DSH 提供。

下面介绍它的核心能力、安装方式、典型用法,以及部署前需要确认的限制。

核心功能

  • 飞书私聊/单聊消息进入 DSH 会话,保持多轮上下文。
  • 群聊中 @ 机器人时响应,需要配置 botOpenId
  • CardKit 2.0 流式交互卡片实时更新:思维链、正文、工具链分区展示,token 级打字机效果,原生折叠面板。
  • DSH 重启后自动 agents.resume,恢复同一 DSH 会话。
  • 支持 /help/reset/status 斜杠命令。
  • 长回复超过上限(8000 字)自动补发文本消息。
  • 断线自动退避重连,范围是 2s30s 上限。
  • 通过 open_id 白名单限制可聊天用户,空白名单表示所有人。
  • message_id 幂等去重,避免事件重放重复处理。
  • 注册 feishu 通道到 DSH 全局注册表,支持 de_channel_send / de_notify 向飞书发送文本、图片、文件。

安装与启用

运行前提:

  • DeepSeek Harness 以 dsh web 运行。
  • lark-cli 已安装并选择 bot 身份(tenant_access_token)。
  • 飞书自定义应用具备 bot 能力,应用权限 scope 覆盖目标用户/群。
  • 应用需要 im:message 权限;事件使用飞书开放平台长连接订阅,无需公网 webhook/回调 URL。

安装步骤:

git clone https://github.com/fengs2021/dsh-feishu-bridge.git ~/.dsh/plugins/dsh-feishu-bridge
cd ~/.dsh/plugins/dsh-feishu-bridge && npm install

# register into the web profile:
#   dependencies += "dsh-feishu-bridge": "link:/root/.dsh/plugins/dsh-feishu-bridge"
#   dsh.profile.bundles += "dsh-feishu-bridge"
cd ~/.dsh/profiles/web && pnpm install

systemctl restart dsh-web

先克隆插件到 DSH 插件目录并安装依赖,再把它注册进 web profile 的 dependenciesdsh.profile.bundles,最后安装 web profile 依赖并重启 dsh-web

典型用法

在飞书中直接给机器人发消息;群聊中 @ 机器人即可触发 DSH 处理。

斜杠命令:

/help
/reset
/status

/help 查看帮助,/reset 清空上下文,/status 查看会话状态。

DSH 也可以主动推送到飞书:

de_channel_send channels=feishu content=...

发送附件时可用:

attachments=[{kind:'image'|'file', path|url|base64, fileName?}]

目标默认是最近飞书会话,也可显式指定:

target: 'p2p:oc_xxx'

配置与限制

  • botOpenId 用于群聊 @ 检测;可通过启动自动探测、群内 @ 日志或飞书控制台获取。
  • allowlist 为空表示所有 open_id 可聊天;非空时仅指定 open_id 可聊天。
  • 文本模式回复超过 maxReplyChars(默认 3500)会分段;卡片预览上限 8000 字超过会补发文本消息。
  • 卡片流式更新默认最小间隔 1200ms,卡片轮询间隔 600ms,单轮最长等待 600000ms
  • 卡片更新必须使用 PATCH /open-apis/im/v1/messages/:message_id 并携带 card JSON 字符串,不能使用 PUT + msg_type
  • 流式监听器影响所有 LLM 调用,资料提示不要改回 async

适用场景与注意

适合想通过飞书和 DSH 对话、需要把 DSH 主动通知发到飞书、或需要卡片式过程回显的部署场景。

需要注意:

  • 插件运行在 DSH 宿主进程中,会跟随当前 dsh 进程权限运行。安装前应检查源码、依赖与许可证。
  • 飞书自定义应用需要具备 bot 能力,权限 scope 覆盖目标用户/群,且 im:message 权限可用。
  • 群聊响应依赖 botOpenId 和应用权限范围。
  • 事件通过飞书开放平台长连接订阅,不需要公网 webhook/回调 URL,但仍要求 lark-cli 可正常访问飞书开放平台。
  • 该插件版本为 1.1.0,许可证为 MIT。

链接

  • 插件目录页:https://www.skillhub.cn/plugins/fengs2021/dsh-feishu-bridge
  • GitHub 仓库:https://github.com/fengs2021/dsh-feishu-bridge
羽毛球分组比赛记分
小程序二维码

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

Xiaoye