dsh-control:本地窗口统一管理远程 dsh 实例

前言

DeepSeek Harness (DSH) 采用插件化架构,在多机协作场景下,通常需要分别处理不同机器上的工作空间或会话。dsh-control 旨在解决这一痛点:它不需要在远程机器上部署额外的文件系统工具,而是通过 SSH 隧道,将远程已经运行的 dsh 实例接入本地前端,实现统一管理。

这是什么

dsh-control 是一个客户端插件,由 6mt 维护。它的核心作用是提供本地窗口,驱动并管理远程机器上正在运行的 dsh 实例。

不同于传统的远程工作空间插件(如 dsh-remote),dsh-control 并不把远程机器视为文件系统,而是将其视为一个运行中的 dsh 实例。它允许你在本地侧边栏直接与远程会话交互,远程回复以 Token 级流式传输,无需更改远程配置。

核心功能

  1. 远程 dsh 实例的本地前端
    在本地侧边栏创建面板,直接访问远程机器上已运行的 dsh。
  2. 一键 SSH 连接
    输入 user@host 即可探测远程 dsh 状态,建立加密通道并连接。
  3. 自动创建同名本地工作空间
    每个远程环境会自动在本地创建同名工作空间,创建的会话会自动关联到远程。
  4. Token 级流式传输
    远程回复逐 Token 流入,体验与本地会话一致。
  5. 配对命名
    远程会话名称会自动添加前缀(如 控制端·<local title>),确保本地与远程会话对应。
  6. 侧边栏可见与自愈
    远程会话在侧边栏标记可见。连接断开时会如实报告,支持一键修复。

安装与启用

插件通过 npm 包名发布,安装命令如下:

dsh plugin --profile <your profile> add github:6mt/dsh-control

安装后,需完全退出并重新打开 dsh 才能加载插件。插件在本地维护状态文件和按需建立的 SSH 隧道,不依赖任何原生模块。

版本管理

  • 更新:使用 dsh plugin --profile <your profile> update dsh-control 拉取最新代码。
  • 固定版本:通过标签或提交哈希锁定版本。
    dsh plugin --profile <your profile> add github:6mt/dsh-control#v0.1.0

注意事项

  • 远程环境要求:远程机器必须已安装并运行 dsh(版本需 >= 0.2.0-rc.2)。
  • 连接方式:目前通过 SSH 连接,需配置无密码登录或 SSH 密钥。
  • 数据安全:密码从不存储。本地仅维护 $DSH_HOME/dsh-control/state.json 状态文件(权限 0600),不写入远程文件系统,也不管理远程 dsh 的生命周期。
  • 实验性功能:取消远程回合功能已实现但标记为实验性。
  • 共存性:可与 dsh-remote 类插件共存。

总结

dsh-control 提供了一种零侵入的方式来管理多台机器上的 dsh 实例。它利用远程现有的模型凭证和沙箱,通过本地 SSH 隧道提供流式交互体验。

更多信息可参考:DSH 插件目录 | GitHub 仓库

羽毛球分组比赛记分
小程序二维码

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

小夜