前言¶
DeepSeek Harness(DSH)插件生態支持通過擴展功能來豐富工作流。在本地多節點協作的場景下,開發者通常需要在同一局域網下的多臺 DSH 實例間進行即時溝通。lan-im 插件解決了這一問題,它允許安裝本插件的 DSH 實例以賬號身份互相發現,並實現可靠的消息投遞與局域網文件共享。
功能特性¶
該插件構建了一套完整的局域網即時通訊與協作方案,主要包含以下能力:
- 賬號體系:以賬號(username + 顯示名)而非機器作爲身份。首次使用需設置賬號,之後免登錄。
- 網絡發現:採用 mDNS + UDP 廣播雙通道進行節點發現,按設備去重,即使在組播被隔離的網絡中也能發現。
- 可靠消息:私聊支持送達確認(ack)與離線補發(持久化 outbox,對端上線自動補發);羣聊爲盡力投遞。
- 實時推送:客戶端與宿主間使用瀏覽器原生 WebSocket(同源升級,無輪詢),窗口關閉後連接依然保持。
- 通知未讀:提供懸浮按鈕未讀角標,並在窗口關閉或不可見時觸發桌面通知。
- 頻道管理:使用 UUID 穩定標識頻道,支持公共頻道與私有頻道。私有頻道支持成員邀請、移除及消息按成員路由。
- 局域網網盤:每個頻道對應一個共享文件空間,通過索引廣播實現按需拉取與本地緩存,上傳者可刪除文件。
- 數據與 UI:聊天曆史本地落盤至
~/.dsh/plugins-data/lan-im/(內存窗口上限 500 條,歷史文件全量保留)。UI 提供側邊欄入口、可拖拽懸浮窗(支持快捷鍵喚起)及診斷日誌。
安裝與啓用¶
在終端執行以下命令即可完成安裝與啓用:
dsh plugin --profile web add git:https://github.com/mishiqian/lan-im.git
dsh web
安裝完成後,重啓 DeepSeek Harness 的 Web 服務組合。
使用¶
- 創建賬號:首次打開懸浮窗時,輸入賬號、顯示名(密碼可選)以創建本地身份。
- 喚起界面:通過側邊欄「局域網聊天」標籤、右下角懸浮按鈕或快捷鍵
Ctrl+Shift+L喚起聊天窗口。 - 發送消息:在公共頻道羣發,或點擊左側某賬號切換一對一私聊。私聊消息會顯示已送達狀態。
- 文件共享:在頻道內切換至「文件」標籤,支持上傳、下載、預覽與刪除共享文件。
- 接收通知:窗口關閉時收到消息,懸浮按鈕會出現未讀角標,並觸發桌面通知(需首次點擊授權)。
注意事項¶
- 消息容量:私聊的離線補發隊列(outbox)每賬號上限 200 條,超出則丟棄最舊消息。
- 文件緩存:當共享文件的所有者離線時,用戶只能訪問已緩存的文件,無法拉取新文件,需等待所有者上線。
- 安全限制:密碼僅存儲哈希,不做跨機校驗;傳輸爲明文,僅適用於可信局域網。
- 狀態重置:未讀計數爲瀏覽器會話狀態,刷新頁面後會清零。
- 隱私風險:無端到端加密,請勿在不可信網絡中使用。
結語¶
lan-im 爲 DSH 本地多節點協作提供了輕量級的即時通訊與文件共享方案。它通過 WebSocket 和 mDNS 實現了免服務器的局域網通信,適合在內部網絡環境下的開發者使用。