DeepSeek Harness Hub
← 返回列表

云端 SSH 工作区harryopo/dsh-cloud-workspaces

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

让编码 Agent 经 SSH 直接在远程 Linux 服务器上读写执行

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

DeepSeek Harness 的云工作区——在工作区选择器中选择 Cloud (SSH),智能体的 bash/read/write/edit/glob/grep 工具便会通过 SSH 透明地在你的 Linux 服务器上运行。无需远程安装。

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

README

dsh-cloud-workspaces

License
Tests

DeepSeek Harness(DSH)的云端工作区插件。

在工作区选择器里选 「云端 (SSH)」,编码 Agent 就直接在你的 Linux 服务器上干活:bash、read、write、edit、glob、grep —— 内置工具全家桶 —— 全部经 SSH 透明执行。文件、搜索、编辑、终端,统统落在远程。

服务器零安装。 没有 vscode-server 式的远程组件、没有常驻进程、无需下载任何东西——一个标准 OpenSSH 服务端就是全部要求。

English: README.md

为什么

DSH 的 Agent 跑在本地。当代码、数据或生产环境在远程 Linux 服务器上时,你只能另开 SSH 窗口,或折腾同步工具。同类远程方案首次连接要在服务器上下载几百 MB 的远程组件。dsh-cloud-workspaces 走另一条路:一切都走标准 SSH 通道(exec / SFTP / PTY,基于 ssh2)——服务器上什么都不用装。

功能

云端工作区(主打)

- 双 tab 工作区选择器 —— 「本机」/「云端 (SSH)」两个 tab;云端工作区经 DSH 官方工作区注册表收养,在选择器里显示为 主机 / 路径。
- 工具集透明重定向 —— 会话 cwd 落在云端占位目录下时,插件把官方 ctx.fs(13 个文件方法)与 ctx.subprocess 换成 SSH 实现。本地会话完全不受影响;接缝按会话作用域替换。
- 官方 UI 的遮蔽工具 —— 会话级远程 bash / read / write / edit / glob / grep 只注册进该会话的 agent scope,并实现官方 presentCall / presentResult 渲染器——聊天里的工具行渲染成真正的终端卡 / 阅读卡,可展开、可复制、原生观感。

SSH 设置卡片(DSH 设置 → SSH 连接)

- 主机管理 —— 显示名、主机、端口、用户;密码认证(支持 keyboard-interactive——PAM/Ubuntu 等只提供交互式认证的服务器也能连)或私钥认证(路径;ssh-agent 兜底)。
- 连接测试 —— 一键探测并显示延迟;已保存凭据在服务端补回(浏览器只见脱敏视图)。
- 远端目录浏览器 —— 浏览、新建、删除服务器文件夹;任意目录一键绑定为云端工作区。
- ProxyJump —— 跳板机链,逐跳凭据。

Agent 工具

- ssh_list / ssh_exec / ssh_ls / ssh_read / ssh_write —— 任意会话里的显式远程操作(按 preset 作用域控制)。
- ssh_workspace —— 在对话里创建云端工作区绑定。

连接层

- ssh2 连接池:keepalive、断线检测、透明重建。
- 按主机延迟测试的 test 端点,设置卡与选择器共用。

安全

- 主机存于 DSH 设置命名空间;密码字段是只写密文——浏览器拿到的是脱敏视图,永远读不回凭据。
- 远程会话按作用域隔离:遮蔽工具只存在于绑定了云端工作区的会话中,本地工作区永不受影响。
- 远程读文件有上限;大文件流式读头部而非整读进内存。

安装

要求:DSH(web profile)、Node ≥ 22、可连通的 SSH 服务器。

从 npm

dsh plugin --profile web add dsh-cloud-workspaces

从源码

git clone https://github.com/harryopo/dsh-cloud-workspaces.git
cd dsh-cloud-workspaces
pnpm install
pnpm build

link 进 DSH web profile(Windows 路径含空格时用 junction)
dsh plugin --profile web add link:C:\path\to\dsh-cloud-workspaces

安装或重新构建后需重启 dsh web(host 半加载在 Node 进程里)。

使用

1. 添加主机 —— 设置 → SSH 连接 → 「+ 添加主机」→ 填凭据 → 「测试」→ 保存。
2. 绑定云端工作区 —— 「添加工作区」→ 云端 (SSH) tab → 选主机 → 浏览到项目目录 → 「使用此目录作为工作区」。
3. 在该工作区上开会话 —— Agent 从此完全跑在服务器上。对它说「运行 pwd,再看看当前目录有什么」,看 bash 在远程执行。
4. 或者显式驱动:用 ssh_exec 在 web-1 上跑 docker ps。

架构

DSH host 进程 (Node)
┌────────────────────────────────────────────────────────────┐
│  ctx.fs ────────► fs-ssh 适配器 ───────┐                    │
│  ctx.subprocess ► subprocess-ssh ──────┤   接缝按会话替换   │
│  遮蔽工具 ──────► 会话作用域 ───────────┘                    │
│                                          │                 │
│  SshEngine (ssh2) ◄──────────────────────┘                 │
│   ├─ 连接池 / keepalive / 断线重建                          │
│   ├─ exec · SFTP CRUD · PTY                                │
│   └─ ProxyJump 跳板                                        │
└──────────────┬─────────────────────────────────────────────┘
│ SSH (exec / sftp / pty)  —— 仅此而已
┌──────▼──────┐
│ Linux 服务器 │  原生 sshd。零远程安装。
└─────────────┘

浏览器(dsh web GUI):设置卡片 + 云端工作区选择器
经官方 Typert remote 桥与 host 通信。

- Host 半(src/,TypeScript):SshEngine、fs-ssh / subprocess-ssh 适配器、会话工具注册、Typert remote 端点、设置 schema。
- Client 半(client/,纯 ESM React createElement):经官方插槽(settings.section、workspace.)注入设置卡与双 tab 选择器。无 JSX 构建步骤,只用 --dsw- 设计 token。

开发

pnpm build        # tsc d.ts + tsdown 产物
pnpm typecheck    # tsc --noEmit
pnpm test         # vitest —— 100 个单测
node scripts/e2e-real-server.mjs   # 25 个 E2E(真 SSH,WSL sshd 127.0.0.1:2223)

路线图

- [x] SSH 引擎:连接池、keepalive、断线重建、ProxyJump
- [x] 云端工作区:双 tab 选择器、占位目录、官方收养
- [x] ctx.fs / ctx.subprocess 透明重定向
- [x] 官方终端卡/阅读卡的遮蔽工具
- [x] 设置卡:主机、密码/密钥认证(keyboard-interactive)、连接测试、远端目录浏览器
- [ ] 远程后台任务(ctx.jobs)
- [ ] 远程搜索调优(服务器端 ripgrep 探测)
- [ ] SSH 隧道(本地端口转发)
- [x] npm 首次发布(dsh-cloud-workspaces@0.2.1)

致谢

- DeepSeek Harness —— 宿主与官方插件 SDK(@deepseek-ai/dsh-*);本插件仅基于官方 npm SDK 包构建。
- dsh-ssh (Apache-2.0) —— 设置卡 UI 与工作区占位设计参考。
- ssh2 (MIT) —— SSH 传输层。

许可

Apache-2.0

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

💬 加入 DPharness 群聊

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

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