前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許通過即時通訊工具與項目交互。在構建智能體時,通常需要應用具備消息接收與發送能力。傳統方案往往依賴 HTTP 回調,要求應用暴露公網地址,這在某些網絡環境或安全要求較高的場景下難以實施。
dsh-feishu-bot 插件解決了這一問題。它通過飛書應用機器人建立連接,利用 WebSocket 長連接代替公網回調,無需暴露任何 URL。同時,它支持通過二維碼完成應用的安全綁定,免去了手動複製 App ID 和 App Secret 的繁瑣步驟。
dsh-feishu-bot 簡介¶
dsh-feishu-bot 是由用戶 452926826 開發的聯網工具類插件。其核心價值在於將 DSH 的項目管理與對話能力接入飛書環境,使開發者能夠通過飛書客戶端直接操作 Harness 的資源。
核心功能¶
該插件主要提供以下能力:
- 長連接通信:使用 WebSocket 保持與飛書的持久連接,支持自動重連和心跳檢測,無需公網回調 URL。
- 安全綁定:首次使用時,通過終端顯示的二維碼創建並授權飛書應用。應用創建完成後,憑證(包括 App Secret)僅保存在本地,不會寫入代碼倉庫。
- 資源管理:通過飛書命令列表、選擇和創建 DSH 的項目與對話。
- 操作審批:當工具請求操作時,插件會通過飛書發送待審批通知,支持通過
/approve或/reject命令進行批准或拒絕。 - 消息廣播:支持將對話完成通知廣播至額外的飛書羣組(通過環境變量配置)。
安裝與配置¶
安裝前請確保系統已安裝 Node.js 20 或更高版本。
安裝命令:
dsh plugin --profile web add github:452926826/dsh-feishu-bot
可選環境變量:
安裝後,可以通過環境變量微調行爲:
# 指定項目根目錄
export FEISHU_PROJECTS_ROOT='/absolute/path/to/projects'
# 限制允許操作 Harness 的飛書羣組(推薦生產環境使用)
export FEISHU_ALLOWED_CHATS='oc_xxx,oc_yyy'
# 廣播完成通知至額外羣組(源對話也會收到通知)
export FEISHU_NOTIFY_CHATS='oc_ops,oc_owner'
常用命令¶
在飛書與機器人的對話中,使用以下命令進行操作:
/lp:列出當前所有項目。/up + 項目名稱或索引:選擇一個現有項目。索引基於/lp的輸出。/np + 項目名稱:在當前項目根目錄下創建並選擇一個新項目。/lc:列出當前項目下的所有對話。/uc:進入最近一次完成的對話,並返回其最後兩條消息。/uc + 索引:根據/lc的索引選擇並進入某個對話。/nc:在當前項目中創建並選擇一個新對話。/approve:批准當前待定的操作。/reject:拒絕當前待定的操作。/help:顯示幫助信息。
注意事項¶
- 二維碼有效期:終端顯示的綁定二維碼通常在 10 分鐘後過期,超時後需重啓 DSH 重新生成。
- 憑證存儲:綁定憑證保存在
~/.dsh/feishu-bot/credentials.json,文件權限爲 0600。 - 權限隔離:普通機器人消息會作爲用戶指令提交給 Harness,擁有與當前活動 DSH 配置文件相同的權限。建議配置
FEISHU_ALLOWED_CHATS以限制可交互的羣組,避免非預期的操作。 - 許可證:插件未明確說明具體的許可證信息。
- 構建依賴:如果在安裝過程中遇到
protobufjs構建警告,可在對應的pnpm-workspace.yaml中添加allowBuilds: protobufjs: true。