前言¶
在做 DSH / 智能体开发时,常见需求是把自然语言指令落到服务器:查状态、改配置、看文件、转发端口、查数据库。若只让 Agent 在命令行里执行,缺少一个可对照的真实终端;若只用普通终端,又缺少资源管理、数据库面板和人工确认边界。
caoyiwei850/dsh-ssh-ops 是 DeepSeek Harness 的 SSH 运维插件。它在主对话中驱动当前服务器,同时在右侧保留真实的交互式终端,并集成文件管理、端口转发与数据库管理。
这是什么¶
- 插件名:
caoyiwei850/dsh-ssh-ops - 维护者:
caoyiwei850 - 许可证:MIT
- 定位:DSH Web 中的 SSH 运维、文件管理、端口转发和数据库管理插件
- 安装命令锁定版本:
v0.2.16
核心能力¶
SSH 终端¶
插件会在会话右侧打开可调整宽度的 xterm.js SSH 终端。若同时启用 DSH-better-sidebar,终端会自动停靠在侧栏左边。
SSH 连接启用 keepalive,意外断开后按指数退避自动重连。主机指纹校验(TOFU)支持 accept-new、verify、off 三种模式。
文件管理¶
SSH 面板中的文件能力基于 SFTP:
- 浏览服务器目录树
- 上传
- 下载
- 新建目录
- 删除
- 重命名
端口转发¶
支持本地转发与远程转发,并可在界面上实时查看与停止隧道。
数据库管理¶
支持连接 MySQL / PostgreSQL / Redis / MongoDB,执行查询或命令,并查看结果表格。
db_query 为词法级强制只读查询,仅放行 SELECT/SHOW/DESCRIBE/EXPLAIN/纯查询 WITH,拒绝写动词、SELECT INTO、FOR UPDATE 锁读和数据修改 CTE。
高危 SQL(DROP DATABASE/SCHEMA/TABLE、TRUNCATE、SHUTDOWN)会自动拦截,并返回可复制卡片供手动执行。
服务器资源与凭据¶
在 设置 → 插件 → SSH 资源 中管理任意数量的服务器和分组。
密码、PEM 私钥和私钥口令保存到 DSH 官方本机凭据库;浏览器存储、Agent 上下文、工具结果和资源列表不读取或显示秘密内容。
Agent 工具¶
插件提供 30 个 Agent 工具,覆盖 SSH、SFTP、端口转发、批量执行和数据库。
安全边界¶
DSH 自身权限机制仍然有效。插件额外阻止 Agent 工具执行明显不可逆或破坏性操作,例如删除文件、删库、格式化磁盘、terraform destroy、kubectl delete、docker prune、强制 Git 清理以及重启/关机。
高危命令需要操作者点击红色「执行」才会发送到服务器,并且不再预填到终端命令行。
输出给模型前会脱敏私钥、Bearer Token、常见密码/API Key 和数据库连接口令。
安装与启用¶
从 GitHub 安装:
dsh plugin --profile web add github:caoyiwei850/dsh-ssh-ops#v0.2.16
安装后重启 DSH Web:
dsh web
然后打开任意会话,点击顶部的 SSH 标签,使用右侧面板连接服务器。
典型用法¶
1、打开 设置 → 插件 → SSH 资源,新建分组或服务器资源;PEM / .key 文件可直接导入。
2、在主对话中直接说“查询服务器内存使用情况”或“配置 Nginx SSL 证书”。
3、需要数据库时,让 Agent 调 db_connect(或自己在「数据库」页签新建连接),随后即可在对话中查询/执行。
4、主对话说“批量执行 <命令>”,Agent 创建批量任务,右侧 SSH 面板勾选确认后并发执行。
5、若命令或 SQL 命中高危规则,插件会拦截并返回可复制卡片,由操作者手动执行。
适用场景与注意¶
适合需要在 DSH 对话中完成服务器运维、文件管理、端口转发和数据库查询,并希望保留真实终端、资源管理与高危确认边界的开发者。
由于插件会访问 SSH、文件、端口转发和数据库等敏感能力,应把它视为以当前 dsh 进程权限运行。安装前建议检查源码与 MIT 许可证,并确认团队是否允许将服务器凭据交给 DSH 本机凭据库管理。
链接¶
- GitHub:https://github.com/caoyiwei850/dsh-ssh-ops
- 目录页(插件线索,未完全核实):https://www.skillhub.cn/plugins/caoyiwei850/dsh-ssh-ops