前言¶
在 DeepSeek Harness(DSH)裏跑 Agent 時,Web UI 往往長時間佔着屏幕:等模型輸出、等工具鏈收尾,同事或同組開發者卻不在同一個 IM 裏。自建中心化聊天服務要運維、要賬號體系;直接在 DSH 插件沙箱裏綁端口又受宿主能力限制——常見做法是另開一套服務,和 Harness 會話脫節。
@eave_bounty/dsh-programmer-chatroom 面向上述場景:在 DSH web profile 裏掛一個客戶端插件,讓每臺跑着 DSH 的機器同時充當中繼,在局域網或配置好的公網 rendezvous 上組成 mesh 羣聊。下面介紹它是什麼、能做什麼,以及如何安裝與基本使用。
這是什麼¶
dsh-programmer-chatroom 是 EaveBounty 維護的 DSH 客戶端類插件(SkillHub 目錄頁標註版本 v1.2.2)。一句話定位:面向 DeepSeek Harness 的去中心化 P2P 羣聊——每臺機器都是 relay,消息在節點本地用內嵌 DFA 做離線審覈,界面走微信/QQ 式氣泡佈局並配合 DeepSeek 品牌配色。
插件解決的核心問題是:在 DSH 插件宿主 API 較窄(文檔說明半區不直接提供 net/dgram/crypto/ws/URL 等)的前提下,仍能讓多機互聊。實現上由插件通過宿主 subprocess 拉起插件外的 Node 伴生進程 dshc-relay.js,用文件 IPC 與 UI 層交換消息,中繼進程負責真實網絡監聽與 mesh 合併。
核心功能¶
以下能力均來自插件公開文檔(npm 包說明與社區目錄頁),按模塊歸納。
去中心化 mesh 與中繼¶
DSH 啓動並加載插件後,伴生中繼默認綁定 0.0.0.0,節點之間通過 HTTP 拉取、按全局 msgId 去重合並,不依賴單一中央聊天服務器。文檔明確:聊天記錄只存在於在線機器內存,全部關閉即消失,不做持久化存儲。
離線內容過濾(DFA)¶
每條消息在發送節點本地經過內嵌 DFA 敏感詞過濾與中文詞庫;文檔還提到正則增強(如疑似 API 密鑰、身份證號、手機號等模式)。違規內容在寫入 mesh 前被丟棄,發送端無額外提示。細節見包內 docs/SECURITY.md(文檔索引中列出)。
Web UI 與成員身份¶
web profile 側邊欄底部出現「羣聊」入口,浮動面板含聊天、成員、設置等頁:氣泡、頭像顏色、暱稱(硬件指紋派生 deviceId 後可改)、氣泡間距/字距/字號等可調並記憶。
雙網絡模式¶
- 局域網:UDP 信標自動發現同網段節點,也可在設置裏手動添加
http://<對方 IP>:<對方端口>。 - 互聯網:可切換至互聯網模式,配合自部署的 Cloudflare Workers rendezvous(見
docs/RENDEZVOUS.md)與 cpolar 等內網穿透,上報公網地址後跨 NAT 互連。關閉羣聊時文檔說明隧道與上報會停止,節點目錄約 5 分鐘過期。
許可證¶
公開文檔標註 MIT © EaveBounty。
安裝與啓用¶
插件爲標準 npm 包 @eave_bounty/dsh-programmer-chatroom,推薦安裝到 DSH 的 web profile。安裝後需重啓 DSH,插件纔會加載。
推薦命令如下(與文檔「從 npm 安裝」一節一致):
dsh plugin --profile web add @eave_bounty/dsh-programmer-chatroom
也可全局安裝 npm 包(文檔給出的備選方式):
npm install -g @eave_bounty/dsh-programmer-chatroom
安裝完成後,可用下面命令確認配置層是否生效(文檔示例使用 default profile 的 dump;若你僅改 web profile,請對照自己的 profile 名稱):
dsh --profile default --dump-config
社區安裝指南還建議結合 dsh plugin --profile web why 檢查依賴,並通過 dsh web 啓動 Web UI 驗證側邊欄是否出現羣聊入口。
安全提示:插件會以當前 dsh 進程權限運行,並會拉起伴生 Node 中繼監聽網絡。安裝前請閱讀包內源碼、LICENSE 與 docs/SECURITY.md,確認可接受本地過濾策略與 subprocess 行爲;勿在未審計的情況下在生產敏感環境直接啓用公網 rendezvous。
典型用法¶
經過上面的安裝與重啓,可按文檔「快速開始」順序操作:
- 在已加載插件的 DSH web 會話中,打開側邊欄底部的羣聊面板。
- 局域網(默認):同網段多臺 DSH 通常會被 UDP 信標發現並直連;必要時在「設置 → 網絡模式」手動添加對端
http://<IP>:<端口>。 - 互聯網:在設置中切換到互聯網模式,填寫你的 Cloudflare Workers 站點地址;按文檔配置 cpolar(如
npm i -g cpolar與cpolar authtoken <token>),由插件上報公網地址並拉取其他在線節點。 - 調試 mesh 時,文檔給出獨立運行中繼與測試 peer 的示例(不經過 DSH UI):
node dshc-relay.js --port 39321 --bind 0.0.0.0 --name nodeA
node dshc-relay-test-peer.js Alice "hello everyone" "sk-should-be-blocked1234567890"
第二條命令中的敏感樣例字符串用於驗證 DFA 攔截邏輯(文檔示例原文保留)。
適用場景與注意¶
適合誰:在同一局域網或已約定 rendezvous 的多名 DSH 用戶,希望在等 Agent 時輕量互聊,且能接受無歷史記錄、關閉即清空的語義。
需要注意:
- 依賴 web profile 與 Web UI;headless 場景需自行評估是否滿足需求。
- 互聯網模式涉及自建 Workers、內網穿透與公網暴露面,部署前應讀完
docs/RENDEZVOUS.md並限制站點訪問。 - DSH 生態理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文安裝命令以插件公開文檔爲準,而非目錄頁短鏈拼接。
結尾¶
dsh-programmer-chatroom 把 P2P 羣聊收進 DSH 客戶端層:伴生中繼繞開宿主網絡限制,本地 DFA 在出網前過濾,UI 貼近常見 IM 習慣。若要在 Harness 裏試裝,可從社區目錄查看條目信息,並對照 npm 包說明完成 profile 安裝與重啓。
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/EaveBounty/dsh-programmer-chatroom
- GitHub(線索頁,訪問時請自行確認倉庫是否可用):https://github.com/EaveBounty/dsh-programmer-chatroom
- 插件說明鏡像(含完整 README 與安裝節):https://dshmp.com/en/plugins/eave_bounty-dsh-programmer-chatroom