dsh-friends-plugin:DSH 內浮動好友列表與一對一聊天

前言

在 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 聊天與安全競態迴歸。

安裝與啓用

  1. 在 DSH 插件頁安裝該插件目錄或 npm tarball,並確認 Host 信任提示。
  2. 另行運行好友服務(僅 API,無 Web UI),並保證 Host 能訪問其 origin。
  3. 配置插件項(見下節)。升級插件或 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 可禁用自動離開。

典型用法

  1. 部署並啓動好友服務,記下 Host 能訪問的 origin(本地常用默認 http://127.0.0.1:8787)。
  2. 在 DSH 插件頁安裝 dsh-friends-plugin,填寫 serviceUrl,按需調整 autoAwayMinutes。
  3. 重啓 DSH 後,從側欄「好友」或右下角按鈕打開浮窗,完善資料與在線狀態。
  4. 添加好友後,用聊天按鈕開標籤頁對話;需要換設備時在「換電腦」按 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜