前言¶
在 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