DeepSeek Harness (DSH) 支持在多台主机上部署。当远程服务器运行着 DSH Web 实例时,查看或控制远程会话通常需要打开新窗口或切换浏览器标签页,打断本地工作流。dsh-remote-dsh 插件通过在本地侧边栏增加一个“远程”标签页,将远程主机的 DSH 界面接管至当前页面,并提供会话状态指示。
这是一个由 hutao562 维护的 DSH 插件。它为 Web 端添加一个侧边栏标签页,点击后会将当前页面重定向为远程主机的 DSH Web GUI,并在侧边栏顶部显示远程会话的状态点。
安装与启用¶
通过官方插件命令安装:
dsh plugin --profile web add dsh-remote-dsh
安装后需要重启一次 DSH。
典型用法¶
- 在远程主机上运行
dsh web,获取包含?token=的 URL。 - 使用 SSH 将远程端口映射到本地回环端口:
ssh -L 3081:127.0.0.1:3080 user@remote-host
- 在本地侧边栏点击“远程”行,点击“+ 添加”。
- 填写地址为
http://127.0.0.1:3081。 - 在设置行中粘贴远程
dsh web打印的 token,点击配对。
核心特性与限制¶
必须使用本地回环端口¶
远程 DSH 的会话 Cookie 设置为 HttpOnly; SameSite=Strict,因此只能通过本地回环端口(如 ssh -L 或 frp stcp/xtcp)访问。直接访问公网域名或非回环 IP 会导致 401 或 403 错误。
会话状态徽章¶
侧边栏顶部的“远程”行包含一个状态点,颜色含义如下:
- 蓝色:远程主机上有正在运行的会话(含子代理)。
- 绿色:自上次查看远程视图后,有会话完成了一轮。
- 琥珀色:远程主机上有会话处于“等待批准/提问/计划评审”状态。此状态需要被控端安装 v4 以上版本的 peer 插件。
- 红色:无法读取远程状态(通常是被控端未安装 peer 插件)。
开发与热加载¶
该插件无构建步骤。修改 lib/index.js 需要重启 DSH;修改 lib/client.js 刷新页面即可生效。首次安装支持热加载,无需重启。
已知限制¶
- 接管页面时会覆盖本地侧边栏,返回需依赖顶栏按钮。
- 在 iframe 中 Esc 键可能失效。
- Token 是每个进程生成的,重启远程
dsh web后需重新配对。 - 暂不支持将远程主机集成为本地的模型工具。
生态背景¶
DSH 理念是“一切皆插件”,该插件为本地侧边栏增加了远程控制能力,但并未提供 Agent 集成功能。更多实现细节与文件结构请参考 GitHub 仓库。