DeepSeek Harness 插件

dsh-service-manage

Node.js SDK-based DeepSeek Harness service manager for SSH/FTP, databases, Docker, Elasticsearch, MongoDB, Cassandra and S3, with proxy support, SSH SFTP/terminal and @ server references(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Xs1KVerOA/dsh-service-manage
最近更新
2026年8月17日
分类
插件市场与管理
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Xs1KVerOA/dsh-service-manage
插件名:dsh-service-manage
作者:Xs1KVerOA

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器5 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

dsh-service-manage

dsh-service-manage 是一个 DeepSeek Harness 静态插件,在工作区侧边栏下方提供服务管理入口,并为会话输入框提供 @ 服务器引用。

功能

  • 支持 FTP、SSH、Redis、MySQL、MariaDB、PostgreSQL、SQL Server、Elasticsearch、Docker、MongoDB、Cassandra、S3/MinIO/R2。
  • 使用 Node.js SDK 连接服务,不调用系统 CLI,不启动外部命令进程。
  • 支持密码、SSH 私钥、S3 Access Key/Secret Key/Session Token 等认证方式。
  • 支持 SSH 隧道、TCP 原始转发和 SOCKS5 代理。
  • 支持 autolegacymodern 兼容模式,以及可选 API/Client 版本配置。
  • SSH 支持 SFTP 文件列表、下载、上传和持久化远程终端。
  • 数据服务支持连接测试、查询、读取和写入等操作;Docker 支持容器和镜像管理;S3 支持 Bucket/Object 操作。
  • 会话中输入 @ 可从已保存连接中搜索服务器;选中候选项后,引用会以不含密钥的服务器元数据提交给模型。

安装

要求 Node.js >=22.19.0,以及 DeepSeek Harness 0.1.0-rc.6 或更高版本。

从 GitHub 安装

npx @deepseek-ai/dsh plugin --profile web add --allow-build=ssh2 --allow-build=cpu-features --allow-build=protobufjs https://github.com/Xs1KVerOA/dsh-service-manage.git
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web

命令中的 --allow-build 是当前 DSH/pnpm profile 安装器对 ssh2cpu-featuresprotobufjs 安装脚本的显式批准;如果系统没有 C/C++ 编译工具,SSH 仍会使用纯 JavaScript fallback(可选 native binding 不影响基本功能)。

从本地目录安装

git clone https://github.com/Xs1KVerOA/dsh-service-manage.git
cd dsh-service-manage
npm install
npx @deepseek-ai/dsh plugin --profile web add --allow-build=ssh2 --allow-build=cpu-features --allow-build=protobufjs "$PWD"
npx @deepseek-ai/dsh web

插件是可安装的静态 bundle,入口由 cordis.patch.yml 注册,不依赖动态 Cordis Runner。运行时依赖(包括 @deepseek-ai/dsh-tools)已写入 dependencies,从 GitHub 下载后执行 npm install 即可获得与本机一致的运行时依赖。也可以将该 patch 文件作为绝对路径 overlay 使用。

从 dsh.so 安装

审核通过并进入 registry 后,推荐使用包名安装:

npx @deepseek-ai/dsh plugin --profile web add --allow-build=ssh2 --allow-build=cpu-features --allow-build=protobufjs dsh-service-manage
npx @deepseek-ai/dsh web

安装 release 包

在仓库根目录执行 npm run pack:release 生成 dsh-service-manage-0.3.1.tgz,然后安装到 profile:

npx @deepseek-ai/dsh plugin --profile web add --allow-build=ssh2 --allow-build=cpu-features --allow-build=protobufjs ./dsh-service-manage-0.3.1.tgz

兼容性与实现

  • Host 侧使用 Node.js SDK,前端侧通过 dsh.client.inject 接入 Sidebar 和 @ 输入触发器。
  • cordis.patch.yml 使用稳定插件 ID dsh-service-manage 注册 bundle。
  • 兼容模式只影响对应服务的协议/API 参数,不会把一个服务的客户端库复制到 Harness Host 中。
  • DSH 的 cordiscredentialsfs 和客户端能力通过 peerDependencies 对齐 Harness 运行时;插件自身需要的 Node SDK 和 @deepseek-ai/dsh-tools 通过 dependencies 安装,避免从 GitHub 下载后出现模块缺失。

使用方式

1. 打开工作区下方的“服务管理”。 2. 新建连接,填写名称、服务类型、地址、端口、认证方式、兼容模式和代理配置。 3. 保存后使用“测试连接”确认配置,再执行对应服务的读取或写入操作。 4. 在会话输入框键入 @,从 server 候选分组选择服务器;ASCII 名称也可以输入 @服务器名 后按空格确认。

服务器名称包含中文或空格时,候选项会使用安全 ID 作为可输入别名。提交会话时引用形如:

<dsh-server-ref id="srv_xxx" name="生产数据库" alias="prod-db" type="mysql" transport="service-manager" tool="dsh_server_manage" credential-scope="dsh-credentials" endpoint="db.example.com:3306" database="app" />

引用只包含连接 ID、名称、别名、类型、地址、数据库和通道元数据,不包含密码、私钥或云密钥。模型收到引用后应调用 dsh_server_manage;该 Tool 在插件内部通过 DSH credentials service 解析密钥,并复用服务管理的 Node SDK、SSH/TCP/SOCKS5 通道。插件会拒绝模型通过 bash/pwshsshpass、数据库 CLI 或本机凭据文件绕过服务管理连接服务器。

支持的 Node SDK

服务SDK
SSHssh2
FTPbasic-ftp
Redisredis
MySQL / MariaDBmysql2
PostgreSQLpg
SQL Servermssql
Elasticsearch@elastic/elasticsearch
Dockerdockerode
MongoDBmongodb
Cassandracassandra-driver
S3 兼容服务@aws-sdk/client-s3
SOCKS5 代理socks

数据与安全

  • 非敏感连接元数据写入当前工作区的 .dsh-servers.json
  • 密码、私钥和云密钥通过 Harness credentials 服务保存,不写入连接配置文件。
  • 服务器列表接口只返回密钥是否已配置,不返回密钥内容。
  • /api/dsh-service-manage 仅接受本机回环请求,不向局域网开放。
  • SSH、SOCKS5 和 TCP 转发隧道由插件生命周期管理;插件卸载时会关闭隧道和终端。
  • 写入、删除、SQL/CQL、远程命令以及容器启停都可能产生真实副作用,请只对受授权的服务使用。

常见问题

@ 候选列表为空

先在“服务管理”中保存至少一个连接,再重新聚焦会话输入框。连接名称包含中文或空格时,请从候选菜单选择安全 ID;ASCII 名称可以输入 @name 后按空格确认。

安装后侧边栏没有入口

确认安装的是 dsh-service-manage 包名,并重启对应的 dsh web profile。客户端 bundle 依赖 Sidebar 和输入触发器,profile 缺少这些能力时插件不会提供完整 UI。

连接失败

先执行“测试连接”,再分别检查地址/端口、认证密钥、TLS、兼容模式和代理跳板机。插件不会把密码或私钥写入 .dsh-servers.json

开发与验证

npm install
npm run check
npm pack --dry-run

插件由 index.js 提供 Host 侧 Node SDK 逻辑,由 client.js 提供静态 Web UI 和 @ 输入触发器。package.json 中的 dsh.client.inject 声明了 Sidebar 和输入触发器依赖。

License

MIT,见 [LICENSE](LICENSE)。