前言¶
DSH 插件體系允許把外部入口接入 Agent。對於希望在飛書或 Lark 中調用 DSH Agent 的場景,dsh-feishu-bridge 提供一個橋接:接收飛書機器人消息,轉發給 DSH Agent,並把回答、過程提示和控制命令回傳飛書。下面介紹它的定位、安裝配置和當前邊界。
這是什麼¶
dsh-feishu-bridge 是一個 Feishu / Lark ↔ DeepSeek Harness(DSH)橋接插件。維護者是 ailoushu666,許可證爲 MIT,package.json 版本爲 0.2.1。
它支持 feishu 和 lark 兩種 domain,可用於單聊和羣聊中的 Agent 調用。
核心功能¶
- 使用飛書 WebSocket 長連接接收事件,無需公網 IP / 域名 / 內網穿透。
- 同一個飛書聊天或話題複用同一個 DSH Session,保留上下文;話題各自獨立。
- 回覆會關聯觸發消息,話題內的回覆留在原話題。
- 默認只接收單聊和羣聊中 @機器人 的消息。
- Agent 調用工具時回傳執行過程提示,中間回覆經節流隊列轉發。
- 收到消息後先返回“正在處理 / 排隊中”回執;單輪超時自動停止並提示。
- DSH 自主輪次結果會主動推回飛書。
- Agent 選項問答可在飛書中通過編號、選項文字或自由文本回復。
- 支持飛書命令:
/reset、/compact、/workspace、/mode、/model、/effort、/stop、/feedback、/goal、/plan、/export、/session、/help。 - 可配置
provider、model、reasoningEffort、workspace、agentPreset等插件配置。 - App Secret 與 App ID 分離存放,分別寫入 DSH 憑據文件和 profile 補丁。
- 內部錯誤統一返回
errorMessage,不發送異常堆棧或敏感信息。 - Session ID 用 SHA-256 摘要派生,不包含原始
chat_id/thread_id。
安裝與啓用¶
運行要求¶
- Node.js
^22.19.0或>= 24 - 已能運行
dsh web - 需要飛書企業自建應用,啓用機器人能力、長連接訂閱
im.message.receive_v1,並開通必要權限
安裝插件¶
先確認目標 DSH Profile,下面命令把插件安裝到 web profile。
從 GitHub 安裝:
npx @deepseek-ai/dsh plugin --profile web add git+https://github.com/ailoushu666/dsh-feishu-bridge.git
從本地目錄安裝:
npx @deepseek-ai/dsh plugin --profile web add "<本項目目錄>"
寫入憑據¶
把 FEISHU_APP_SECRET 寫入 DSH 憑據文件 ~/.dsh/.credentials.yaml:
FEISHU_APP_SECRET: <App Secret>
App Secret 只應放在 ~/.dsh/.credentials.yaml,不要落盤到項目目錄。
啓用配置¶
在 ~/.dsh/profiles/web/cordis.patch.yml 中啓用 id: feishu-bridge,並配置 appId、appSecretEnv、domain、requireMention、dmMode。
appId 和 appSecretEnv 爲必填;domain 支持 feishu 和 lark。示例配置如下:
- id: feishu-bridge
config:
appId: <App ID>
appSecretEnv: FEISHU_APP_SECRET
domain: feishu
requireMention: true
dmMode: open
不要使用 insert 再創建一個同名 feishu-bridge 實例。
啓動與驗證¶
運行下面命令啓動 DSH Web:
npx @deepseek-ai/dsh web
等待輸出中出現:
feishu-bridge: WebSocket connected
經過上面的步驟後,可以做基礎驗證:
- 單聊直接發送問題。
- 羣聊發送
@機器人 你的問題。 - 發送
/help查看命令。
典型用法¶
在飛書中可以直接發送以下命令:
/reset/compact/workspace <目錄絕對路徑>/mode read|write|full/model <模型名>/effort off|high|max/stop/feedback/goal [目標|clear|edit <目標>|pause|resume]/plan [off|描述]/export/session [編號|完整ID]/help
飛書權限¶
默認接收單聊、羣聊 @機器人 消息並回復時,需要以下權限:
im:message.p2p_msg:readonly
im:message.group_at_msg:readonly
im:message:send_as_bot
羣聊 /reset 要求管理員權限時,需要:
im:chat:readonly
事件訂閱使用 im.message.receive_v1。
注意與限制¶
- 當前只處理文本消息,圖片、富文本、文件、卡片等未支持。
- 回答爲一次性發送,非流式輸出;執行過程回傳工具調用開始和中間回覆,不回傳工具結果。
- 過程消息、中間回覆、自主輪次結果和問題會發到羣聊根消息,話題內會話也不例外。
- 沒有持久化
chatId → sessionId映射;DSH 重啓後,已有飛書聊天會重建新 Session。 - 一個飛書應用不要同時運行多個長連接消費者,否則事件會被隨機分發,導致消息丟失或異常。
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼和MIT許可證。 - 本文只覆蓋已覈實的說明,具體行爲以倉庫文檔和實際配置爲準。