dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness 的 SSH 会话管理:连接档案、Agent 远程执行、交互终端与 SFTP;秘密仅存于 DSH 凭据中心。
为 DeepSeek Harness(含 DSH Desktop)而生的 SSH 会话管理插件:集中保存连接档案,让 Agent 能一键连服务器执行命令、开交互终端、传文件——所有秘密只存 DSH 凭据中心,界面与对话中永不出现明文。
版本:0.1.6 · License:MIT · 更新日志见 CHANGELOG.md
ssh_session_open 打开——浏览器内 xterm 终端直连远端 shell,支持窗口缩放,会话跨页面刷新保活,关闭即结束远端会话。ssh_sftp_upload / ssh_sftp_download / ssh_sftp_list,上传可自动创建远端目录,下载默认防覆盖。~/.dsh/.credentials.yaml);档案、工具参数、系统提示词与输出中均不出现密钥值,密码也绝不进进程命令行。本插件通过 GitHub 仓库(Sycada/dsh-remote-ssh-tools)发布,包名 dsh-remote-ssh-tools,未发布到 npm。
注意:npm 上另有名为 dsh-remote-ssh 的包(0.1.0–0.2.4,Apache-2.0),属于另一个项目
(Yan-Zero/dsh-remote-ssh),与本插件无关,请勿混淆。
在 DSH profile 的 package.json 中引用 GitHub 依赖并加入 bundle:
"dependencies": {
"dsh-remote-ssh-tools": "https://github.com/Sycada/dsh-remote-ssh-tools.git#v0.1.3"
},
"dsh": { "profile": { "bundles": [ /* ...原有项... , "dsh-remote-ssh-tools" ] } }
在 profile 目录执行 pnpm install 后重启 DSH。
将源码解压到本地目录,在 profile 的 package.json 中使用:
"dsh-remote-ssh-tools": "file:D:/path/to/dsh-remote-ssh-tools"
pnpm install 后重启;迭代改代码后需重跑 pnpm install 同步到安装副本。
~/.dsh/profiles/<profile名>/package.json:
dependencies 增加:"dsh-remote-ssh-tools": "<版本号>"dsh.profile.bundles 增加:"dsh-remote-ssh-tools"pnpm install客户端模块由 DSH 自动发现并按内容哈希提供,无需重建 Harness 的 Web 壳。
安装后:设置左侧导航出现 Remote SSH 页面;Settings → Plugins 出现可折叠的 Remote SSH 卡片。
uptime",或让 Agent ssh_sftp_upload 传文件;ssh_session_open 后用 sidebar_open 把终端页开进侧边栏;| 工具 | 作用 |
|---|---|
| ssh_profile_list / add / update / remove | 档案增删改查 |
| ssh_profile_test | 连通性 + 认证快速探测 |
| ssh_secret_status | 只报告凭据引用是否已设置(永不显示值) |
| ssh_run | 远程执行一条命令并返回 stdout/stderr/退出码/耗时 |
| ssh_session_open / list / close | 交互会话:打开、列出、关闭 |
| ssh_sftp_list / upload / download | SFTP:列目录、上传(可自动建目录)、下载(默认防覆盖) |
约定:
passwordRef 等引用,值在凭据中心。ssh_session_open;单条命令用 ssh_run。~/.dsh/.credentials.yaml,属主权限)。密码引用(passwordRef)是引用名而非密码本身;合法命名:字母/数字/下划线,以字母或下划线开头(如 DSH_REMOTE_SSH_TOOLS_TEST_PASSWORD)。非法命名在保存/写入前即被拒绝。hostKeyPolicy: strict 时未知主机拒绝、指纹不符报错。| 键 | 默认 | 说明 |
|---|---|---|
| sshPath | "" | 自定义 ssh 二进制路径(仅展示用;执行引擎为内置 ssh2) |
| connectTimeoutMs | 15000 | 连接超时 |
| keepaliveMs | 30000 | keepalive 间隔 |
| runTimeoutMs | 120000 | ssh_run 单命令超时 |
| runOutputLimit | 1048576 | stdout/stderr 上限(超出截断并标记) |
| maxSessions | 8 | 并发交互会话上限 |
| terminalScrollback | 5000 | 终端回滚行数(页面参数) |
| hostKeyPolicy | accept-new | accept-new |
| trustedHosts | [] | 额外信任来源(LAN 部署时) |
| defaultUser | "" | 档案未指定用户时的默认用户 |
~/.dsh/dsh-remote-ssh-tools/store.json:连接档案 + 主机密钥指纹缓存(原子写入)。~/.dsh/.credentials.yaml:凭据中心(各档案的密码/口令值,引用式)。在插件管理中移除 bundle 并 pnpm install;如需彻底清理,再删除上面两个数据文件中的相关条目。
plugins.item 插槽(0.1.x 用的是已移除的
settings.plugin.item),dsh.engines.dsh 已按此声明,插件商店会据此判定兼容性。MIT