前言¶
在 DeepSeek Harness(DSH)裏做自動化或輔助處理時,常見做法是讓模型只在當前會話裏響應你手動粘貼的內容。飛書裏的羣聊、私聊若需要「新消息進來就觸發一次 DSH 會話」,往往要自建 webhook、機器人或外部腳本,還要單獨處理鑑權與消息格式。下面介紹社區插件 dsh-lark-session-monitor-plugin(維護者 lifeopsgo):它以你的飛書用戶身份讀取已配置的會話,把新消息整理成可讀文本後,投遞到你指定的 DSH 工作區與會話中;插件本身不會向飛書回消息。
這是什麼¶
dsh-lark-session-monitor-plugin 是 DSH 的聯網類插件(社區目錄分類:聯網工具)。它解決的是:在授權範圍內監聽指定飛書會話,並將新消息作爲 prompt 寫入你選定的 DSH session。與「僅機器人收 @ 消息」不同,README 明確說明使用用戶權限讀取 p2p 與羣聊;消息正文經渲染後再進入模型,不直接把飛書原始 JSON 丟給模型。
- 目錄頁:https://www.skillhub.cn/plugins/lifeopsgo/dsh-lark-session-monitor-plugin
- 源碼與文檔:https://github.com/lifeopsgo/dsh-lark-session-monitor-plugin
- 當前資料中的包版本:v2.1.0(MIT 許可證)
兼容環境¶
| 項目 | 要求 |
|---|---|
| DSH | 0.2.0-rc.1 及更高(README 標註已在當前 DSH Web runtime 上驗證;0.1.x 不支持本發佈線) |
| Node.js | ≥ 22.6 |
| 安裝 profile | web(安裝命令使用 dsh plugin --profile web) |
核心功能¶
監聽與投遞¶
- 在設置頁配置飛書應用的 App ID、App Secret,完成用戶 OAuth 授權;用戶 token 存放在 DSH 的 credentials 服務中並自動刷新,README 說明 Secret 與 token 不會經 RPC 返回。
- 通過 新建監聽 綁定要監聽的會話、前置 Prompt、目標工作區與目標會話;可按會話類型篩選,支持多條監聽規則各自 啓用/停用(輪詢開關)。
- 新消息合併爲一條 prompt 投遞,格式爲:你的 Prompt 在上,下方每行類似
[發送者] [消息ID] 消息正文;單次最多 10 條 消息,其餘在下次成功投遞後繼續;游標僅在投遞成功後前進,失敗會重讀同一批消息。
消息渲染與過濾¶
- 文本化:可讀文本纔會投遞;帖子拍平、卡片從
user_card_content渲染爲標題/正文/按鈕鏈接等;鏈接以純 URL 給出且不主動抓取;圖片/文件/音視頻等變爲如[圖片]的標籤;無可讀內容的消息跳過。每行帶飛書 message id,便於會話內引用。 - Skip own messages:默認關閉;開啓後不投遞你自己發的消息(若無法讀取你的身份則按原邏輯投遞)。
- Senders:默認可收所有人;可限定用戶或機器人(無顯示名時可能顯示 App ID)。
- Also @bot mentions:默認關閉;開啓後,即使發送者不在 Senders 白名單,@ 本應用機器人 的消息也會投遞。
- Blocked keywords / Allowed keywords:黑名單優先;空 Allowed 表示不過濾關鍵詞。
目標會話行爲¶
| 目標會話 | 自動創建並置頂 | 行爲 |
|---|---|---|
| 已選會話 | — | 消息累積在同一 session |
| 留空 | 勾選 | 首次投遞創建 session 並置頂 |
| 留空 | 不勾選 | 每次投遞新建 session |
輪詢爲每個 monitor 單飛(single-flight),非飛書 push;離線消息不會在初始窗口之外回填(README Limitations)。
安裝與啓用¶
安裝前請自行查看 GitHub 源碼與 MIT 許可證;插件在當前 DSH 進程權限下運行,僅訪問你授權的飛書 API 與所選 DSH session。
- 確認 Node.js ≥ 22.6,DSH 爲 0.2.0-rc.1 或更高。
- 執行官方安裝命令(版本 pin 以 README 爲準):
dsh plugin --profile web add github:lifeopsgo/dsh-lark-session-monitor-plugin#v2.1.0
- 重啓 DSH,刷新頁面。打開 Settings → Plugins → 飛書會話監聽。
升級可再次執行上述 add;移除示例:
dsh plugin --profile web remove dsh-lark-session-monitor-plugin
典型用法:從飛書應用到第一條監聽¶
1. 創建飛書應用並填憑證¶
在 飛書開放平臺 創建企業自建應用,啓用 README 列出的用戶權限:
| Scope | 用途 |
|---|---|
im:message.p2p_msg:get_as_user |
讀取私聊 |
im:message.group_msg:get_as_user |
讀取羣聊 |
im:chat:read |
解析會話名稱 |
offline_access |
免重複授權刷新 token |
在插件設置頁填入 App ID、App Secret 並保存。
2. 用戶授權¶
點擊 開始授權,在瀏覽器中打開鏈接並在飛書中同意 scope,回到 DSH 點擊 我已完成授權。
3. 新建監聽¶
點擊 新建監聽,按字段含義配置(名稱、會話類型、監聽會話、Prompt、目標工作區、目標會話等)。需要只處理 @ 機器人時可配合 Senders 與 Also @bot mentions;需要降噪時使用關鍵詞黑白名單。保存並 啓用 該 monitor 後開始輪詢投遞。
投遞內容示例結構(README):
<your prompt>
[發送者] [消息ID] 消息正文
[發送者] [消息ID] 第二條消息
適用場景與注意¶
適合誰:已在 DSH Web 側使用插件 profile、希望把飛書指定會話的新消息自動餵給某個工作區/session 的開發者或團隊(例如值班羣摘要、指定發送人消息觸發 Harness 流程)。不適合期望實時 push、富媒體原樣進模型、或插件代發飛書回覆的場景——README 標明僅文本類可讀內容、輪詢有間隔、且不向飛書發消息。
隱私與邊界(摘自 README):只讀你配置的會話;網絡訪問限於已授權的飛書 API(含解析 @ 機器人身份時應用自身憑證);無遙測;設置接口走 DSH 已認證的 /api,且 rpcAuthority: loopback 時要求 loopback 的 Host 與 Origin。
安全習慣:安裝前閱讀倉庫源碼;憑證落在 DSH 設置與 credentials 服務中,仍應按組織規範保管 App Secret 與 DSH 實例訪問權限。
結尾¶
dsh-lark-session-monitor-plugin 把「飛書會話 → DSH session」收成插件內配置:用戶身份讀會話、渲染後再投遞,並支持發送者、@ 機器人與關鍵詞等過濾。DSH 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。