DeepSeek Harness Hub
← 返回列表

startGalway/dsh-secure-remote

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

独立的 DeepSeek Harness SSH 安全与稳定性插件。它通过 bundle patch 替换内置 ssh…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/4 · 已提供中文文档

为 DeepSeek Harness 提供安全、稳定的 SSH 远程工作区

综合分
29.4
GitHub 分
29.4
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add startGalway/dsh-secure-remote
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-ssh
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-secure-remote

CI
Latest release
License
Platforms
SSH

独立的 DeepSeek Harness SSH 安全与稳定性插件。它通过 bundle patch 替换内置 ssh provider,不修改 DeepSeek Harness 上游源码,也不迁移现有 ssh_workspace v1 数据。

English README

1.1.2 能力

- macOS / Linux 使用短路径私有目录运行 OpenSSH ControlMaster,修复 macOS ControlPath too long 导致的 PTY 启动失败。
- Windows 本地端使用系统 ssh.exe,明确关闭 ControlMaster;状态探测和应用层重连仍可用。
- Key 模式自动发现 SSH Config 主机和默认密钥;支持选择单个密钥文件或文件夹。
- Password 模式只显示 Host / Port / User / Password;密码通过 DSH credentials 服务保存,不进入 SSH 参数、日志或状态接口。
- Workspace 行显示 connected、connecting、degraded、disconnected 状态点、延迟和脱敏原因。
- 保留官方 openRawChannel 原始 SSH 通道,兼容 Remote Agent 安装和长连接。
- 官方 @deepseek-ai/dsh-ssh 未发布或不可解析时,自动使用随插件发布的兼容 runtime;该 peer 依赖为可选项。
- 远程文件工具严格限制在 Workspace 根目录,拒绝 ..、前缀碰撞和符号链接逃逸。
- 远端必须是 POSIX 系统;检测到 Windows 等非 POSIX 目标时返回 REMOTE_OS_UNSUPPORTED。
- 保留已有 SshProfile、RemoteWorkspaceView、Workspace RPC、Session、Bash 和 Terminal 兼容性。

安全边界

文件工具受到 Workspace 根目录保护;远程 Bash 保持原有行为,拥有远程 SSH 账号本身的完整权限,不宣称受到文件边界隔离。默认保持 StrictHostKeyChecking=yes,不会自动降级到 no/off。

支持矩阵

| 本地端 | SSH 客户端 | ControlMaster | 状态/重连 | 远端目标 |
| --- | --- | --- | --- | --- |
| macOS | 系统 OpenSSH | 启用 | 支持 | POSIX |
| Linux | 系统 OpenSSH | 启用 | 支持 | POSIX |
| Windows | ssh.exe | 禁用 | 支持 | POSIX |

要求 Node.js 22+,以及兼容的 DeepSeek Harness Web profile。Windows 本地端已实现代码分支,但真实 Windows SSH fixture 需要在 Windows CI 或 Windows 机器上执行。

安装

发布到 GitHub 后,安装指定版本:

dsh plugin --profile web add github:startGalway/dsh-secure-remote#v1.1.2

本地开发安装:

dsh plugin --profile web add file:/absolute/path/to/dsh-secure-remote

安装后重启 Web profile。卸载插件不会迁移或删除已有远程 Workspace:

dsh plugin --profile web remove dsh-secure-remote

配置默认值

workspaceBoundary: deny
connectionReuse: true
controlPersistMs: 300000
serverAliveIntervalSec: 15
serverAliveCountMax: 3
statusProbeIntervalMs: 30000
maxTransferBytes: 8388608

本地开发

npm run check
npm test
npm run pack:check

目录结构:

dsh-secure-remote/
├── index.js                 # Host provider、状态、重连和 bundle patch 接入
├── ssh-launcher.js          # ControlPath、平台能力、密钥和 SSH Config 发现
├── secure-rpc.js            # 同源受信 RPC:discovery / resolve / pick / status / probe
├── path-guard.js            # 远程 Workspace 边界校验
├── client.js                # Web UI 源文件
├── ui/                      # 独立 Web companion package
├── test/                    # 路径、SSH launcher 和发现逻辑测试
└── cordis.patch.yml         # 禁用内置 ssh,挂载 secure provider 与 UI

已知限制

- Bash 不受 Workspace 文件边界限制。
- 远程 Windows 本轮不支持。
- 当前版本不包含双向目录镜像、原子文件传输、后台任务和远程 Git 工作流。
- Unix 侧保留一个 0700、短路径的兼容启动器,因为当前 DSH SSH runtime 只暴露单一 sshPath 接口;Windows 直接调用系统 ssh.exe。

许可证

MIT,见 LICENSE。安全问题请阅读 SECURITY.md,贡献规范见 CONTRIBUTING.md。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群