DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Remote Workspace — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@lengmoxxl/dsh-remote-workspace

Remote Workspace

用于在其他机器上工作的 DeepSeek Harness 插件:通过 SSH 管理机器,在其仓库和工作树中工作,并在那里打开终端。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @lengmoxxl/dsh-remote-workspace@0.1.17
README兼容性版本
A session running tools inside a remote worktreeThe machine listA connected machine and its repositoryA created worktree

兼容性与来源证明

Remote Workspace 以 @lengmoxxl/dsh-remote-workspace 发布,当前版本为 0.1.17。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/16

版本

0.1.17stable
2026/9/23
0.1.16stable
2026/9/23
0.1.15stable
2026/9/22
查看其余 4 个版本收起版本
0.1.14stable
2026/9/21
0.1.13stable
2026/9/20
0.1.12stable
2026/9/20
0.1.11stable
2026/9/20

相关插件

正在加载相关插件…

最新版
0.1.17
DSH
*
HMR
重启进程
Tree shaking
已声明 sideEffects: false
解包体积
2.6 MB
文件数
10
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
121
安全扫描
✓ v0.1.17 扫描通过
最近提交
2026/9/24
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

dsh-remote-workspace

A DSH plugin for working on another machine. It manages that machine's repositories and worktrees, routes the harness's file, shell, and terminal tools to the directory you opened, and adds terminal tabs to the right Sidebar. The model sees ordinary local paths.

English | 中文

A session running tools inside a remote worktree

MachinesConnectedA worktree
The machine listA connected machine and its repositoryA created worktree

Requirements

  • Node 22.19+ or 24+, with ssh configured as usual.
  • DSH 0.1.6-alpha.2. Other releases are untested.
  • A registered machine needs no runtime of its own, and is served on Linux or macOS on x86_64: the agent, and the embedded-V8 PTC program host that machine's run_code runs on, both come from this repository's Releases.

Install

dsh plugin --profile web add @lengmoxxl/dsh-remote-workspace

The plugin takes over services the base profile provides, and the host plane holds one implementation per service. Add these four lines to $DSH_HOME/profiles/web/cordis.patch.yml. Without them the plugin still loads, does not route, and says so on stderr.

- id: subprocess
  disabled: true
- id: fs-sandbox
  disabled: true
- id: bash-sandbox
  disabled: true
- id: pwsh-sandbox
  disabled: true

Then start the profile with dsh --profile web. The package ships the built lib/, so nothing is compiled on this machine. To work on the plugin itself, clone the repository, run npm install && npm run build, and add the checkout path instead.

Permissions and risks

This plugin is high-privilege by design: it runs commands, opens terminals, and reads and writes files on every machine you register, as the SSH account it reaches. Anyone holding a machine's token and a way to its loopback port can act as that account.

  • The host half routes ctx.fs, ctx.subprocess, ctx.shell, and ctx.tty. The four stock providers are disabled in cordis.patch.yml above, so the paths this plugin routes answer through it instead of them.
  • The agent binary is downloaded from this repository's GitHub Releases, checked against SHA256SUMS, uploaded to ~/.dsh/remote-agent/ on the machine, and started there. It listens on 127.0.0.1 only, reached through ssh -L; its token file and this host's node registry are both mode 600.
  • node-pty is a native dependency with a prebuilt binding: Sidebar terminals on this host run through it.
  • The PTC program host is a second binary from the same Release — a V8 engine, so far larger than the agent. It is fetched and uploaded in the background once a machine connects, so the first program run there does not wait on it.
  • Outbound network access is the GitHub Releases download and the ssh connections you configure. Nothing else leaves the machine.

What it does

  • Adds machines over SSH, and a built-in Local machine for this host. The agent is downloaded from this repository's Releases, checked against SHA256SUMS, and reached over ssh -L, so nothing has to be installed on the machines.
  • Registers any directory as a repository. Git is not required, and a plain directory can become a repository later.
  • Cuts worktrees from a repository, adopts worktrees that already exist, or opens the repository directory itself. Removing a worktree can delete its branch as well.
  • Opens a directory as a workspace; the file, shell, and terminal tools then run on the machine that owns it.
  • Opens terminal tabs in the right Sidebar, one per Session. The Terminal entry first lists that Session's live shells — including one a page reload or a closed tab detached — so one can be reattached or ended.
  • Lets the agent work in a terminal that has a tab open. It lists them, reads output, writes text and keys (including ctrl+c), and waits for output to appear. It does not create or close terminals.
  • Runs PTC programs — run_code — in the world their workspace belongs to. A program aimed at a routed workspace runs on that machine, on the embedded-V8 program host this plugin installs beside the agent, which is why the machine needs no Node. Only the declared bindings cross the wire: on a remote machine the program reaches the filesystem and shell through the tools it calls, not through ambient Node APIs.

Usage

Settings → Remote workspaces. Add a machine with an SSH destination and a token — any string; it is the daemon's shared secret. Local needs neither. Machines connect on their own, and one that stays unreachable shows a Connect button. Register a repository, then use a row's menu to open, close, or remove what it holds.

Terminal. The right Sidebar's add control has a Terminal button: it lists the Session's live terminals and offers a new one. Manage terminals in the panel's status bar opens a second terminal tab beside the one in view, where the chooser offers a fresh shell or one that is already running; a shell another tab already shows is marked Already open, and picking it brings that tab forward. Closing a tab leaves that shell running — it shows up in the chooser as detached — and a row's close control in the chooser, which the panel's Manage terminals control opens, is what ends it. Hiding the tab, switching Session, or collapsing the sidebar also leaves a shell running.

Terminal appearance. Font, size, line height, scrollback, and cursor blink live in the shell's own settings: Plugins → remote-workspace. They are stored in the settings document, so every page of this deployment draws a terminal the same way.

Config

FieldDefaultMeaning
worktreeRoot~/.dsh/worktreesRoot every managed checkout is cut under, on every machine.
shellunsetProgram the Sidebar terminal runs; unset uses the machine's own login shell.
shellArgs['-l']Arguments after shell; ignored while shell is unset.
graceMs3000How long a closing terminal is given to exit, in milliseconds.
detachGraceMs0Safety valve: how long a terminal whose socket went away (a reload, a dropped connection) is kept for a reattach, in milliseconds. 0 — the default — keeps it for as long as its process lives.

MIT