前言¶
在 DeepSeek Harness(DSH)的插件化工作流中,一个运行在工作站上的智能体可能需要使用实验室服务器的 GPU、运行时和已配置源工作区,同时服务器仍要与公网隔离。直接给智能体一个普通 SSH 终端,会暴露任意主机、命令和文件路径。dsh-lab-ssh 为 DeepSeek Harness 和标准 MCP 客户端提供一组安全受控的 SSH 开发工具。
这是一个独立社区插件,不是 DeepSeek AI 官方包。Version 0.3.0 是实验预览;实验室部署前应固定经过测试的 DeepSeek Harness 版本。GitHub 仓库为 https://github.com/gdgfd22/deepseek-harness-ssh,许可证为 MIT。
核心能力¶
dsh-lab-ssh 的主要能力包括:
- 固定对模型可见的主机别名,而不是暴露任意 SSH 目标。
- 固定 OpenSSH SHA256 主机密钥指纹。
- 凭据可以引用环境变量、本地密钥文件或 SSH Agent。
- 按主机配置命令允许列表、自动批准规则和拒绝规则。
- 限制命令输出和超时。
- 基于别名的远程目录根目录,并进行规范包含检查。
- 有界 UTF-8 读取,以及原子、哈希保护的写入。
- 支持可选的别名命令工作目录。
- 提供默认禁用的 HTTPS 工件桥接,面向离线服务器。
- 同一份 JSON 策略可同时用于 DeepSeek Harness 和 Codex MCP。
- 提供 stdio MCP 服务器实现。
不提供¶
该插件不提供:
- 任意主机访问;
- 交互式 shell;
- 内联密钥;
- 无限制文件传输;
- 删除、移动或 chmod 操作;
- 后台命令;
- 端口转发;
- 反向隧道;
- SSH agent forwarding。
通用 SOCKS/HTTP 代理、SSH 转发和反向隧道仍在范围外,以保留服务器网络隔离。
安装与启用¶
运行环境要求:
- Node.js
^22.19或>=24; - DeepSeek Harness
0.1.0-rc.7或兼容的0.1.xpreview; dsh plugin需要 pnpm 在PATH中。
构建并安装:
Set-Location <PLUGIN_DIR>
npm install
npm run build
npx -y @deepseek-ai/dsh@0.1.0-rc.7 plugin --profile web add <PLUGIN_DIR>
这一步先在插件目录安装依赖并构建,再把本地插件目录注册到 web profile。
配置与运行¶
把示例配置复制到仓库外,替换所有占位符,然后让 DSH user patch 指向该文件。例如:
- id: lab-ssh
config:
configFile: C:/Users/<USER>/.dsh/lab-ssh.private.json
如果凭据使用环境变量,需要在启动 DSH 的同一进程中设置,例如:
$env:LAB_SSH_GPU01_PASSWORD = '<enter locally>'
npx -y @deepseek-ai/dsh@0.1.0-rc.7 web
也可以直接启动 MCP 服务器:
node <PLUGIN_DIR>/lib/mcp-server.js --config <PRIVATE_CONFIG_PATH>
直接启动时使用私有配置路径,不要把真实配置放入仓库。
工具接口¶
插件提供以下工具:
ssh_list_hosts:列出已配置主机别名。ssh_list_file_roots:列出目录别名和访问策略。ssh_list_directory:列出授权根目录下的条目。ssh_read_file:读取有界 UTF-8 文本。ssh_write_file:创建或原子替换有界 UTF-8 文本,写入带哈希保护。ssh_exec:在固定主机和可选目录别名上运行允许列表命令。ssh_stage_artifact:暂存单个工件。
工件桥接¶
HTTPS 工件桥接默认禁用,且不是透明代理。它会对重定向做管理员域名允许列表校验,执行大小限制和强制可信 SHA256,并在受控远程目录中创建文件。已有文件不会被替换。
开发验证¶
在插件目录中运行:
npm install
npm run typecheck
npm test
npm run build
npm run pack:check
这一步用于类型检查、测试、构建和打包检查。
安全注意¶
- 插件会在启动 DSH 的进程中运行,因此会具有该进程的权限;安装前检查源码、依赖和 MIT 许可证。
- 不要提交或发布真实 SSH 配置、凭据、日志、本地 profiles、构建输出和压缩包。
- 不要把私有配置文件放在仓库内。
0.3.0为实验预览;实验室部署前固定经过测试的 DSH 版本。
小结¶
dsh-lab-ssh 的价值在于把 DSH 或 MCP 客户端对远程实验室服务器的访问限制为固定主机、固定路径、固定命令和可审计工件流程。GitHub 仓库:https://github.com/gdgfd22/deepseek-harness-ssh。