Skip to content

Releases: lemoncat7/dsh-ssh

v1.11.3

Choose a tag to compare

@lemoncat7 lemoncat7 released this 16 Oct 09:00

1.11.3 · 统一工作台交互与聊天临时授权

适配 DeepSeek Harness 0.2.0-rc.2;需要 Node.js ^22.19.0 或 >=24.0.0。不改变现有宿主版本约束。

工作台样式

  • 与知识库工作区统一圆角按钮、输入框、搜索、下拉框及短动效;覆盖终端、主机、代理、文件传输和配置弹窗。
  • 弹窗按视口居中、自适应宽高,统一头部、关闭入口和底部操作区;保留浅深主题、窄屏和减少动画支持。
  • 不改变主机挂载、终端会话、凭据和文件传输行为。

临时 SSH 授权

  • 核验当前真实用户消息中的明确主机操作授意,不再强制请求独立审批弹窗。不会将 Agent 自报同意、旧聊天、工具输出或后台通知当成用户授权。
  • 语义不明确时返回完整授权范围,在聊天中等待用户确认;短确认绑定原申请及主机配置,10 分钟内有效,不能改换目标或任务。
  • 普通授权仅当前执行轮次有效;结束、停止、错误、释放或重启后失效,不改变永久挂载。
  • 搭配伙伴插件 2.8.4,可为明确指定的看板任务和执行伙伴授权:任务暂不运行,授权通过后再提交;仅一次执行、最长 60 分钟,不自动共享给其他伙伴、验收者或重试。
  • 临时授权只提供远端命令及工作目录,不自动开放文件传输、交互终端或端口转发。任务说明不是逐条命令沙箱;远端自行启动的后台程序不保证随本地撤销而退出。

验证与升级

  • 192 项测试通过;跨插件模拟验证用户授意、指定任务绑定、执行边界及撤销。
  • 工作台浏览器回归覆盖 375 / 1024 / 1600 像素、浅深主题;功能代码与已部署的 1.11.3-style.3 试用版一致。
  • 无数据迁移。升级插件并重启对应 Profile,刷新页面;临时授权不会跨重启恢复,旧受阻任务不会因升级自动重跑。

使用说明:https://github.com/lemoncat7/dsh-ssh/blob/main/docs/temporary-access.md

1.11.2 · 会话状态与文件预览优化

Choose a tag to compare

@lemoncat7 lemoncat7 released this 15 Oct 02:36

1.11.2 · 会话状态与文件预览优化

适配 DSH 0.2.0-rc.2;需要 Node.js ^22.19.0 或 >=24.0.0。

  • 打开 SSH 工作台时保留左栏当前会话高亮。
  • 优先选择当前会话挂载的主机,自动展开对应分组;普通刷新尊重手动折叠状态。
  • 右栏按会话保留标签页、主机、浏览目录、文件预览和目录滚动位置,切换会话或关闭再打开不再初始化。状态仅在当前页面生命周期内保留,不跨浏览器刷新。
  • 扩展 SQL、TXT、脚本、配置等文本预览;未知后缀也尝试识别 UTF-8 或带 BOM 的 UTF-16。过大、二进制或无法读取的文件显示下载入口。
  • 文本预览上限 1 MiB,图片/PDF 上限 16 MiB。恢复预览重新鉴权,不缓存内容或授权,不改变主机、密钥和传输配置。

验证:187 项测试通过;375px 和 1200px 隔离浏览器检查通过;线上修复部署后的服务健康、编译文件一致性和文本预览运行检查通过。

详见 会话工作台与文件浏览状态。

安装包与 npm @lemoncat7/dsh-ssh@1.11.2 的 SHA-512 校验一致。

SHA-256:248009efbbf149ad43afaf41f17bcab0610c8f1dc6439a79b7fc1062147ce095

1.11.1 · DSH 0.2.0-rc.2

Choose a tag to compare

@lemoncat7 lemoncat7 released this 08 Oct 02:22

1.11.1 · 终端中断与挂起修复

适配 DSH 0.2.0-rc.2;需要 Node.js ^22.19.0 或 >=24.0.0。

  • 修复 #3、#4:不再通过 SSH channel.signal 向会话 shell 投递信号;SIGTSTP 改用 Ctrl-Z,SIGINT/QUIT 使用 Ctrl-C/Ctrl-\。
  • ssh_terminal_signal 返回 inputWritten: true 和 mechanism: pty-control-byte,不再伪造 delivered: true, targetPgid: 0。
  • 调用方注意:工具只支持 SIGINT、SIGQUIT、SIGTSTP。SIGTERM/KILL/HUP 不再宣称支持;关闭终端使用 ssh_terminal_close。宿主要求真实前台 PGID 的接口在无法验证时明确报错。
  • 取消发送使用 Ctrl-C;终端退出、写入失败或无效信号不返回成功。
  • 验证:182 项测试(umask 022);隔离 Linux PTY 实测 Ctrl-C 中断、Ctrl-Z 挂起前台 sleep。没有向用户远程主机发送测试信号。

原始模式或自定义 stty 可能改变控制字符处理;写入成功不等于已经验证进程收到 POSIX 信号。升级不改变主机、密钥、授权或传输配置。

安装包 SHA-256:202c4c93a0d07c1d7131c0bd35226115f118878c8f46ddc5f4904d52a4a16961

附件与 npm 发布包完全一致。

1.11.0 · 主机分组管理与临时授权

Choose a tag to compare

@lemoncat7 lemoncat7 released this 30 Sep 09:55

1.11.0 · 主机分组管理与临时授权

  • 支持主机拖动到其他分组,分组默认折叠;编辑主机时也可选择分组。
  • 顶部新增菜单提供新增主机、新增分组;分组可独立保存,支持名称和默认代理。
  • 主机右侧菜单提供编辑主机、添加固定目录,移除工作台重复编辑入口。
  • 分组编辑支持一键重置组内主机代理,以及删除分组;删除后主机与固定目录保留,主机移到未分组。分组代理移除后,原继承代理的主机将直连,需重连生效。
  • 支持按主机名、完整 IP 或唯一 IPv4 尾号申请本轮临时 SSH 命令授权。用户确认后生效,本轮结束、停止或报错自动撤销,不改变永久挂载、不继承给其他会话。详见 临时授权说明。
  • 菜单支持键盘操作,分组操作使用紧凑文字按钮并提供二次确认。

适配 DSH 0.2.0-rc.2,需要 Node.js ^22.19.0 或 >=24.0.0。已完成构建、分组与临时授权测试、375px/1024px 页面检查及本地容器部署验证。

已发布 npm @lemoncat7/dsh-ssh@1.11.0,也可通过本 Release 附件 URL 安装。

SHA-256: ef6189af873d3c4bcc3ee2201398b32630f97e57403b1a283212e11d8e5306da

1.10.5 · 适配 DSH 0.2.0-rc.2

Choose a tag to compare

@lemoncat7 lemoncat7 released this 30 Sep 06:58

1.10.5 · DSH 0.2.0-rc.2 兼容发布

  • 更新宿主依赖与兼容声明,配套 DSH 0.2.0-rc.2;需要 Node.js ^22.19.0 或 >=24.0.0。
  • 保留现有功能;未修改 DSH 核心源码。
  • 已完成七插件回归及隔离宿主验证,正式环境工作区、设置接口验收通过。范围与限制见 兼容说明。
  • 宿主仍处于 RC。旧宿主请保留 1.10.4 和配套数据备份,升级前备份配置与数据。

附件安装包与 npm @lemoncat7/dsh-ssh@1.10.5 完全一致。

1.10.4 · 文件传输交互优化

Choose a tag to compare

@lemoncat7 lemoncat7 released this 15 Oct 02:34

1.10.4 · 文件传输交互优化

插件正式版,适配并验证 DSH 0.1.7-rc.2。Node.js ^22.19.0 或 >=24.0.0。

  • 文件点击已经使用预览/下载弹窗,因此移除容易造成重复操作的“传送到下一栏”按钮;跨栏传输统一使用拖放。
  • 拖放传输遇到目标同名冲突时,直接打开处理弹窗,无需先到任务列表点击“处理”;任务列表入口仍保留作键盘操作和异常恢复的兜底。
  • 选择跳过、覆盖或自动改名并成功重新排队后,原失败任务会从界面和服务端历史中删除,不再与新任务同时显示。
  • 文件传输页首次打开后保持挂载;在 SSH 工作台切换终端、命令、设置等标签再返回时,保留连接、目录、选中项、滚动位置、任务页和弹窗状态。

验证:Node.js 24 下完成构建与 173 项自动化测试。保留拖放以外的键盘可操作入口,不修改用户配置和传输数据格式。可回退至 1.10.3。

本条补齐已有 npm 版本的 GitHub 发布记录,保留原版本和历史源码,不代表新的功能发布。

安装包与 npm @lemoncat7/dsh-ssh@1.10.4 的 SHA-512 校验一致。

SHA-256:2a08d3d22924955045e46f9a6a75d912e1c53c699393bf5f54b86ae268e0ee8f

1.10.3 · 适配 DSH 0.1.7-rc.2

Choose a tag to compare

@lemoncat7 lemoncat7 released this 29 Sep 07:06

1.10.3 · 会话事件订阅修复

插件正式版,适配并验证 DSH 0.1.7-rc.2。Node.js ^22.19.0 或 >=24.0.0。不声明兼容未经测试的宿主版本。

  • 切换会话时,只有当前会话自身的终端权限才能开启活动事件订阅,避免旧会话权限触发新会话的 403。
  • 等待新会话权限加载期间,不再显示上一会话挂载的主机。
  • 不扩大权限,不修改数据库或用户配置;不将此修复描述为浏览器 hover 修复。

验证:构建与 170 项自动化测试通过。可回退至 1.10.2。

附件安装包与 npm @lemoncat7/dsh-ssh@1.10.3 完全一致。

1.10.1 · 适配 DSH 0.1.7-rc.2

Choose a tag to compare

@lemoncat7 lemoncat7 released this 28 Sep 15:24

1.10.1 · 启动与交互性能优化

正式补丁版本,适配并验证 DSH 0.1.7-rc.2(宿主为 RC,插件为正式版)。Node.js ^22.19.0 或 >=24.0.0。

合并并发主机读取,修改配置后立即失效;并行读取主机与会话授权,避免切换会话时旧请求覆盖新状态。

验证:167 项测试通过;正式容器已完成面板、设置、渠道及 hover 交互检查。详细实现见 docs/startup-performance.md。

不修改用户数据结构、授权规则或业务流程。本轮仅优化启动与重复工作,不保证所有设备完全消除卡顿。如需回退,可安装上一正式版 1.10.0,保留原配置和数据。

附件安装包与 npm @lemoncat7/dsh-ssh@1.10.1 完全一致。

1.10.0 · 适配 DSH 0.1.7-rc.2

Choose a tag to compare

@lemoncat7 lemoncat7 released this 28 Sep 10:08

1.10.0 · 适配 DSH 0.1.7-rc.2

插件正式版(非 prerelease),已验证宿主:DSH 0.1.7-rc.2。宿主本身仍是 RC,不代表已验证所有未来版本。Node.js:^22.19.0 或 >=24.0.0。

更新

适配主视图持有的当前会话、会话导航、图标与事件处理器返回契约;保留主机、跳板链、终端及文件传输功能。

升级与回退

  • 本版面向 DSH 0.1.7-rc.2,不应直接安装到 DSH 0.1.5 或更早宿主。
  • 升级前源码快照:pre-dsh-0.1.7-rc.2(提交 f8b7f2c,插件源码版本 1.9.2)。历史正式标签保留,不移动或覆盖。
  • 旧版 npm 安装参考:npm install @lemoncat7/dsh-ssh@1.9.2;升级宿主前先备份配置、数据库及工作目录。
  • 新版安装:npm install @lemoncat7/dsh-ssh@1.10.0。

验证边界

本地构建和自动化测试通过;DSH 0.1.7-rc.2 隔离容器已验证插件启动、适用的设置页面和接口。正式容器已经部署对应兼容代码并完成页面/API 冒烟检查。

未穷举 Windows/macOS 桌面桥、真实远端 SSH/FTP、所有渠道端到端附件投递及付费模型提供方。没有把本次验证扩大为对所有外部服务的保证。

附件安装包与 npm @lemoncat7/dsh-ssh@1.10.0 完全一致。

1.9.2 · 文件传输授权简化

Choose a tag to compare

@lemoncat7 lemoncat7 released this 15 Oct 02:41

1.9.2 · 文件传输授权简化

支持 DSH 0.1.5-rc.1 系列,Node.js ^22.19.0 或 >=24.0.0。保留既有旧宿主兼容声明。

  • 会话的文件传输权限统一包含当前会话目录内的上传与下载,移除重复的独立开关。
  • 工具可见性、端点列表和界面说明与实际授权保持一致。
  • 保留授权端点限制、会话目录边界和传输审批;浏览权限不允许传输。

本条补齐已有 npm 版本的 GitHub 发布记录,保留原版本和历史源码,不代表新的功能发布。

安装包与 npm @lemoncat7/dsh-ssh@1.9.2 的 SHA-512 校验一致。

SHA-256:395b59ba4defe7abb19b6f7fa59ad6172d386f400547c9633474a40a7d7bd7e2