- Accueil
- Plugins
- Intégrations et accès distant
- dsh-server-toolbox
dsh-server-toolbox
yu7777777777/dsh-server-toolbox
Sidebar registry for SSH servers, expiry dates and service URLs, with Windows DPAPI-encrypted password and private-key storage, explicit host-key verification, login tests, and agent SSH execution that asks per command by default or can follow the session permission.
Installer
dsh plugin --profile web add github:yu7777777777/dsh-server-toolboxREADME
DSH 服务器工具箱
在 DSH 左侧栏管理 SSH 服务器和已部署服务,让 AI 按需检索连接信息、测试登录,并在授权后执行远程命令。
登记一次服务器信息,以后不必在对话中反复提供地址和连接方式。
功能
- 服务器管理:添加、编辑、搜索和删除服务器,记录主机、端口、SSH 用户和备注。
- 服务入口:每个服务只需填写名称和访问网址,保存后可以点击打开。
- 密码登录:在专用表单中保存登录密码,使用 Windows DPAPI 当前用户加密,不发送到聊天。
- 连接验证:获取并核对主机指纹,测试 SSH 登录;远程命令需要单独授权。
- AI 调用:通过
server_toolbox检索服务器,通过server_ssh测试连接或执行获准的命令。
安装
需要支持 Cordis 插件和插件管理器的 DSH。当前密码保存功能仅支持 Windows。
可以在 DSH 中发送:
请通过插件管理器安装这个服务器工具箱插件:
https://github.com/yu7777777777/dsh-server-toolbox
也可以在支持安装外部包的插件管理器中使用 GitHub 包地址:
github:yu7777777777/dsh-server-toolbox
安装完成后,按插件管理器提示刷新页面或重启 DSH,然后打开左侧栏的「服务器工具箱」。安装行为会运行第三方插件代码,请只安装你信任的来源。
GitHub 地址安装需要可用的 Git 和网络。私有仓库还需要相应访问权限。不同 DSH 版本的插件管理入口和兼容性可能不同,请以安装结果为准。无需为了使用插件而运行开发测试。
开始使用
添加服务器
点击「添加服务器」,填写:
| 字段 | 示例 | 说明 |
|---|---|---|
| 服务器名称 | 我的服务器 | 用于区分不同服务器 |
| 主机 / IP | server.example.com | 服务器域名或 IP 地址 |
| SSH 用户 | deploy | 服务器上的登录用户名 |
| SSH 端口 | 22 | 按实际 SSH 端口填写 |
| 认证方式 | 用户名+登录密码 | 默认使用密码,也支持 SSH Agent、加密保存的导入私钥及兼容旧路径 |
到期日期(选填):添加或编辑服务器时可从日历中选择日期,保存后会显示在服务器卡片上;留空表示未设置,清空后保存可移除。该日期仅用于记录,不会自动续费、发送定时提醒或阻止 SSH 连接。日期按日历日保存,不包含具体时刻或时区。
登录密码只在插件的专用输入框中填写。编辑服务器时,替换密码框留空表示保留已保存的密码,不会自动回填。
查看已保存密码:编辑已保存的密码认证服务器,在「登录凭证」中点击「查看已保存密码」,再确认显示。密码只出现在单独的只读区域,15 秒后隐藏;可点击「立即隐藏」,窗口失焦或切到后台时也会隐藏。取消编辑、切换服务器、改变连接目标或开始填写新密码会卸载查看区域,取消或忽略未完成的查看请求。该操作不复制到剪贴板,不会覆盖替换密码框,也不通过普通模型工具返回密码。
查看是已登录 DSH owner 信任范围内的功能,不是 Windows 身份验证或真人证明:具有相同 owner 权限的 API 客户端及本机同用户高权限程序仍可能调用专用通道。隐藏仅移除页面中的显示与引用,不保证清除开发者工具里的网络响应或物理擦除 JavaScript 字符串;不要在共享屏幕、录屏或不可信设备上查看。
导入或粘贴私钥
认证方式选择「私钥(导入或粘贴)」,保持保存方式为「导入或粘贴,本机加密保存」,然后选择一个私钥文件,或展开专用粘贴区填写私钥内容,再点击保存。
- 导入的是文件内容,不是路径;在同一 Windows 用户下保存成功后,移动或删除原私钥文件不会影响连接。请仍保留自己的安全备份。
- 选择实际的 SSH 私钥文件,不是存放密钥的文件夹,也不是以
.pub结尾的公钥。只支持未加额外口令的私钥,最大 32 KiB;无法解析或需要口令的私钥会拒绝保存。 - 私钥经 Windows DPAPI CurrentUser 加密后,独立交由 DSH 凭证服务保存,不写入服务器清单,不回填已保存内容,也不通过模型工具返回。导入不会修改原文件。
- 修改连接目标、切换认证方式或取消编辑会清除本次临时导入;编辑已有连接时不提供新内容就保留已保存私钥。
- 旧版路径连接仍可使用「旧路径方式」,但那种方式依旧受文件位置影响。路径记录不会自动迁移;请自行重新选择文件导入后保存。
- 加密私钥和密码一样依赖当前 Windows 用户。迁移电脑或 Windows 用户后需要重新导入;本机同用户高权限程序仍在信任边界内。
远程命令审批方式
服务器列表上方的「设置」中可以选择:
| 选项 | 行为 |
|---|---|
| 每次执行都询问(默认) | 每条远程命令都请求一次 DSH 授权,仅当次有效 |
| 跟随会话权限 | 只有当前会话同时为「完全访问」且已关闭审批时,命令直接执行、不再弹窗;其他会话仍请求授权或拒绝 |
说明与边界:
- 「跟随会话权限」不是无限制放行。会话处于只读、工作区写入,或只是「审批关闭但沙箱受限」时,仍会走原来的授权流程。
- 无法读取当前会话权限(服务缺失、预设为自定义、读取异常)时,一律回退为请求授权,不会静默跳过。
- 该设置只能在本插件页面修改;模型工具不能改自己的审批方式。工具结果会标注本次是
approvedBy: per-call(逐次授权)还是session-policy(会话策略放行)。 - 主机指纹与已保存凭证仍是硬性前提:未确认指纹或未保存密码/私钥时,即使会话允许也不会执行。
- 选择该模式意味着:当你把会话设为完全访问时,这条通道上的远程命令不再有人工确认环节。请只在确实信任当前会话内容时使用。
添加服务网址
在「已部署服务」中点击「添加条目」,填写名称和网址即可:
| 名称 | 服务网址 |
|---|---|
| 网站后台 | https://panel.example.com |
| 文件管理 | http://192.168.1.10:8080 |
网址需要以 http:// 或 https:// 开头,可以带端口;不要填写包含账号、密码或访问令牌的链接。插件不会自动探测这些网址。
核对指纹并测试登录
- 点击「获取主机指纹」。
- 通过服务器控制台或管理员提供的独立可信渠道,核对完整 SHA256 指纹。
- 确认目标主机、端口与指纹一致后,再勾选确认并保存信任。
- 点击「测试 SSH 登录」。此操作只验证认证,不执行远程命令。
主机指纹用于确认服务器身份,不是登录密码。**不能只因为页面显示了某个指纹就直接信任。**如果以后提示指纹变化,应先核实是否重装了服务器、更换了 SSH 主机密钥,或连接到了错误的主机。
在对话中使用
登记完成后,可以对 DSH 说:
列出我登记的服务器,以及各自的服务网址。
测试“我的服务器”的 SSH 登录,不要执行远程命令。
查看“我的服务器”的磁盘使用情况,执行前向我请求授权。
是否能够执行,取决于当前会话的工具配置、服务器连接状态及 DSH 的授权结果。拒绝授权、授权不可用或未确认主机指纹时,不会绕过检查执行。
安全与限制
- 密码与元数据分开存储:密码经 Windows DPAPI 加密后交由 DSH 凭证服务保存;服务器名称、地址、用户名和服务网址仍保存在本地
data/servers.json中,不是加密数据。 - 加密不等于隔离:同一 Windows 用户权限下的高权限程序仍可能访问运行时秘密,不应把 DPAPI 当作抵御已控制本机程序的安全边界。
- 迁移需要重新配置:更换电脑或 Windows 用户后,保存的密码可能无法解密,需要重新输入。修改服务器主机、端口、用户或认证目标后,应重新保存密码并核对指纹。
- 远程执行有风险:每次远程命令都需要 DSH 单独授权。超时、断网或取消不保证远端进程已停止;输出脱敏也不是通用的敏感内容过滤器。
- 认证支持有边界:加密私钥的口令、OTP/MFA 暂无完整交互支持;SSH Config 别名仅供登记,内置连接不会解析 ProxyJump 等配置。插件的指纹信任与系统 OpenSSH 的
known_hosts独立。 - 注意本地备份:不要上传服务器数据、凭证、私钥、运行日志或未脱敏截图。卸载、更新或移动本地安装目录前,请先备份需要保留的资料;不要把服务器数据当成插件源码提交。
开发与测试(可选)
仅修改源码或参与开发时需要以下环境:Windows、Node.js 22 或更高版本、pnpm 11.28.5。
pnpm install --ignore-scripts --frozen-lockfile
pnpm test
测试覆盖元数据管理、服务网址验证、通信协议,以及本机临时 SSH 服务器上的密码认证、主机指纹、授权拒绝、DPAPI 加解密和输出脱敏。测试使用运行时生成的虚构凭证,不需要真实服务器。
完整集成测试依赖 Windows;本地测试和 GitHub Actions 通过不代表所有 DSH 版本、界面主题、网络环境或真实服务器均已兼容。
许可证
本项目使用 MIT License,允许按许可证条款使用、修改和分发,须保留版权声明和许可证文本。第三方依赖仍遵循其各自的许可证。
Plugins associés
dsh-web (dsh-ssh)
zhu1090093659/dsh-web
dsh-web (dsh-remote-web-ui)
zhu1090093659/dsh-web
dsh-web-ui (dsh-ssh)
zhu1090093659/dsh-web-ui
dsh-purge
kingcharleslzy-ai/dsh-purge