前言¶
在 DeepSeek Harness(DSH)裏跑任務、調模型時,開發者往往長時間停留在同一 Host 界面。若需要和同機或遠程的協作者做簡短文字溝通,切到 IM 或瀏覽器標籤會打斷上下文。社區插件 dsh-friends-plugin(維護者 Orchidroot,分類:聯網工具)把好友列表、個人資料和多標籤一對一聊天做成可拖動的浮窗,疊在 DSH 之上,切換 DSH 頁面時佈局仍保留。
該插件只負責 DSH 側界面與 Host RPC;好友關係、消息與身份數據落在需自行部署的好友服務上(服務僅提供 API,沒有網頁界面)。這與「在 DSH 裏裝一個聯網類工具、再連自託管後端」的常見做法一致:界面在插件,數據在你控制的服務器。
這是什麼¶
dsh-friends-plugin 是可安裝包,當前資料中的版本爲 0.8.2(MIT 許可證)。它在 DSH 內註冊側欄與 overlay,提供浮動好友窗口;通過配置的 serviceUrl 與好友服務通信。DSH 目標版本爲 >=0.2.1-rc.5 <0.3.0,依賴 DSH 自帶的 Schema、React、connection 和 credentials,不需要單獨編譯。
目錄頁:Skillhub 插件頁
源碼與說明:GitHub — Orchidroot/dsh-friends-plugin
核心功能¶
浮窗與佈局¶
側欄底部「好友」行或右下角「好友」按鈕會直接彈出浮窗,不切換 DSH 頁面。標題可拖動,角落可縮放,可最小化或關閉;切換 DSH 頁面時佈局保留,重新加載頁面則重置佈局。
個人資料與狀態¶
可上傳頭像(客戶端壓成 96px JPEG)、寫 140 字簽名,並將「在線/離開/忙碌」換成自定義詞條。浮窗還會展示「在跑任務 / 使用中 / 空閒」(詞條可自定義)、今日 token 用量,以及本輪任務已跑多久——依據是 DSH 會話日誌最近是否在寫入,不讀取對話內容。
身份與多設備¶
「換電腦」流程中可出碼:遷移碼表示搬家(舊機器退出);多端共享碼表示兩臺設備同時在線且權限相同。0.2.x 身份可在服務升級後保留(服務數據庫自動遷移);0.1.x 瀏覽器 localStorage 身份不能自動遷移。
聊天¶
點擊好友的聊天按鈕打開多標籤一對一文字聊天。Enter 發送、Shift+Enter 換行,支持輸入法、離線留言、未讀數、新消息提醒和已讀回執。每條消息最多 2000 個 Unicode 字符;服務器每段會話保存最近 1000 條。失敗後由用戶手動重試,同一次請求使用同一標識以避免重複。
Host 側實現要點(供覈對行爲)¶
資料中列出的模塊分工:index.js 註冊 owner 鑑權 RPC;host.mjs 管理身份、心跳與自動離開;chat.mjs 處理消息投影與可取消長輪詢;stream.mjs 訂閱 SSE 並退避重連;client.js 爲 React-only lazy factory,註冊管理頁、側欄與 overlay,使用 DSH 主題 token 與中英字典。README 稱 85 項自動化測試通過,含真實臨時服務的雙 Host 聊天與安全競態迴歸。
安裝與啓用¶
- 在 DSH 插件頁安裝該插件目錄或 npm tarball,並確認 Host 信任提示。
- 另行運行好友服務(僅 API,無 Web UI),並保證 Host 能訪問其 origin。
- 配置插件項(見下節)。升級插件或 Host 相關代碼後,必須重啓 DSH 才能加載新代碼;state RPC 的 version 應爲 0.8.2,磁盤上的包版本不代表運行中代碼已更新。
打包 tarball 時,資料給出的命令爲:
npm pack --ignore-scripts
資料未給出 dsh plugin add github:... 一類 CLI 字符串,安裝以 DSH 插件頁與 tarball 爲準。
配置項¶
| 配置項 | 說明 |
|---|---|
serviceUrl |
默認 http://127.0.0.1:8787,表示 Host 可訪問的好友服務 origin。遠程部署必須使用 HTTPS;不允許在 URL 中帶路徑、query 或賬號密碼。 |
autoAwayMinutes |
默認 10;設爲 0 可禁用自動離開。 |
典型用法¶
- 部署並啓動好友服務,記下 Host 能訪問的 origin(本地常用默認
http://127.0.0.1:8787)。 - 在 DSH 插件頁安裝 dsh-friends-plugin,填寫
serviceUrl,按需調整autoAwayMinutes。 - 重啓 DSH 後,從側欄「好友」或右下角按鈕打開浮窗,完善資料與在線狀態。
- 添加好友後,用聊天按鈕開標籤頁對話;需要換設備時在「換電腦」按 README 說明使用遷移碼或多端共享碼。
適用場景與注意¶
適合誰:需要在 DSH 工作流裏保持可見、可拖動的協作者列表與私聊,且願意自託管好友服務 API 的團隊或個人。
權限與安全:插件以當前 DSH 進程權限運行,安裝前應閱讀源碼與 MIT 許可證。身份令牌僅存於 DSH 憑據庫,按服務 origin 哈希區分;瀏覽器只能調用 owner 鑑權的固定 RPC,不能拿到令牌或隨意指定上游 URL。插件不讀取 DSH 會話、文件、模型或任務。
隱私(README 明確說明):聊天明文保存在自部署服務器,管理員可讀,不是端到端加密。刪好友會連同聊天記錄一併清除。界面上沒有註銷賬號與「忘記身份」入口,需要時直接調用服務端接口。隱身僅隱藏在線狀態;主動發消息或已讀回執仍會暴露活動。
驗證範圍:README 註明完整 DSH 重啓、開機自啓、公網部署與 Docker 構建不在其已驗證範圍內;自行上生產前應額外驗證。
DSH 生態強調「一切皆插件」;Skillhub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-friends-plugin 把好友浮窗、資料與一對一聊天嵌進 DSH,通過自託管 API 同步關係與消息,適合不想離開 Host 又要輕量私聊的場景。部署服務、在插件頁安裝並配置 serviceUrl、重啓 DSH 後即可從側欄或右下角入口使用。
- 目錄頁:https://www.skillhub.cn/plugins/Orchidroot/dsh-friends-plugin
- GitHub:https://github.com/Orchidroot/dsh-friends-plugin