Feishu Workspace Bridge:将 DSH 工作区与飞书群一一对应

前言

DSH(DeepSeek Harness)作为工作区环境,常需要在聊天软件中继续推进任务。传统集成方式通常需要配置公网回调地址,且往往需要处理大量历史消息。Feishu Workspace Bridge 解决了这个问题,它将 DSH 工作区与飞书群一一对应,并在 DSH 会话和飞书群之间实现实时双向同步消息。

插件介绍

Feishu Workspace Bridge 是一个由 bandianliancha 维护的联网工具类插件。其核心逻辑是:绑定一个飞书企业自建应用机器人,在工作区首次有消息时按需创建飞书私有群,并在 DSH 会话与该群之间双向同步消息。插件不读取历史消息,也不需要公网回调地址。

核心功能

  • 实时双向同步消息
  • 按需创建飞书私有群
  • Markdown 支持
  • 消息队列投递
  • 不读取历史消息
  • 进程重启后继续处理失败消息
  • 凭证安全存储(系统钥匙串或文件)

安装与启用

使用官方命令安装插件:

dsh plugin --profile web add dsh-plugin-feishu-workspace

安装后需要重启 DSH Web 服务:

dsh web --no-open

配置

重启完成后,在 DSH 设置的“飞书机器人”中填写以下信息:
- App ID
- App Secret
- 你的飞书 Open ID(格式为 ou_...)

点击“保存并验证”。插件会在保存前检查机器人、事件订阅和全部必需权限。验证失败时不会覆盖已有配置。

飞书开放平台配置

使用此插件需要在飞书开放平台完成以下配置:

  1. 启用机器人能力。
  2. 在“事件与回调”中选择“使用长连接接收事件”,并订阅 im.message.receive_v1(本地运行不需要公网回调地址)。
  3. 开通以下权限:
    • im:chat:create:创建群聊
    • im:chat:获取与更新群组信息
    • im:message:send_as_bot:以应用身份发消息
    • im:message.group_msg:接收群聊消息
    • im:message.reactions:write_only:添加消息表情回复
    • application:application:self_manage:管理应用自身信息

数据与安全

  • 凭证存储:macOS 上 App Secret 保存在系统钥匙串;Linux 上 App Secret 保存在权限为 0600 的文件中(路径通常为 ~/.dsh/feishu-workspace-bridge.secrets.json)。
  • 数据库:默认位置为 ~/.dsh/feishu-workspace-bridge.sqlite。
  • 消息处理:入站和出站消息使用消息 ID 去重;已送达记录保留 30 天后自动清理,尚未送达的记录不会被定期清除。

工作机制

  • 生命周期:一个工作区最多绑定一个群。群由机器人创建,默认为私有群,群信息仅允许群主或管理员修改。工作区改名后群名自动同步,工作区删除后群自动解散。
  • 消息队列:DSH 正在处理任务时,来自飞书的新消息使用 queue 模式排队,不会打断当前任务。
  • 可靠性:每条消息都会记录状态;临时失败会指数退避重试,进程重启后继续处理。长消息会分段发送,不会静默截断。

注意事项

  • 需要 Node.js 20 或更高版本。
  • 需要 DeepSeek Harness (DSH)。
  • 需要 DSH 版本为 0.1.7-alpha.1 或更高。
  • DSH 只在启动时加载服务端插件,修改代码后需要重启 dsh web。

总结

Feishu Workspace Bridge 提供了一种无需公网回调、不读取历史消息的 DSH 与飞书集成方案。通过私有群和消息队列机制,它保证了同步的实时性和稳定性。

GitHub

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

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

小夜