dsh-remote-conn
August 19, 2026 · View on GitHub
DeepSeek Harness 远程连接管理插件(Remote Connections Manager for DeepSeek Harness)。
在一台服务器上部署 DeepSeek Harness 后,通过本插件可以管理多台远程机器(SSH 密码或私钥认证),在「添加工作区」流程中直接选择远程机器与远程目录创建工作区,并让会话中的模型直接操作远程机器的真实文件(Linux / Windows)。
English: manage multiple SSH machines (password or private key) from the Harness Web UI, auto-connect on startup, pick remote workspaces in the workspace add-flow, and operate remote files directly via remote_* tools.
功能
- 多机器 SSH 连接管理(设置 → 远程连接):添加 / 编辑 / 删除 / 测试连接,密码或私钥认证,支持 Linux 与 Windows(PowerShell)目标机。
- 持久化 + 启动自动连接:机器配置保存到
~/.dsh/remote-connections.json,harness 每次启动自动加载并后台验证连通性。 - 添加工作区选远程目录:在工作区添加流程(侧边栏 / 会话空状态)弹出「远程 / 本机」选择器,选机器 → 浏览远程目录 → 选用远程目录 → 注册为原生工作区。远程目录只建本地轻量锚点(KB 级),不下载内容。
- 会话直接操作远程文件:模型工具
remote_connect/remote_disconnect/remote_exec/remote_list_dir/remote_read_file/remote_write_file直连远程机器真实文件,系统提示自动注入已配置机器列表。 - 设置页工作区浏览器:浏览远程目录、查看/编辑文件(保存直写远程)、在远程执行命令。
安装
从 GitHub(推荐)
dsh plugin --profile web add github:YOUR_NAME/dsh-remote-conn
纯 JavaScript 包(无需构建),GitHub 安装可直接使用。首次安装若 pnpm 拒绝执行 prepare,在 profile 的 pnpm-workspace.yaml 添加:
allowBuilds:
dsh-remote-conn: true
从 npm
dsh plugin --profile web add dsh-remote-conn
本地开发
dsh plugin --profile web add ./dsh-remote-conn
使用
- 打开 Harness Web UI(
http://<server>:3080)。 - 设置 → 远程连接:添加机器(名称、主机、SSH 端口、用户名、密码或私钥路径、平台)。
- 添加工作区(侧边栏或会话空状态):选「远程」tab → 选择机器 → 浏览远程目录 → 「选用此远程目录」→ 创建为工作区。
- 在工作区会话中,模型使用
remote_*工具直接读 / 写 / 执行远程机器上的文件。
配置
插件无静态配置项;所有机器在设置页维护。
Model Experience
Request context and condition
What the model sees
当配置了至少一台机器时,插件注入一段系统提示,列出每台机器的 connectionId、平台、用户名与地址,并指示模型用 remote_* 工具直接操作远程真实文件:
## 远程工作区
已配置以下远程机器,直接对远程机器的真实文件操作(不要依赖本地镜像):
- <name> → connectionId: <id>(<platform>,<user>@<host>:<port>)
使用工具:remote_list_dir / remote_read_file / remote_write_file / remote_exec(connectionId 取上面列出的 ID)。
无机器配置时不注入该段(返回空字符串)。
Token effect
条件性:仅在存在已配置机器时注入一个固定段落;每台机器追加一行(约 80–140 token)。工具 schema 固定,无运行时增长。
KV Cache effect
前缀稳定:提示段为固定文本 + 每机器一行的尾部数据行;机器列表不变时不使既有缓存前缀失效。新增/删除/重命名机器会改变尾部行,属于尾部替换而非前缀失效。
Tool schemas
remote_connect / remote_disconnect / remote_exec / remote_list_dir / remote_read_file / remote_write_file 六个固定工具 schema 随会话注入,参数固定,无缓存影响。
Known Limitations and Deferred Work
- 密码以明文存于
~/.dsh/remote-connections.json— 服务器本地文件,权限受限;如需更强的凭据保护,可考虑改用私钥认证或对接凭据存储。 - SSH 连接按需建立、逐命令复用 — 无持久会话/隧道;长时间交互式命令(如
vim、ssh -L)不受支持,应使用remote_exec执行一次性命令。 - Windows 目标机需已启用 OpenSSH Server — 插件通过 SSH(非 RDP)连接;请确认目标机 22 端口(或自定义端口)的 sshd 可用。
- 目录选择器仅支持目录级浏览(进入目录/返回),不支持符号链接深层展开与文件上传。
- 工作区锚点为轻量本地目录 — 本地不镜像远程内容;如需要在本地直接编辑,请用会话中的
remote_read_file/remote_write_file或设置页浏览器(保存即写回远程)。
License
MIT