dsh-launcher v0.1.2
English TL;DR: v0.1.2 fixes the biggest pain point — the launcher now falls back to
npx -y @deepseek-ai/dsh webwhendshis 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。