
caoyiwei850/dsh-ssh-ops
dsh-ssh-ops
dsh-ssh-ops is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:caoyiwei850/dsh-ssh-ops#v0.4.3Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-ssh-ops)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from caoyiwei850/dsh-ssh-ops, cleaned of badges and images.
中文 · English
DSH SSH Ops
DeepSeek Harness 的 SSH 运维插件:在主对话中驱动当前服务器,同时在右侧保留真实的交互式终端,并集成文件管理、端口转发与数据库管理。
📖 第一次使用?请从产品文档开始——十分钟上手、功能详解、安全模型与场景配方。
v0.4.2:修复
sftp_read超限读取与空密码保存问题;文件面板新增上传进度、远端写入状态和完成提示,流式上传通过临时文件完成后再替换目标。详见 CHANGELOG.md。 v0.4.1:远程工作区相对路径改以会话当前远端目录为基(cd子目录后sftp_*相对路径跟随,越界仍锁绑定根);ssh_read 增量读在缓冲翻滚后依然增量;SFTP 目录传输支持取消、空闲死线与半成品清理;工作区绑定下拉可改绑他人已绑工作区。 v0.4.0:危险命令确认整体迁移到宿主原生会话内审批——ssh_exec与sftp_delete在操作者答复前挂起,一次性批准绑定命令与服务器,拒绝、取消或无审批通道一律 fail-closed;同时包含远程工作区(把 DSH 工作区绑定到已保存服务器的远端目录,sftp_*自动使用绑定根与服务端)、ssh_read增量读取、终端 Ctrl+滚轮缩放与选中即复制、日志 warning/error 高亮、最近用户名自动记忆;修复客户端 apply 重试残留、zsh/NAS 自定义登录 shell 的ssh_exec目录探测、官方 Desktop 一键更新通道,并加固远端路径符号链接边界与跨读取脱敏。 v0.3.22:新增 AI 命令执行策略三档——右侧终端左下角新增档位贴片(标准 / 自定义放行 / 全部放行,默认收缩为贴边色点、悬停展开;往松切需确认、切换只对本次会话生效,资源「高级选项」可按服务器覆盖,设置页第三页签管全局默认与放行类目);Agent 永远无法自行放宽——档位切换是操作者专属 RPC,被拦时 Agent 只会拿到结构化拒绝与指引,多机批量的操作者勾选闸门也不受档位影响;被放行的命令按原样执行(删除不再进回收站,警示文案明示)。修复 #33——网络设备(华为 VRP / 华三 Comware)上ssh_exec15 秒静默卡顿后返回空输出:exec 通道超时改为先本地结算再关闭(对端不响应 CHANNEL_CLOSE 也不再挂死调用方),探测超时且零字节返回即判定为网络 CLI 设备、自动改走交互终端路径并以提示符回归为完成信号(首次调用当场降级;提示符识别覆盖 VRP/Comware/Cisco,分页自动推进,识别失败给人话错误而非空超时)。修复 SOCKS5 动态转发(ssh -D)三缺陷(外部排查报告核实后修复):握手解析器在 CONNECT 应答后退役——转发流量不再无界累积(实测 48 MiB 转发常驻 +204 MiB 降回零)、管线化载荷不再丢失(握手窗口内残余先 flush 再 pipe)、连接计数不再双减;顺带修复git clean -fd(最常见写法)因正则尾部写错从未被拦截的既有漏洞。 v0.3.21:修复 #32 报告的宿主闪退(Windows 真机,未捕获异常直接击穿 DSH 进程)——① ssh2 的forwardOut在传输断开时同步 throw 而不走 callback(Not connected),断线后隧道 listener 仍监听、迟到接入即崩宿主:三处调用点(本地隧道 / SOCKS5 / DB 隧道)全部捕获,失败只牺牲该连接;② 隧道 socket/channel 无error监听,本地 RST(ECONNRESET)零监听即崩:双向互相拆链 + 迟到 channel 丢弃 + 竞态接入拒绝;③ 传输丢失、显式断开、插件卸载三条路径统一关闭隧道 listener 并同步退役依附该 SSH 连接的 DB 隧道(事务回退、redis 断连一并处理),不再留幽灵监听;④ 顺手修复隧道面板列表渲染的TypeError: t2 is not a function(渲染回调参数遮蔽了 i18n 翻译函数t,0.3.10 起潜伏,隧道列表非空即崩 tab)。
v0.3.20:新增 SSH 资源「登录命令」(高级选项,
ssh -t语义的 exec+伪终端——默认 shell 不兼容的服务器填bash -l即可临时改用 bash,tmux attach、进目录后进 shell 一类动作也可固化为登录即得;命令即整个登录会话,改完保存后下一个终端即生效、无需重连);ssh_exec 的 cwd 解析器拒绝语义拆分(多候选歧义与忙/非交互各占独立消息,后者带候选进程的 comm/pgrp/tpgid 摘要,现场排障一眼定性;讨论自 #31);删除 SSH 资源时同步清除该主机的指纹信任记录,不再残留于「已信任主机」列表。
v0.3.19:新增 SSH Agent 转发(资源「高级选项」开关——跳板机上可用本机密钥继续登录更深层的机器,无需把私钥铺到每一跳;本机未运行 ssh-agent 时连接直接报错,不做静默降级);数据库连接新增查询超时覆盖(
db_connect的query_timeout_ms,慢库上的大查询/大导出不再被 35s 默认死线掐死,0为不限);认证阶段设备主动SSH_MSG_DISCONNECT时给出人话化断开原因(原因码 + 设备原文 + 两层排查提示);设置页「服务器分组 / 共享 SSH 凭据」改为滑动分段切换;插件页换上展示图标与双语标题/描述(DSH 0.2.x 插件管理行,品牌蓝终端标记);修复 #29——github:渠道装出来没有lib/导致插件整体加载失败,现由prepare钩子在安装期自动构建。CI 同步加固:测试矩阵加 Windows 腿、npm 渠道产物冒烟作业、tarball 文件清单进断言。
v0.3.18:新增界面语言钉住开关——DSH 运行插件未内置的语言(如俄语)时,可在设置文件设
autoApplySystemLanguage: false+language钉住插件语言,不再被强制回退中文回写;默认跟随行为不变。见「固定界面语言」说明。贡献:@alexeyfadeev(PR #28)。
v0.3.17:修复 0.3.16 的 #27——i18n 重构漏改变量名导致官方侧栏注册抛
ReferenceError、SSH 终端 UI 完全不可见;eslint 现已覆盖客户端 JSX 并新增回归断言。
v0.3.16:新增中英双语界面——始终自动跟随 DSH「设置 → 语言」(含运行中切换,无需刷新),中文为源、英文覆盖,左侧「SSH 资源」标签与终端图标随语言动态变化;设置页新增自更新条(版本徽标、GitHub 链接、检查更新对话框、一键更新与可复制的手工更新命令);lib 构建产物出库(仓库不再提交打包产物);资源表单布局紧凑化;移除损坏的 ~/.ssh/config 导入;已信任主机列表支持直接删除。
…

