- feature-roadmap.md: 现有能力盘点 + P1/P2/P3方向 + 竞品参考 - AI深度视差: 远程推理方案(服务端Depth-Anything + 客户端WebGL) - 自动升级模块文档: 设计规格/任务规划/决策记录 - 9份需求契约: 视频/颜色提取/时间段/番茄钟/播放列表/电池/网页/便签/监控
1.6 KiB
1.6 KiB
自动升级 — 任务规划
创建时间:2026-05-28
阶段一:版本基础设施
main.go增加版本变量,-ldflags编译注入config.go增加update_url、auto_check_update、skip_version字段updater.go实现版本检查函数checkUpdate()
阶段二:升级弹窗
web/update.html升级弹窗页面(右下角气泡 + 居中弹窗两种模式)- Go 端创建无边框 WebView2 弹窗窗口
- 弹窗内容渲染:版本号、更新说明、按钮
- 根据
force字段切换弹窗位置和按钮
阶段三:升级器程序
updater/main.go独立程序骨架- HTTP 下载安装包 + 进度日志
- SHA256 校验
- 备份旧版本
- 替换 + 启动新版本
- 启动失败自动回滚
- 日志写入
updater.log
阶段四:主程序集成
- 主程序释放 updater.exe 到临时目录
- 构造命令行参数启动 updater
- 主程序退出
- 托盘菜单增加"检查更新"
阶段五:发布流程
- 构建脚本同时构建 u-desktop.exe + updater.exe
- publish 技能自动生成 version.json(版本号 + SHA256 + 下载 URL)
- 上传 version.json 和安装包到 c.1216.top
阶段六:验证
- 手动模拟版本更新,测试弹窗流程
- 测试 updater 下载 + 替换 + 重启
- 测试回滚机制
- 测试强制升级流程
技术要点
- 版本号通过
-ldflags "-X main.version=x.x.x"注入 - updater.exe 通用设计,参数化驱动,不含业务逻辑
- 弹窗用 WebView2 无边框窗口,风格与设置窗口一致
- version.json 放 c.1216.top,静态文件