DSH(DeepSeek Harness)采用插件化架构,允许开发者根据需求扩展功能。在远程服务器(如云主机)上部署 Harness 环境通常涉及手动配置 Node.js、解压文件、处理凭证等繁琐步骤,且难以保证环境的一致性与安全性。
DSH Remote Runtime 插件旨在解决这个问题。它通过 OpenSSH 在远程 Linux 主机上管理一个隔离的、官方版本的 Harness 运行时,并提供原生的 Web 控制界面。所有 SSH 连接、文件操作、进程执行和密钥凭证均保留在插件宿主机中,浏览器仅通过受限制的 JSON 接口获取摘要信息。
核心功能¶
该插件主要在 DSH Web UI 中增加了以下能力:
- 远程配置管理:添加远程主机配置,管理远程工作区。
- 运行时验证:自动安装并验证远程运行时环境,包含 Node 22.19 和官方 DSH rc.8。下载包及解压后的所有文件均通过 SHA-256 校验。
- 安全隔离:凭证以
0600权限写入,仅存储在宿主机,绝不返回给浏览器状态、日志、快照或进程参数。 - 访问控制:SSH 是唯一的访问控制边界。
- 流量限制:认证的 Client-Proxy 出站流量仅允许访问公网 HTTP(S),其他地址(私有、本地、IPv6 等)将拒绝连接。
- 隧道与 UI:通过本地回环隧道(Loopback tunnel)暴露远程 Harness UI,无需直接暴露远程服务器的 Web API。
安装与启用¶
安装此插件需要当前本地 DSH 版本为 0.1.0-rc.8,并运行 Web profile。
- 执行以下命令安装插件:
npx.cmd --yes @deepseek-ai/dsh@0.1.0-rc.8 plugin --profile web add @artificialnotimbecile/dsh-remote-runtime@latest
- 安装完成后,重启已运行的 Web profile。
典型用法¶
完成安装后,在 DSH Web UI 中进行配置:
- 打开 Settings -> Remote runtime。
- 添加一个 OpenSSH 主机,并可选填远程工作区路径。
- 选择出站模式:
- Remote-direct:远程直连模式。
- Client-proxy:客户端代理模式(需配置认证)。
- 运行只读的 Doctor 检查,确认环境满足要求后,显式安装验证过的运行时。
- 通过“写仅”表单导入 DeepSeek API 密钥。
- 启动运行时,系统将自动打开本地回环隧道 URL。
- 在浏览器中浏览工作区、查看会话历史、发送或取消提示。
断开连接不会终止远程 Harness 的运行,停止操作是独立的。移除本地配置不会删除远程运行时或会话数据。
适用场景与注意¶
- 环境要求:
- 本地客户端:Windows、macOS 或 Linux,Node.js 版本需为
^22.19.0或>=24,系统需安装ssh。 - 远程主机:Linux x64,glibc 2.28+,需安装 Bash、tar、gzip、sha256sum,且拥有可写的主目录。
- 本地客户端:Windows、macOS 或 Linux,Node.js 版本需为
- 软件状态:DeepSeek Harness 为预发布软件。后续 DSH 版本在特定功能(如 Typert 生成、组装配置文件 CI)完全对齐前,将不被支持。
- 权限与安全:插件宿主机以 DSH 进程权限运行。在共享远程主机账号时,建议使用独立的远程 OS 用户以实现更严格的进程隔离。
该插件由社区维护,采用 MIT 许可证,与 DeepSeek 无官方隶属或背书关系。