前言¶
DeepSeek Harness (DSH) 是一個本地運行的智能體開發與執行環境。開發者通常需要在終端或 IDE 中與智能體交互。dsh-lark 是一個爲 DSH 設計的插件,它充當了 Feishu/Lark 與本地 DSH 實例之間的網關。通過這個插件,用戶可以在 Feishu 中直接發送指令來驅動本地智能體,並接收實時回覆。
該插件靈感來源於 botmux,旨在提供一種極簡的“對話即驅動”體驗。它通過 WebSocket 長連接建立通信,無需配置公網回調 URL,適合在筆記本電腦等網絡環境受限的場景下使用。
核心功能¶
該插件主要解決遠程控制與狀態反饋的問題,具備以下能力:
- WebSocket 長連接:建立與 Feishu 的持久連接,無需回調 URL 即可接收消息。
- 會話映射:私聊爲一對一會話;羣聊中,不同話題(Thread)的消息相互隔離;普通羣消息共享一個會話(可通過配置調整)。智能體不會主動開啓話題,僅回覆用戶發言的位置。
- 多模態輸入:支持在 Feishu 中直接發送圖片,原生傳遞給支持視覺的模型。
- 文件傳遞工具:內置
lark_deliver工具,允許智能體將工作目錄內的文件或圖片發送回聊天窗口。 - 單卡片交互:每個任務對應一張可更新的卡片,實時顯示狀態(運行中、完成、錯誤)和執行步驟,底部附帶 Web 按鈕。僅回覆內容過長時會溢出爲額外消息。
- 工具批准:敏感操作會彈出批准卡片,支持 Feishu 內的一鍵通過/拒絕(
/approve//reject),Web 面板也支持該功能。 - 安全默認:默認開啓
open_id白名單機制,陌生人首次交互時會收到自己的open_id,需手動添加到白名單。
安裝與啓用¶
構建產物已提交到倉庫,安裝後立即可用,無需本地構建步驟。
安裝命令:
dsh plugin --profile web add "github:keepview/dsh-lark"
配置步驟¶
-
創建 Feishu 應用:
- 在 Feishu 開放平臺 或 Lark Developer 創建自定義應用。
- 開啓“機器人”能力。
- 權限配置:需勾選
im:message、im:message:send_as_bot、im:resource。 - 事件訂閱:選擇“長連接”模式,訂閱事件
im.message.receive_v1。在回調配置中也需選擇“長連接”(用於接收批准卡片的點擊事件)。 - 發佈版本並獲取
App ID和App Secret。
-
提供憑證:
環境變量是推薦配置方式:
export DSH_LARK_APP_ID=cli_xxx
export DSH_LARK_APP_SECRET=xxx
export DSH_LARK_ALLOWED_OPEN_IDS=ou_xxx
> 若未配置憑證,插件會處於閒置狀態並提示,不會阻塞 DSH 啓動。
交互與命令¶
安裝並啓動 DSH Web Profile 後,可直接與機器人交互:
- 觸發方式:在 Feishu 中直接發送私聊消息,或在羣聊中 @ 機器人。
- 支持命令:
/steer <text>:接管對話。/stop:停止當前任務。/new:開啓新任務。/sessions:查看會話列表。/resume <id>:恢復指定會話。/approve//reject:批准/拒絕工具調用。/help:查看幫助。
安全與架構說明¶
- 安全警告:陌生人默認被拒絕。若需開放給所有人,需將環境變量
DSH_LARK_ALLOW_ALL_USERS設爲true,但這會允許任何能聯繫到機器人的用戶驅動本地智能體,請謹慎操作。 - 文件限制:
lark_deliver工具僅限於發送工作目錄內的文件。 - 代碼規模:插件源碼約 600 行,結構精簡。Lark 協議層完全依賴官方 SDK,運行時無額外依賴,SDK 代碼已內聯。
- 適用範圍:DeepSeek Harness 目前爲開發者預覽版。部署時需注意其沙箱邊界(如廣泛的只讀權限、不受限的出口流量)。
總結¶
dsh-lark 提供了一種輕量級的途徑,將本地的 DSH 智能體接入 Feishu 生態。對於需要通過即時通訊軟件進行遠程開發調試、代碼審查或本地自動化執行的開發者,該插件是一個直接的解決方案。