dshbase

插件目录 / Developer / dsh-control

dsh-control

已验证 · 实测可装 6mt

✓ 持续维护 基于 3 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
JavaScript语言
2026-10-14最近推送
跨平台平台

功能简介

本地一个窗口,驱动你所有机器上的 dsh:远端 dsh 的会话原生出现在本地侧栏并流式回流,远端用自己的凭据/工具干活,零远端改动、零依赖一条命令安装。与远程工作区类插件(dsh-remote 等)互补——远端没装 dsh 用它们,装了用本插件。

✅
我们的评价
可用 — 实测通过,早期项目

本地一个窗口,驱动你所有机器上的 dsh:远端 dsh 的会话原生出现在本地侧栏并流式回流,远端用自己的凭据/工具干活,零远端改动、零依赖一条命令安装。与远程工作区类插件(dsh-remote 等)互补——远端没装 dsh 用它们,装了用本插件。 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-control

English | 中文

Every machine already runs dsh. Make this one window the front end for all of them.

Chat with the dsh instances on your other machines, natively from your local sidebar.
Remote sessions stream back token by token; the remote uses its own model credentials,
tools and sandbox. Zero changes on the remote. Zero dependencies. One-line install.

dsh-control in action

A real two-machine setup. Left: the remote machine's own dsh — the session there was created
for you and auto-named 控制端·<local title> (①). Right: your local dsh — the same question
runs on the remote (③ the model route is the environment name, cn-dsh2) and the answer lands in a
local session inside the workspace the plugin created for that environment (②).

🎬 A 15-second capture (one-click connect → streaming reply) is being recorded.

Install

dsh plugin --profile <profile> add dsh-control

After installing, fully quit and reopen dsh (⌘Q). A「远程 dsh 环境」panel appears
in the right sidebar.

How is this different from dsh-remote / dsh-remote-ssh?

How the two approaches differ

Remote-workspace plugins (dsh-remote, …) dsh-control
The remote machine is a file system (SFTP tool set) dsh that is already running there
Sessions live local session + remote directory remote sessions, native in your sidebar
Credentials & tools configured locally, SSH config duplicated the remote's own — nothing copied
Remote needs only SSH dsh installed (≥0.2.0-rc.2) with its web instance running
Changes on the remote some deploy dsh for you zero (read-only probing + the remote's own API)

The two coexist (tested side by side): no dsh on the remote → use dsh-remote;
dsh already there → use dsh-control.

What it does

The remote dsh environments panel

The「远程 dsh 环境」panel: type user@host and connect — the row then reports its state and
whether the environment already has its workspace.

  • One-click connect — type user@host; the plugin probes the remote dsh, fetches
    its access token and opens an encrypted channel (~5 s)
  • Automatic workspace — each environment gets a same-named local workspace; any
    session created inside it automatically becomes a remote session
  • True streaming — remote replies flow in token by token, not dumped at the end
  • Paired naming — remote sessions are named 控制端·<local title>, so both sides match
  • Visible & self-healing — remote sessions are marked in the sidebar; disconnects
    are reported honestly and repaired by one click

Security

What it does on your machine: one state file
($DSH_HOME/dsh-control/state.json, mode 0600, holds the remote access tokens) and an
on-demand SSH tunnel process.
What it never does: no installs or writes on the remote, no lifecycle management of
the remote dsh, never reads your other local credentials, tokens never enter logs.
When passwordless SSH is not set up it shows the exact one-line fix — passwords are
never stored. Details in SECURITY.md.

Known limitations

  • The remote must already run dsh with its web instance (otherwise use a
    remote-workspace plugin)
  • Connects over SSH (passwordless or configured key; a direct no-SSH mode is on the roadmap)
  • Sidebar markers and the streaming feel are verified by eye per release
  • Cancelling a remote turn is implemented but marked experimental

Development

node --check lib/*.js
for t in test/*.test.mjs; do node "$t"; done   # 52 checks: unit / contract / structural invariants
scripts/verify-boot-selfheal.sh                # boot self-heal (needs a local dsh runtime)

License

MIT © 6mt

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-control」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:6mt/dsh-control

Headless(CLI)profile:

dsh plugin --profile headless add github:6mt/dsh-control

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 18502 个插件 →