🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

安全远程工作区 startGalway/dsh-secure-remote

DeepSeek Harness
startGalway61 天前有提交已提供中文文档扫描:含敏感能力

用 SSH 安全连接远程主机并管理工作区

29.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add startGalway/dsh-secure-remote
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 61 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-secure-remote(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 17:50:53

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 22 处,展示前 22 条)
  • 执行外部命令来自配置/变量
    index.js:277
    const child = spawn(sshPath, [
  • 读取本地文件
    index.js:312
    const text = await readFile(layer.registryFile, 'utf8')
  • 写入本地文件
    index.js:331
    await appendFile(layer.registryFile, `${profile.port}\t${profile.user}@${profile.host}\n`)
  • 读取本地文件
    ssh-launcher.js:39
    await access(path)
  • 读取本地文件
    ssh-launcher.js:40
    return (await stat(path)).isDirectory()
  • 写入本地文件
    ssh-launcher.js:57
    await chmod(directory, 0o700)
  • 写入本地文件
    ssh-launcher.js:60
    await writeFile(registryFile, '', { mode: 0o600 })
  • 删除本地文件递归
    ssh-launcher.js:71
    await rm(layer.directory, { recursive: true, force: true })
  • 写入本地文件
    ssh-launcher.js:109
    await writeFile(launcherPath, script, { mode: 0o700 })
  • 写入本地文件
    ssh-launcher.js:110
    await chmod(launcherPath, 0o700)
  • 读取本地文件
    ssh-launcher.js:121
    if (!(await stat(path)).isFile()) return false
  • 读取本地文件
    ssh-launcher.js:140
    names = (await readdir(directory)).sort().slice(0, maxEntries)
  • 读取本地文件
    ssh-launcher.js:167
    const text = await readFile(sshConfigPath(), 'utf8')
  • 写入本地文件
    fallback-ssh.js:69
    await writeFile(passwordFile, password, { mode: 0o600 })
  • 写入本地文件
    fallback-ssh.js:73
    await writeFile(helper, script, { mode: 0o700 })
  • 写入本地文件
    fallback-ssh.js:74
    await chmod(helper, 0o700).catch(() => {})
  • 删除本地文件递归
    fallback-ssh.js:77
    cleanup: () => rm(directory, { recursive: true, force: true }),
  • 执行外部命令来自配置/变量
    fallback-ssh.js:111
    const child = spawn(options.sshPath, argvFor(options, profile, remoteCommand, terminal), {
  • 读取本地文件
    fallback-ssh.js:171
    if (!(await stat(path)).isFile()) return false
  • 读取本地文件
    fallback-ssh.js:187
    try { names = (await readdir(directory)).sort() } catch { return [] }
  • 发起网络请求
    client.js:14
    const response = await fetch(statusUrl(path), { cache: 'no-store', ...init })
  • 发起网络请求
    ui/client.js:14
    const response = await fetch(statusUrl(path), { cache: 'no-store', ...init })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-ssh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • SSH连接远程主机
  • 管理工作区

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

README

由 DeepSeek 最新模型翻译生成
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 状态点、延迟和脱敏原因。
展开完整文档(README 剩余 1 节)
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。
预览分享卡片长什么样 ↓startGalway/dsh-secure-remote
分享 · DeepSeek Harness Hub
startGalway/dsh-secure-remote

用 SSH 安全连接远程主机并管理工作区

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部