Repository navigation
Releases: kouzerror/dsh-retry
Releases · kouzerror/dsh-retry
Release list
dsh-retry v0.3.1
dsh-retry v0.3.1
Bug fix on top of v0.3.0: read the live app.asar statistics through Electron's original-fs (node:fs reports *.asar as a directory, size 0), so the install helper's freshness check sees the real archive size and version replaces the archive correctly.
Also surfaces staged.meta.size / mtimeMs in GET /dsh-retry/status.
Full Changelog: v0.3.0...v0.3.1
dsh-retry v0.3.0
dsh-retry v0.3.0
Rebuilt host implementation with the review findings from the audit.
Changed
- Modular host:
lib/asar.js,lib/patch.js,lib/desktop.js,lib/helper.js,lib/log.js,lib/index.js; no client bundle ships anymore. - Atomic archive swap: the helper copies the patched archive to the same volume, verifies its size, then renames it over
app.asarwithMove-Item -Force; failures restore the backup and relaunch the original app. - Freshness checks: the helper refuses to install a patch staged for an older asar (size / mtime mismatch), so a DSH self-update is never downgraded.
- Process tree shutdown: restart uses
taskkill /PID <pid> /T /Fbefore relaunch, so the host and its children exit with the app. - Diagnosable status:
/dsh-retry/statusnow reportswriteAccess,installedArmed,staged.meta, plugin and desktop versions alongside patch state. - Safer routes:
POST-only for side effects, same-origin check, 403 when the resources directory is not writable, 409 for concurrent restarts. - Structured logging: callable logger with ISO timestamps; rotating no longer leaves the plugin throwing at startup.
- Tests + CI: 19
node:testcases (asar round-trip, patch idempotency, desktop/helper/args, status payload) and a GitHub Actions workflow on Node 22/24.
Install
- DSH 插件市场条目正在提交中。
- 本地:
pnpm add file:C:\path\to\dsh-retry或在 DSH 设置 → 插件中安装本仓库目录,然后正常退出一次 DSH,下次启动即可看到系统托盘与账户菜单中的「重启 DeepSeek Harness」。 - 已安装旧版请先
remove_bundle dsh-retry再安装,保证拿到新版 host。 - 恢复原始应用:退出 DSH 后把
resources\app.asar.dsh-retry.bak改名回app.asar。
Full Changelog: v0.2.0...v0.3.0
dsh-retry v0.2.0
What changed in 0.2.0
- Removed the sidebar footer bootstrap button; the plugin now exposes exactly two entries: the Windows tray menu item and the account popup menu item.
- No bootstrap click needed anymore: on every unpatched start the plugin prepares the patched
app.asarand arms a detached helper, which installs it when DSH exits normally. The next start shows both entries. - Account menu entry is now fully localized (EN/ZH) inside the patched bundle.
- Compatible with DeepSeek Harness 0.2.1-rc.3 (Windows desktop).
Upgrade from 0.1.0
Install this version, then quit DeepSeek Harness normally once (tray -> Quit) and start it again; the patch is refreshed on exit. The sidebar button disappears immediately after the plugin update.
dsh-retry v0.1.0
dsh-retry v0.1.0
在 DSH 桌面端加入「重启 DeepSeek Harness」入口:
- 系统托盘右键菜单(加载器补丁,位置与原生菜单一致)
- 账户弹出菜单(加载器补丁,原生 Menu 项样式)
- 侧栏底部按钮(插件自身,无需补丁即可用)
工作方式
- 未打补丁时,点击重启会先构建补丁版
app.asar,由 WMI 脱离进程在应用退出后替换并重新拉起。 - 已打补丁后,入口通过
resources/dsh-retry.restart触发文件让主进程优雅重启。 - 原
app.asar自动备份为app.asar.dsh-retry.bak。
注意
- 该方案会修改 DSH 安装目录的
app.asar。DSH 升级会覆盖补丁,升级后首次点击重启按钮可重新打补丁(需再重启一次)。 - 仅在 Windows 桌面端(
DeepSeek Harness.exe)生效。