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
羽毛球分组比赛记分
小程序二维码

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

小夜