dsh-feishu-integration:DeepSeek Harness 与飞书双向连接

前言

DeepSeek Harness (DSH) 采用插件化架构,强调可扩展性。dsh-feishu-integration 插件旨在解决 DSH 在后台或 Web 端运行时,用户无法通过即时通讯工具进行交互的问题。它提供了一套机制,将 DSH 会话的总结发送到飞书,并允许用户通过回复飞书消息来反向控制或继续 DSH 会话。

核心能力

该插件提供以下核心功能:
* 会话总结推送:DSH 会话结束后,自动将总结内容发送到飞书。
* 回复路由:在飞书中回复某条总结,系统会自动识别并路由回产生该总结的 DSH 会话。
* 固定会话延续:支持点对点(p2p)和群聊场景下的固定会话延续。
* 管理入口:在 DSH 设置页提供绑定状态查看、扫码绑定、重连、断开和解绑功能。
* 配置管理:提供二维码 provisioning 和 fsum-admin CLI 管理入口。
* 多域支持:同时支持飞书 Feishu 域和国际版 Lark 域。

安装与绑定

安装插件需要在目标 DSH profile 中执行以下命令:

dsh plugin --profile web add github:yangwuan55/dsh-feishu-integration

安装完成后,重启对应的 DSH profile。插件自带 dsh.bundle.patch,会自动挂载到 profile 中。安装完成后,可以在 DSH 的设置页中查看绑定状态并扫码绑定。该插件默认不会开启入站长连接,因此安装时不会自动与已有的飞书长连接插件竞争事件流。

启用入站回复路由

要实现“在飞书中回复总结 -> 路由回 DSH 会话”的功能,需要启用入站接管。由于飞书长连接使用集群式事件分发,同一个应用同时运行多个长连接客户端可能导致事件随机分流,因此同一个 DSH profile 中必须先禁用其他飞书长连接插件,然后再启用此插件的入站接管。

在 profile patch 中覆盖配置以启用入站接管:

- id: xmanrui-dsh-feishu
  disabled: true

- id: dsh-feishu-integration
  config:
    takeoverInbound: true
    replyTimeoutMs: 600000

CLI 管理

除了网页端设置页,插件也提供了 CLI 工具 fsum-admin 用于绑定、验证和解绑等操作:

fsum-admin list
fsum-admin bind
fsum-admin bind --app-id cli_xxx --app-secret xxx --owner ou_xxx
fsum-admin verify --app-id cli_xxx
fsum-admin set-owner --app-id cli_xxx --open-id ou_xxx
fsum-admin unbind --app-id cli_xxx

数据与可靠性

  • 数据迁移:插件保留了旧版 @xmanrui/dsh-feishu 的本地数据布局($DSH_HOME/integrations/dsh-feishu/),以便迁移时延续已有绑定和固定会话。
  • 安全存储:敏感的 app_secret 使用 DSH credential store 存储,不写入公开配置文件。
  • 发送重试:总结发送内置了重试机制,最多尝试 10 次,采用指数退避策略(1s 起、30s 封顶、±20% 抖动),总截止时间为 10 分钟。断网时顺延等待但不消耗尝试次数。每次逻辑发送携带飞书消息幂等 uuid,避免重复投递。
  • 超时处理:当等待回答超时(默认 600s)时,插件保持静默,不追发错误回帖。转发回执本身被视为送达确认,超时仅记录在 host 日志中。

开发与维护

该插件使用 MIT 许可证。开发者可以通过以下命令进行开发:

git clone https://github.com/yangwuan55/dsh-feishu-integration.git
cd dsh-feishu-integration
pnpm install
pnpm build          # 构建前端代码
pnpm test           # 运行回归测试
  • Host 侧逻辑:位于 lib/host/ 目录,直接编辑 JS 文件即可,无需构建。
  • Client 侧逻辑:位于 client-src/ 目录,修改后必须运行 pnpm build 重新生成 lib/client.js。

生态背景

DSH 理念是“一切皆插件”,本插件为该生态的一部分。该插件由社区用户 yangwuan55 维护,与 DeepSeek 或幻方官方无直接隶属关系。更多细节可查阅插件目录页或源码仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜