Repository navigation
Releases
0.3.24-jay.71 — Windows automatic updates and DSH RC5
支持 Windows、macOS 和 Linux 用户级插件自动更新,并适配 DSH 0.2.1-rc.5。
在 SSH 面板的「插件更新」中开启一次。插件独立检查兼容的新版本,验证归档完整性,等 DSH 退出后安装,下次启动生效。Windows 使用当前用户任务计划,无需管理员权限;默认关闭,关闭后会移除计划任务。
安装名称:@biogod/dsh-ssh。首次升级可指定 @biogod/dsh-ssh@0.3.24-jay.71。
发布使用通过完整测试的同一归档,覆盖实际 Windows 计划任务、中文用户路径、真实包管理器更新、Host 退出与重启,以及 npm 官方源和大陆镜像安装。
0.3.24-jay.67 — Native remote Session actions and shortcut routing
远程会话复用 DSH 原生菜单、重命名与归档确认、可恢复归档和 Undo。RC2/RC3 父窗口的新建、重命名、分叉、归档快捷键现在跟随当前远程会话,并保留本地会话行为及用户按键设置。
- 汇总远端账户服务复用、模型与插件跟随、加载与磁盘缓存、项目排序和首连滚动修复。
- 对已审查的 RC2/RC3 使用带精确实现检查的临时快捷键适配层;未知实现采用 Web 独立页面或 Desktop 明确提示,不回落到本地会话操作。
- 保留已合并贡献者的 Windows 私有文件权限修复、严格主机密钥验证、断线不重放及无遥测约束。
- 修正离线历史降级验收脚本的选择性解包清单;未发布的 jay.66 标签与失败记录保留。
感谢 @Jason8996 在 PR #2 中贡献 Windows 私有存储权限兼容修复;原始作者署名及合并历史均已保留。
完整 128 个文件、1,160 项测试,以及类型检查、构建、归档检查通过。内置浏览器使用生成的 loopback SSH 账户实测四个父窗口快捷键、原生消息复制、远端归档恢复和本地草稿保留,无模型请求。
发行验收:GitHub Actions。附件为同一次 CI 验收并由 npm OIDC 发布的归档及校验和。发行流程核对四个 DSH 运行时、旧历史回退、历史补差及重启、SSH 断线、npm/国内镜像实际文件完整性和按包名安装。
npm 和国内镜像的 latest 均为 0.3.24-jay.67。macOS 另完成官方源按精确版本安装到 DSH RC3 的验收,安装的前后端与发行包字节相同。
希望以后只输入包名,可先按一次性信任设置在当前 DSH profile 允许 @biogod/dsh-ssh 即时更新。该规则不含版本号,之后官方添加插件入口只需输入 @biogod/dsh-ssh;已用真实官方 UI 验证安装 jay.67。
尚未配置一次性信任时,立即安装本次发行可使用精确版本:
dsh plugin --profile web add @biogod/dsh-ssh@0.3.24-jay.67 --registry=https://registry.npmjs.orgpnpm 的新包等待策略可能使刚发布时的 @latest 或裸包名安装选择旧版,即使 npm 的 latest 已更新。此版本实测默认 @latest 选到 jay.42,精确版本安装成功;仅在生成的隔离 profile 为这个精确版本增加 minimumReleaseAgeExclude 后,@latest 也选择 jay.67。发行未修改用户日常 profile 或全局包管理策略。
此发行不自动更新或重启现有日常 Web/Desktop 服务。源码 PR #3 保留仓库所有者的审核要求。
0.3.24-jay.42 — DSH 0.2.1-rc.3 compatibility
Adds support for DSH 0.2.1-rc.3. Fixes the settings compatibility types and includes the working directory when the host Bash result schema requires it. Existing SSH hosts, remote workspaces, disk history and per-session drafts keep their formats. This release does not upgrade remote DSH services.
Install in DSH Plugins → Add plugin:
@biogod/dsh-ssh@0.3.24-jay.42
Local validation: 947 tests passed with both the original SDK and rc.3 SDK; type checks, build, package checks and isolated rc.3 runtime acceptance passed. The local compatibility build was exercised in macOS Desktop, and protected configuration, sessions and review records retained identical hashes.
The release workflow verifies the exact archive in four DSH runtimes, publishes through npm OIDC, and verifies npm/mirror integrity and installation by package name.
0.3.24-jay.41 — idle view reclamation and shared Host reads
Remote workspaces now release safe idle views and reuse quiet Host reads. Local disk history and drafts survive view reclamation and controller restarts.
- Keep the unified sidebar in
dsh web; reclaim ordinary inactive views after five minutes or when the warm-view/JS-heap budget is exceeded. - Preserve terminals, file tabs, unsaved drafts and pending operations. Reopening a released view restores its saved draft and history.
- Share quiet Host catalogs for 15 seconds, invalidate immediately after changes, and remove repeated
workspace/createwrites when reopening existing workspaces.
内置浏览器已实际验证:回收后恢复中文草稿和历史、保护原终端、自动回收、即时重命名,以及重启后离线阅读。历史长期保存在本机磁盘,回收视图不清除数据。按用户要求未操作 Desktop App。
Validation: 947 tests, typecheck, build, archive checks, three DSH runtimes, incremental disk history/restart/downgrade, real SSH disconnect, official npm/mirror integrity and by-name installations. CLIProxyAPI Gemini 3.8 Flash provided targeted review; implemented decisions are documented.
Actual screenshots and acceptance · Release workflow
SHA-256: a4c11489e0f2abe31a532bf378c1c71a6599d843e6da694c6d495a24ee5c4ae1
0.3.24-jay.40 — durable remote history and dsh web recovery
本地与 SSH 远端会话现在共用侧栏的置顶、重命名和归档操作。远端历史长期写入本机磁盘,按窗口读取并补齐新增事件;文字草稿在控制器重启、网关端口变化后可恢复。
修复 dsh web 从 localhost 进入远端时的登录失败及返回本地链接,票据和 Cookie 仍绑定准确 Origin,跨站请求继续拒绝。
实际使用验收覆盖消息/代码复制、草稿切换、远端模型表单、重启后未连接 SSH 阅读磁盘历史,以及新端口上的编辑器草稿恢复。完整 934 项、类型检查、构建和隔离运行时通过;本轮按用户要求使用真正的 dsh web,不操作 Desktop App。
Local and SSH conversations share pin, rename and archive actions. Remote history stays on local disk without automatic expiry, uses windowed reads and synchronizes missing events. Text drafts survive controller restarts and gateway-port changes.
This release also fixes localhost remote-login and return-navigation failures in dsh web while preserving exact-origin tickets/cookies and cross-site rejection. Acceptance used the real Web CLI and browser, including copy/paste, draft switching, the remote model form, offline disk history after restart, and editor recovery on a new gateway port.
@biogod/dsh-ssh v0.3.24-jay.39
Remote history now stays on local disk and synchronizes by event cursor. Unchanged checks return no history; changed histories transfer only missing events, filtered and compressed remotely. Interrupted first downloads resume after the last saved batch. Existing copies, selective cleanup and reminders are preserved.
This also fixes missed assistant/tool events when the session-list activity timestamp does not advance, and recovers data committed before a local index update. The helper uses the current remote Node/DSH without installing a remote plugin or restarting the service. No commands, prompts or cancellation requests are replayed.
Validation: 74 suites / 672 tests, typecheck, build and artifact checks; generated-key SSH with 1,100 fixture messages; final installed-bundle incremental history and offline restart acceptance; retained disconnect and compatibility checks. Tagged CI performs the required three-runtime archive and registry installation gates.
In the isolated 1,100-message fixture, history return payload was about 16 KB initially, 109 bytes unchanged, and 257 bytes for one additional event. This excludes SSH framing, outgoing helper source and other UI traffic; it is not a WAN latency benchmark. Native live chat still obtains current runtime state from the remote service.
Verified release workflow: https://github.com/Biogod2020/dsh-ssh/actions/runs/39780902969 (all three jobs passed). Official npm, actual mirror CDN and GitHub Release archives match the CI artifact; SHA-256 0aa53cabb1714fbdee68946efa7394b9efabc079c1017de07ce0a5646c26b1ec. Daily Desktop installed the exact official version, retained existing configuration and history, restored its running remote conversation, and verified local/remote switching without restarting the remote daemon.
DSH SSH Ops 0.3.24-jay.37
Fixes frequent terminal disconnects when a short HTTP health-check delay triggers carrier replacement. Healthy WebSocket streams keep their original carrier, including pending handshakes and internal history/catalog observers; new requests use the replacement. Health probes share an in-flight read and require three consecutive failed recovery rounds unless SSH is already known to be broken. Old stream carriers are bounded without evicting live terminals. Commands, input, cancellations and transfers are never replayed.
This patch also preserves compression for static assets and gives a cold remote page and client bootstrap two minutes each, with cancellation and clear timeout messages. Only the HTML rewritten by the gateway requests identity content.
Validation: 73 suites / 658 tests, typecheck, build and archive checks; real generated-key SSH/DSH terminal continuity with the same shell PID and a once-only marker; exact-archive acceptance on DSH 0.2.0-rc.2, 0.2.1-alpha.4 and 0.2.1-rc.2; npm and mainland-mirror archive integrity and package-name installation. Automated tests use generated identities and disposable homes.
The macOS daily Desktop installation was backed up and updated. Original configuration/session files and other plugin declarations were preserved. Native delivery verification reopened the original remote conversation, switched to local and back through the same retained remote view, and confirmed the remote daemon PID had not changed. No prompt or terminal input was sent for this UI check.
Install: @biogod/dsh-ssh@0.3.24-jay.37. Save drafts and fully quit/reopen Desktop after upgrading, so its backend loads the new package.
DSH SSH Ops 0.3.24-jay.36
Fixes frequent terminal disconnects caused by transient health-check latency. Requires consecutive failed probes before repair, retains pending/open WebSocket streams on their original carriers, bounds retained carriers without evicting live terminals, and never replays input or commands.
Validated with 655 tests, real generated-key SSH/DSH terminal PID continuity and a once-only marker, three DSH runtime archive acceptances, and npm/mirror integrity and package-name installation. Daily Desktop installed the verified local build with configuration/session preservation. A separate first-load delay found during native restoration is being addressed in the next patch.
DSH SSH Ops 0.3.24-jay.35
DSH SSH Ops 0.3.24-jay.35 saves opened remote conversation history on the local disk so it remains readable after restarts or SSH outages. Copies do not expire automatically. Review them by host, project or conversation, clear selected local copies, and receive cleanup reminders without deleting remote sessions.
- Switch retained remote conversations through native navigation, coalesce per-host metadata reads and reduce redundant sidebar refreshes.
- Preserve cancellation acknowledgements while replacing an SSH carrier. Failed or uncertain operations are never replayed.
- Add real disk-history screenshots and usage documentation, including the attachment and live-state boundaries.
Validation: 73 test suites / 645 tests; typecheck, build and archive validation; isolated archive and package-name installation checks on DSH 0.2.0-rc.2, 0.2.1-alpha.4 and 0.2.1-rc.2. Exact npm and mainland mirror archives are checked against the CI artifact before delivery is marked complete.
Real generated-key SSH acceptance covered 1,100 generated messages, full disk persistence, controller restart, offline reading, selective clearing and preservation of remote history. No production SSH target or model credential was used.
Install: @biogod/dsh-ssh@0.3.24-jay.35
Save drafts and fully quit/reopen DSH when updating an existing desktop installation. Existing configuration and remote sessions are preserved. Local history stores text/events; attachment binaries still come from the remote host.
DSH SSH Ops 0.3.24-jay.34
修复 SSH 断线后新转发请求导致 DSH 后台退出、界面一直 Reconnecting 的问题。
- 捕获 ssh2 在 TCP 接入时同步抛出的断线错误,失败仅关闭当前连接,不终止 DSH。
- 在等待 SSH 通道期间处理本地 socket 错误,并释放本地连接关闭后迟到的通道。
- 不新增自动重连、命令重放或请求重放,保留原来的主机校验和连接归属。
验证:69 个测试文件 / 619 项测试、类型检查、构建、归档检查;四项独立进程回归测试;最终安装包经真实 SSH 断线注入,确认三次失败转发后 DSH API 和另一条隧道仍正常,无新增 SSH 连接、命令或模型请求。发行流水线还验收三个 DSH 版本、npm 官方源与国内镜像的实际归档完整性及按包名安装。
安装版本:@biogod/dsh-ssh@0.3.24-jay.34。桌面版更新后请保存内容,完全退出并重新打开 DSH。
CI 安装包 SHA-256:eea7ac0b5d0eed3ac0dea65c4fd1cbb5c61bf65b26f11ad2a81de88704d786f7。附件对应同一次发行验收的归档。