Skip to content

Releases: Ruler4396/dsh-launcher

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 13 Aug 18:18

v0.1.6

[0.1.6] - 2026-08-14

变更

  • MSI 改为系统级安装(per-machine):安装/卸载会弹一次 UAC 管理员确认,默认装到 %ProgramFiles%\dsh-launcher(向导仍支持自定义目录,如已有的 E:\ 目录);注册表、快捷方式改为 HKLM / 公共桌面 / 公共开始菜单,卸载自动清理
  • 旧版本自动清理(安全版):壳程序启动时检测机器上是否还有其他版本的 dsh-launcher(per-user 的 0.1.0–0.1.5 等),检测到则提示用户一键提权卸载旧版(提权卸载不会触发 Config.Msi 1926),避免多版本共存;当前运行的版本通过安装时写入的 HKLM\Software\dsh-launcher\CurrentProductCode 识别,永远不会被误卸。识别用固定 UpgradeCode 精确匹配(读取缓存 MSI 的 UpgradeCode,与 {3B29D055-...} 一致才算本产品)——其他恰好同名的软件不会被误清理;弹窗让用户最终确认
  • 孤儿快捷方式自愈(安全版):per-user 旧版被(提权)卸载后,其用户级开始菜单/桌面快捷方式可能残留(MSI 提权卸载跳过 per-user 上下文组件),壳每次启动自动清理目标确为 DshWeb.exe 的快捷方式(读取 .lnk 目标验证),用户自行创建的同名快捷方式(指向其他程序)不受影响
  • 应用图标(小鲸鱼):壳 exe 编译自带图标资源(此前 exe 无图标,快捷方式与"设置 → 应用"都显示系统默认图标);MSI 安装的快捷方式与卸载条目现在都显示小鲸鱼图标(ARPPRODUCTICON + 显式 DisplayIcon 注册表值)

修复

  • 根治装→卸报错 1926/"无法设置文件…Config.Msi…的安全权限,错误: 5"。根因:Windows Installer 在卸载期仍会创建回滚文件(.rbf)到安装盘根目录的 Config.Msi,并以用户身份对其设置安全,而该目录 ACL 由 MSI 服务硬编码为仅 SYSTEM/管理员(任何盘根/目录 ACL 都无法绕过,已实测);非提权用户(含 UAC 过滤的管理员)在自定义 ACL 的磁盘(如本机 E:\)上必然失败。修复:per-machine 提权后,卸载事务以管理员身份匹配 Config.Msi 的 Administrators ACL,不再报错;另保留安装期 DISABLEROLLBACK=1 作额外保险。默认目录(C:)与非提权路径本无此问题
  • 从 0.1.5(per-user)升级:本机实测可自动升级(RemoveExistingProducts);标准机器上 per-user 旧版注册在 HKCU、per-machine 新版找不到时,新版启动后会自动提示"检测到旧版本",一键提权卸载旧版(无需手动清理,也不再有 1926 报错)

升级提醒 / For users of older versions
0.1.6 修复了旧版本(per-user,0.1.5 及更早)在部分磁盘上"安装后立即卸载报错 1926/错误 5"的问题,并会自动清理机器上残留的旧版本,建议尽快更新
旧版本用户如果之前把 dsh-launcher 装到了 E:\ 等自定义目录,卸载旧版时可能看到 1926/"无法设置文件 Config.Msi 的安全权限,错误 5"提示——这是 Windows Installer 对回滚文件的系统级行为,报错后产品仍会被正常删除,不影响结果;更新到 0.1.6 后,新版首次启动会检测到旧版本并提示一键提权卸载(不再有 1926 报错)。如果升级后发现"设置 → 应用"里有两个 dsh-launcher,直接用新版弹出的提示清理即可。

校验和 (SHA256)

1d010123b14be6b6b728af0b74ba0dfabc29054c85a2b2ab8e3546a2b4266d25  dsh-launcher-windows.zip
d4ed2aa4473aed01e92ce4aae58b1e16bedb46559719c4e74bdce3a4157939a7  dsh-launcher-0.1.6.msi

安装与卸载 / Install & Uninstall

MSI 安装包(推荐新手):双击安装,向导里可勾选是否开机自启;自动创建桌面与开始菜单快捷方式(含"卸载 dsh-launcher")。卸载:设置 → 应用 → dsh-launcher → 卸载。

便携版 ZIP:解压即用,双击 DshWeb.exe;删文件夹即卸载(自启/快捷方式用 uninstall-autostart.cmd 清理)。

MSI 与 ZIP 内容完全相同;区别只在安装方式:MSI 有标准安装/卸载流程,适合新手;ZIP 免安装,适合便携党。
The MSI and ZIP contain the same files; the MSI adds a standard install/uninstall flow for new users, the ZIP is portable and install-free.

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 13 Aug 16:15

v0.1.5

[0.1.5] - 2026-08-14

新增

  • 壳支持环境变量 DSH_WEB_URL 覆盖目标地址/端口(免重建);设置后视为外部托管服务、不再自动拉起;单实例锁按目标端口隔离

变更

  • MSI 安装向导重做:去掉老式"功能树"下拉(将安装在本地硬盘上/整个功能…/功能将在需要时安装/整个功能将不可用 + 重置/磁盘使用量按钮),改为简单向导 + 三个勾选框(开机自启 / 桌面快捷方式 / 开始菜单快捷方式),卸载快捷方式始终安装
  • MSI 向导新增自定义安装目录(默认 %LOCALAPPDATA%\dsh-launcher,可输入或浏览选择)
  • 卸载安全:卸载仅删除本应用文件,目录仅"空"时移除;与 DeepSeek Harness 等共用目录时其他内容不受影响(已实测验证)
  • uninstall-autostart.cmd 额外清理旧版 dsh-autostart.vbs 自启项

修复

  • 自动播放被 WebView2 静默拦截(当前 SDK 不触发 Autoplay 权限事件)→ 主窗口与插件弹窗共享同一 WebView2 环境并注入 --autoplay-policy=no-user-gesture-required,声音类插件可用
  • 打包脚本末尾清理对缺失目录容错

测试

  • 隔离沙盒端到端实测(全新 DSH_HOME + 最新 dsh 0.1.0-rc.6 + dsh-notification / dsh-web-ui-notify 双通知插件共存):通知权限、剪贴板、自动播放(静音与非静音)、同源弹窗子窗口、下载落盘与同名避让、单实例、双插件共存全部通过;确认 WebView2 会屏蔽 --remote-debugging-port(外部 CDP 不可用,测试改用自建测试页 + fetch 回报)
  • MSI 向导 UI 自动化验证:三个勾选框取消勾选后安装(自启/桌面/菜单快捷方式均不装,卸载快捷方式保留)、默认全勾选安装、自定义安装目录、与第三方文件共用目录时卸载不误删、卸载零残留均通过

校验和 (SHA256)

fba9b408a0548b1ae7f039160f211e8a57b02b75cd8b4b169c8514c7d8c149ee  dsh-launcher-windows.zip
c849914c5ccc853f8fa24cee24b7cd3b7057ca48b8af555d6016bc830a8a452c  dsh-launcher-0.1.5.msi

安装与卸载 / Install & Uninstall

MSI 安装包(推荐新手):双击安装,向导里可勾选是否开机自启;自动创建桌面与开始菜单快捷方式(含"卸载 dsh-launcher")。卸载:设置 → 应用 → dsh-launcher → 卸载。

便携版 ZIP:解压即用,双击 DshWeb.exe;删文件夹即卸载(自启/快捷方式用 uninstall-autostart.cmd 清理)。

MSI 与 ZIP 内容完全相同;区别只在安装方式:MSI 有标准安装/卸载流程,适合新手;ZIP 免安装,适合便携党。
The MSI and ZIP contain the same files; the MSI adds a standard install/uninstall flow for new users, the ZIP is portable and install-free.

dsh-launcher v0.1.3

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:34

v0.1.3

[0.1.3] - 2026-08-13

新增

  • MSI 安装向导(WixUI,中文界面):安装时可勾选是否开机自启;开始菜单新增"卸载 dsh-launcher"快捷方式
  • Release 说明自动附带"安装与卸载"段落(MSI vs ZIP 区别移至 Releases 页说明)

变更

  • README 精简为新手向短文档,详细内容移至 docs/DETAILS.md
  • 打包脚本健壮性:发布产物完整性校验、自动安装 WiX UI 扩展

校验和 (SHA256)

018583783d357662405c2aac3c4e9effa29b607191282f987b277151fe821e73  dsh-launcher-windows.zip
fa3b6249e36d87400a1c8ea2d25743292341b7394ed8886d6843218cfd652597  dsh-launcher-0.1.3.msi

安装与卸载 / Install & Uninstall

MSI 安装包(推荐新手):双击安装,向导里可勾选是否开机自启;自动创建桌面与开始菜单快捷方式(含"卸载 dsh-launcher")。卸载:设置 → 应用 → dsh-launcher → 卸载。

便携版 ZIP:解压即用,双击 DshWeb.exe;删文件夹即卸载(自启/快捷方式用 uninstall-autostart.cmd 清理)。

MSI 与 ZIP 内容完全相同;区别只在安装方式:MSI 有标准安装/卸载流程,适合新手;ZIP 免安装,适合便携党。
The MSI and ZIP contain the same files; the MSI adds a standard install/uninstall flow for new users, the ZIP is portable and install-free.

dsh-launcher v0.1.2

Choose a tag to compare

@github-actions github-actions released this 13 Aug 14:55

English TL;DR: v0.1.2 fixes the biggest pain point — the launcher now falls back to npx -y @deepseek-ai/dsh web when dsh is not on PATH, so users who never globally installed dsh no longer need to start the service manually before the window appears. Also ships the plugin-friendly permission/popup/download improvements and the new unit test suite.

修复

  • 静默启动不再要求全局安装 dsh(本次重点):start-dsh.vbs / start-dsh.cmd 检测到 dsh 不在 PATH 时自动回退 npx -y @deepseek-ai/dsh web 拉起服务。此前只通过 npx 使用 dsh、未执行 npm install -g @deepseek-ai/dsh 的用户会遇到“必须先手动跑 npx @deepseek-ai/dsh web,壳窗口才会弹出”的问题;现在双击 DshWeb.exe 即可自动拉起服务。%USERPROFILE%\.dsh-web.log 首行会写明实际使用的启动方式
  • blob:/data: 下载文件名不再取随机 UUID 尾段,改为时间戳 + MIME 扩展名
  • 下载文件名清理:正确处理 Windows 保留设备名(CON/NUL/COM1 等,含带扩展名形式)与结尾点/空格
  • 卸载脚本 uninstall-autostart.cmd 改为删除启动文件夹自启项与桌面快捷方式(此前误删不存在的计划任务)
  • dsh-web.cmd 改为从脚本同目录启动 DshWeb.exe,并处理 start-dsh.vbs 缺失的情况
  • 发布包现在包含全部运行时脚本,部署目录自包含

新增

  • WebView2 权限策略:自动放行桌面通知(dsh-notification 等通知插件)、剪贴板、自动播放、多文件下载、持久存储;麦克风/摄像头保持默认拒绝(隐私)
  • 同源 window.open() 弹窗新建轻量壳窗口(保留会话状态,主窗口不再被导航走);外部链接进系统默认浏览器;blob:/data: 保持 WebView2 默认
  • 下载自动保存到系统“下载”文件夹(自动避开同名文件),完成后用默认程序打开;blob: 无扩展名下载按 MIME 类型补扩展名
  • WebView2 初始化抽成共用方法,主窗口与弹窗行为一致
  • 渲染进程崩溃/无响应自动重载(10 秒节流,避免死循环)
  • 壳应用单实例保护:重复启动自动聚焦已开窗口
  • 关闭表单自动填充与密码保存,降低后台开销;保留 F12 开发者工具
  • 新增单元测试(xunit,55 用例)与集成测试脚本 scripts/test.ps1;CI 增加 dotnet test 步骤

文档

  • README 改为完整中英双语,补充 .NET Desktop Runtime 10 运行依赖与安装方式,更新目录结构与构建说明

下载dsh-launcher-windows.zip(0.45 MB)。解压后运行 DshWeb.exe 即可;若提示缺少 .NET Desktop Runtime,先执行 winget install Microsoft.DotNet.DesktopRuntime.10。完整用法见 README

dsh-launcher v0.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 13:42

dsh-launcher v0.1.0

DeepSeek Harness 的 Windows 低占用桌面启动器:开机自启 + 轻量独立窗口。

特性

  • WebView2 轻量壳应用(单文件约 1MB):独立窗口打开 dsh Web UI,内存 50-150MB,远低于完整浏览器
  • 静默开机自启:start-dsh.vbs 无窗口拉起服务,无需管理员权限
  • 一键入口:dsh-web.cmd 检测端口 → 自动拉起服务 → 打开壳窗口
  • 服务未运行时壳应用自动拉起并等待就绪(最长 90s)
  • 日志落盘:%USERPROFILE%.dsh-web.log
  • WebView2 用户数据隔离在 %LOCALAPPDATA%\DshWeb,不污染程序目录

安装

解压 dsh-launcher-windows.zip,运行 dsh-web.cmd 即可(需已全局安装 dsh 并具备 WebView2 Runtime,Windows 10/11 自带)。

技术栈

C# WinForms + Microsoft.Web.WebView2,dotnet publish 单文件发布。

协议

MIT