中文EN

dsh-remote-local-plugin

remote已测通过npmMIT

把 SSH 主机上的工作区接入 DSH:远程工作区、镜像会话、终端与文件访问、审批和原生 DSH 界面。需 DSH Desktop 0.2.1-rc.2,远端主机为 Linux 或 macOS。

下载量 / Downloads
2,618
依赖体积 / node_modules
0.65 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-remote-local-plugin

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-remote-local-plugin

Remote development that appears as ordinary local sessions.

Supported environment

This plugin targets the official DSH Desktop application. Supported versions:

Other DSH GUI plugins, forks, modified clients, and DSH versions outside 0.2.1-rc.2 through 0.2.2-rc.1

have not been tested. The remote runtime defaults to 0.2.2-rc.1; 0.2.1-rc.2 through 0.2.2-rc.1

use the same agent API, and 0.2.2-rc.1 was verified end-to-end on a real remote host. The package

dependency range is permissive for installation only; it is not a support guarantee.

What it does

  • Durable host registry at $DSH_HOME/remote/hosts.json (mode 0600).
  • SSH discovery of the remote agent's private state file.
  • Plugin-owned provisioning: uploads the bundled dsh-remote-agent tarball, installs pnpm/DSH

when missing, starts remote dsh web, waits for it, and connects. No separate installer command.

  • One loopback SSH tunnel per host, health checks, exponential backoff, manual reconnect.
  • Default direct key mode: the resolved local key is copied into the remote service environment.
  • Optional reverse SSH forward and local model credential proxy for key-local deployments.
  • Native session mirror: remote workspaces/sessions become local workspaces and Sessions in the

ordinary sidebar. A small custom Agent façade routes prompts and cancellation to the remote agent

while the normal Conversation UI renders the mirrored events.

  • + 新会话 creates the remote session, creates its local mirror, and opens it through

uiWorkspace.openSession — not a popup.

  • Sidebar + menu to create a workspace locally (native flow) or on a connected remote host.
  • Agent-backed remote workspace file listing/preview over the SSH tunnel.
  • Automatic remote Node.js discovery/install (nvm, Volta, fnm, Bun, asdf, mise, Nix, Homebrew, login shell; verified Node tarball fallback).
  • Chinese / English client copy follows the DSH locale service.
  • Remote agent PTY terminals for mirror Sessions over the SSH tunnel; local Sessions keep the local terminal.
  • Remote approval questions bridged into the normal local approval UI.
  • Model tools for every operation.
  • Authenticated host API at /api/dsh-remote through DSH Connection's Fetch route.

Install

From the DSH plugin page

After the npm package is published, use Plugins → Add plugin and enter:

dsh-remote-local-plugin

The package bundles the remote agent asset and the terminal-controller fork. Restart DSH after the

plugin page asks for it.

If npmjs.com resolves an older latest tag for a newly published release, install the exact current

version instead:

dsh-remote-local-plugin@0.8.18

Keep this pinned version in sync with each release.

From a source checkout

cd ../..
./scripts/install-local.sh          # desktop profile
./scripts/install-local.sh --profile web

The installer creates one tarball containing the terminal-controller fork; restart DSH after it

finishes.

Use

1. Settings → 远程开发

2. Enter an SSH target (my-host) and click 保存并连接.

3. Wait for 已连接 (first use installs the remote side).

4. Use Workspaces + to create a workspace; local folders use the native picker, remote folders

use the SSH browser.

5. Create a session from the workspace row or Settings. The mirrored session opens in the normal

Conversation UI.

6. Continue prompting. Workspace files and New terminal follow the selected Session.

Boundaries

  • The remote browser UI is intentionally not exposed by default; the remote API-remotes carrier is

disabled so approvals reach the native local UI.

  • Sessions over mirrorMaxEvents are not mirrored.
  • On plugin restart, old mirrors are archived and recreated.

Tools

remote_hosts_list, remote_host_add, remote_host_connect, remote_host_provision,

remote_workspace_add, remote_workspaces_list, remote_session_create, remote_sessions_list,

remote_session_prompt, remote_session_snapshot, remote_session_cancel.

Configuration

See [cordis.patch.yml](cordis.patch.yml) and

[examples/local-plugin.patch.yml](../../examples/local-plugin.patch.yml).

Security

The token stays local and is never returned to the browser. The browser uses DSH's authenticated

/api route. By default the model key is written to the remote service environment; set

credentialProxy: true to keep it local and inject it through the reverse-tunnel proxy. See the

[root README](../../README.md#security).

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:20,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件