dsh-ssh 使用指南
为 DSH Web GUI 加入完整 SSH 运维:主机管理、Web 终端、SFTP 传输、本地端口转发隧道、集群并发执行,以及 6 个 Agent 工具,配置集中存于本机。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-ssh
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add @captain1275/dsh-ssh
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 毛玻璃输入框:高斯模糊(backdrop-filter 30px)+ 半透明玻璃底 + 细边框 + 内高光
- 自定义背景:URL / 本地图片 / 动图(GIF/WebP)/ 视频(mp4/webm) / 透明度 / 模糊调节,
- 仿Claude Code推理等级滑块:点击模型菜单的「推理等级」弹出 Effort 滑块面板——无极拖动、松手吸附、
- 用户消息气泡毛玻璃:与输入框统一的玻璃质感
- 图片资源(社区同人资源,codex-pet-DeepSeek-girl)
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
安装之后侧边栏没出现 SSH 入口怎么办?
重启 dsh web。bundle 激活是 host 启动时一次性做的,刷新浏览器不足以触发;重启后侧边栏出现「SSH」入口,Agent 提示词也会自动带上插件说明(受 announceToAgent 开关控制)。
密码是怎么保存的?安全吗?
以明文存于 ~/.dsh/dsh-ssh.json(文件 0600、目录 0700,原子写入 tmp + rename)。这与 ssh-skill 把密码写进 ~/.ssh/config 注释的信任模型一致——本插件不做额外加密,避免密钥管理带来新风险。
局域网里别人能访问我的 SSH 控制台吗?
不能。所有 /api/dsh-ssh/* 路由仅信任本机回环连接(socket 地址必须命中 IPv4 127/8、::1、::ffff:127/8,并校验同源 Host header、sec-fetch-site / Origin),LAN 邻居直接 403;本地端口转发隧道也只监听 127.0.0.1,不会暴露到外部网络。
Agent 能在我没配置的主机上执行命令吗?
不能。Agent 只能操作 GUI 中已配置或从 ~/.ssh/config 导入的主机别名;别名未配置时 ssh_exec / ssh_upload 等工具调用直接报错,不会臆造主机。这一约定同时写在系统提示词「限制」段与 README 中。
远程输出会脱敏吗?比如 env 命令?
不会。exec / cluster 的 stdout / stderr 原样返回,env 这类命令可能把远端环境变量里的密钥带回对话记录——这是 ssh-skill 同样的语义,使用前请自行评估。
下载能整目录吗?上传呢?
下载仅支持单文件(在「传输」面板的远程浏览器里挑文件);上传支持本地目录递归(walk 后逐文件传),整目录下载未实现。
跳板机能用 ~/.ssh/config 里的别名吗?
不能。ProxyJump 链上的每一跳必须是本插件已配置的主机别名,不能跨插件引用 ~/.ssh/config 别名;导入时若某跳不在本插件主机表中,会在创建时直接报错跳过。
自动重连会不会重放我的命令?
会。exec 断线时会自动重连(最多 3 次),命令会在新连接上重新发送;非幂等命令(如 rm、追加写文件)会有副作用,请优先用幂等命令或确认后再执行。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 0.1.0-rc.6+(peerDependencies 锁到 @deepseek-ai/dsh-* ^0.1.0-rc.6)
- Node: ^22.19.0 || >=24.0.0
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则