dshbase

Plugin directory / Developer / dsh-manager-plugin

dsh-manager-plugin

Unverified NevermindZZT

✓ Actively maintained Builds on 4 official DSH packages

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
Language
2026-08-23Last push
Cross-platformPlatform

What it does

dsh manger 远程工具对应使用的 dsh 插件,直接完成 dsh 远程访问

Our take
Unverified — not yet verified

dsh manger 远程工具对应使用的 dsh 插件,直接完成 dsh 远程访问 Not yet verified — install and test it yourself.

“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

Plugin author? Get the “Verified” label — submit your own evidence (screenshots, logs, or a short demo) and we'll review and flip the badge.

Submit verification evidence ↗

README

@nevermindzzt/dsh-manager-plugin

Version
npm
Node.js
Protocol
Module
License

在 dsh 进程内建立 dsh-manager 反向连接的插件。安装后不需要 dsh-launcher,也可以将当前 dsh 实例注册到 dsh-manager,并通过 manager 访问 dsh Web UI。

版本

当前版本:

0.1.0

协议保持:

dsh-manager Agent Protocol v1

插件使用可选的 Agent 元数据字段,不改变已有 dsh-launcher 的连接方式。

架构

浏览器
    ↓ HTTP / WebSocket
dsh-manager
    ↓ HTTP / WS 或 HTTPS / WSS
dsh-manager-plugin
    ↓ 127.0.0.1:<dsh-web-port>
当前 dsh 实例

插件只能代理当前 dsh 实例,不提供任意 shell,也不提供 dsh-launcher 的启动、停止、重启、同步和更新能力。

能力

  • 一次性配对码注册;
  • HTTP / HTTPS enrollment;
  • WS / WSS Agent 长连接;
  • HTTP 请求反向代理;
  • WebSocket 双向代理;
  • settings.host Host settings 能力声明;
  • dsh 设置页面中的 manager 配置卡片;
  • Agent Token 本地持久化;
  • 旧版 dsh-manager Agent Protocol v1 兼容;
  • HTTP / HTTPS 端口配置校验;
  • 旧 Agent Token 收到 401/403 后自动重新配对;
  • 不支持任意 shell 和远程生命周期命令。

安装

插件发布到 npm 后,可以直接通过 dsh profile 安装:

dsh plugin --profile web add @nevermindzzt/dsh-manager-plugin

也可以使用 npm 安装到 dsh profile:

cd %USERPROFILE%\.dsh\profiles\web
npm install @nevermindzzt/dsh-manager-plugin

本地 tarball 安装:

dsh plugin --profile web add nevermindzzt-dsh-manager-plugin-0.1.0.tgz

安装后重启 dsh:

dsh web

插件会作为 dsh Web bundle 加载,并注册到 settings.plugin.item。

dsh 设置

进入:

设置 → 插件 → 插件配置 → dsh-manager

配置项:

  • 启用 dsh-manager 直连;
  • Manager URL;
  • 一次性配对码;
  • Agent 名称;
  • 实例 ID;
  • TLS 指纹。

设置卡片默认折叠,使用 dsh 原生 CSS 变量和插件卡片交互样式。保存后插件会重新建立连接;如果没有配置 Manager URL,插件只注册设置项并保持禁用,不会阻塞 dsh web 启动。

Manager URL

HTTP / WS(仅可信内网):

http://manager.example.com:8080

HTTPS / WSS(推荐):

https://manager.example.com:8443

不能把 HTTP 和 HTTPS 端口混用:

错误:http://manager.example.com:8443
正确:https://manager.example.com:8443

HTTPS 模式需要填写 manager 当前证书的 SHA-256 指纹。指纹错误、Agent Token 失效或 manager 更换数据库后,插件会自动清理旧凭证并使用设置中的配对码重新注册。

环境变量

如果不想通过 dsh 设置,也可以使用环境变量:

DSH_MANAGER_URL=https://manager.example.com:8443
DSH_MANAGER_PAIRING_CODE=one-time-code
DSH_MANAGER_NAME=linux-dsh
DSH_MANAGER_INSTANCE_ID=default
DSH_MANAGER_TLS_FINGERPRINT=sha256-fingerprint

环境变量适合容器或自动化部署。未配置 DSH_MANAGER_URL 时插件保持禁用。

Cordis 加载

插件也可以作为 Cordis plugin 加载:

import dshManagerPlugin from "@nevermindzzt/dsh-manager-plugin";

export default {
  plugins: [
    [dshManagerPlugin, {
      serverUrl: "https://manager.example.com:8443",
      pairingCode: "one-time-code",
      name: "linux-dsh",
      instanceId: "default"
    }]
  ]
};

本地凭证

默认状态文件:

~/.dsh/manager-agent.json

保存内容包括:

  • Agent ID;
  • Agent Token;
  • manager URL;
  • Agent 名称;
  • 实例 ID;
  • TLS 指纹。

Linux 下插件会尝试使用 0700 目录和 0600 文件权限保存状态。

安全边界

  • 生产环境推荐 HTTPS / WSS;
  • Agent Token 不提交到 Git;
  • manager 只保存 Token Hash;
  • 插件只代理当前 dsh Web 服务;
  • 不接受 manager 下发任意 shell;
  • 不提供宿主机任意端口或文件访问;
  • 一个 Agent ID 应只对应一个活动 dsh 进程;
  • 多个 dsh 进程共用同一个 Agent Token 时,manager 会用新连接替换旧连接。

开发

安装依赖:

npm install

格式化:

npx prettier --write src/*.js lib/*.js

语法检查:

node --check src/index.js
node --check src/protocol.js
node --check src/tunnel.js
node --check src/client.js
node --check lib/client.js

构建本地 tarball:

npm pack

当前仓库包含:

  • Host 端 Cordis plugin;
  • Web Client ModuleLoader bundle;
  • HTTP / WebSocket tunnel;
  • dsh settings namespace;
  • dsh settings plugin card;
  • dsh bundle patch。

发布

GitHub Actions 会在推送 vX.Y.Z 标签时自动执行:

  1. 安装依赖;
  2. 运行 npm run check;
  3. 构建 Web Client ModuleLoader bundle;
  4. 发布到 npm。

需要在 GitHub 仓库 Secrets 中配置:

NPM_TOKEN

本地发布前验证:

npm ci
npm run check
npm publish --access public

相关项目

开源协议

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-manager-plugin for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:NevermindZZT/dsh-manager-plugin

Headless (CLI) profile:

dsh plugin --profile headless add github:NevermindZZT/dsh-manager-plugin

Test report

Not yet L3-verified — see failure note below if we already ran it.

Status: pending · last test 2026-08-27 · flagged webonly
Note: 验证: web-only;待 L4 web CDP;L4 web CDP runtime-fail on dsh 0.1.0-rc.8. Browse all pending failures →
Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7795 plugins →