Commit Graph
8 Commits
Author SHA1 Message Date
shy3130 8a8cd746dc feat: — 数据目录/实时监控/定时复盘/老CPU兼容
1. 桌面客户端体验优化,Polars 兼容内核 (老 CPU 兼容)
2. 自选页实时监控优化
3. 个股监控逻辑优化
4. 新增定时复盘
6. 其他: 修复 settings.py 中 HTTPException 未 import 的既有 bug
2026-06-28 18:08:52 +08:00
shy3130 02be6dede8 fix(ci): PyInstaller 产物输出到 backend/dist, 与 tickflow.iss Source 路径一致
修复 Inno Setup 找不到打包产物的错误:
  No files found matching ..\backend\dist\TickFlowStockPanel\*
原因: workflow 用 --distpath ../dist 输出到项目根 dist/, 但 .iss 引用的是 backend/dist/
修复: PyInstaller 用默认输出 (backend/dist), DMG/Linux 步骤路径同步调整
2026-06-25 00:35:13 +08:00
shy3130 c27c6ebda9 fix(ci): macOS 图标生成显式安装 Pillow
CI 上 uv sync --no-dev --extra desktop 不装 Pillow (它属于 backtest 的
matplotlib 依赖链, 非 desktop 运行时依赖), 导致 generate_icon.py 报
'No module named PIL'。本地能跑是因 venv 残留历史依赖, 属偶然不可靠。

显式 uv pip install pillow 再生成图标。
2026-06-24 15:14:54 +08:00
shy3130 212ddce7e2 fix(ci): 修复 macOS 构建两个失败点 (venv 发现 + 缺图标)
macOS 构建在 macos-26 runner 上失败, 两个独立问题, 均已本地验证通过:

1. uv pip install --project backend 报 'No virtual environment found'
   macos-26 runner 上 --project 的 venv 自动发现不可靠。改为
   working-directory: backend, 与 uv sync 步骤一致。

2. spec 打包时找不到 packaging/icon.icns
   icon.ico 已入库 (Windows 用), 但 icon.icns 未入库 (macOS 专用产物)。
   release.yml 此前无生成图标步骤, macOS 构建必然缺图标而崩。
   新增 '生成 macOS 图标' 步骤 (仅 macos), 用 backend venv 里的 Pillow
   (传递依赖) 跑 generate_icon.py 现场生成。

3. 打包步骤改为 backend cwd 执行, 用 --distpath/--workpath 显式指定
   产物输出到项目根 dist/, 与后续 DMG 步骤路径保持一致。

本地完整验证 (生成图标 + pyinstaller) 成功产出 dist/TickFlowStockPanel.app。
2026-06-24 15:10:10 +08:00
shy3130 5041c6f66d ci(release): macOS 仅构建 ARM64 包, 移除已不可行的 Intel 构建
原因 (经核实, 技术上无法产出可用 Intel 包):
  1. GitHub 最后一个原生 Intel runner (macos-13) 已于 2025-12-04 退役;
  2. 项目依赖 polars, 而 polars 自 1.33 起移除了 macOS x86_64 原生 wheel
     (改 py3-none-any), 在 arm64 runner 上经 Rosetta 无法装出 x64 原生库,
     产出的 Intel 包会在 polars 调用处崩溃。

改动:
  - 平台矩阵移除 macos x64 项, runner 从 macos-14 升到 macos-26 (2026-02 GA, 免费)
  - Release 下载表格删除 'macOS (Intel 芯片)' 行, 仅保留 Apple Silicon
  - 注释说明放弃 Intel 的原因, 面向用户文案标注仅支持 Apple Silicon
2026-06-24 14:41:35 +08:00
shy3130 5fd92b8377 feat: Release 说明加下载按钮 (markdown 链接直连附件)
- release.yml body 模板: 下载表格每行加「⬇️ 立即下载」按钮
  · 用 $github.repository + 版本号变量拼稳定下载 URL
  · CI 自动填充, 无需手动改链接
- v0.1.35 Release 已同步更新 (本地 gh release edit)
- 新增 generate_icon_designs.py (图标设计方案生成, 选定方案后产出最终 ico)
2026-06-23 22:33:05 +08:00
shy3130 5721f1fe93 feat: Windows 打包改为 Inno Setup 安装包 (Setup.exe)
- 新增 packaging/tickflow.iss: Inno Setup 脚本
  · 用户目录安装 (不弹 UAC), 桌面+开始菜单快捷方式
  · 卸载时询问是否删除用户数据
  · 内置简中语言包 (ChineseSimplified.isl, 官方仓库获取)
- 新增 packaging/generate_icon.py + icon.ico: 应用图标
  · 与 favicon.svg/Logo.tsx 一致 (紫色方括号 + K线)
  · 用 Pillow 绘制, 多尺寸 (16/32/48/64/128/256)
- spec 加 icon: exe 图标 = 安装包图标 = 快捷方式图标
- release.yml: Windows 步骤改为 choco install innosetup + ISCC 编译
- 本地验证通过: 安装→快捷方式→启动→health 0.1.35 全 OK
2026-06-23 22:26:31 +08:00
shy3130 41be5096dc feat: 桌面客户端打包 (pywebview + PyInstaller) + 系统通知
- 桌面入口: desktop.py (单实例锁 + 端口探测 + uvicorn + pywebview 窗口)
- 配置层: config.py 加 sys.frozen 检测, frozen 下 data_dir 指向用户目录
- 系统通知: notify_adapter.py 三平台 (Win winotify / mac osascript / Linux notify-send)
  接入 quote_service 告警出口, preferences 开关控制, 前端监控设置加 toggle
- 前端: 监控设置加系统通知开关, 系统设置加检查更新入口
- 打包: packaging/tickflow.spec (onedir, collect-all 原生库, 排除 vectorbt)
- CI: .github/workflows/release.yml 手动触发 + 平台可选 (windows/macos/linux)
- 依赖: platformdirs/winotify/plyer 入主依赖, pywebview 入 desktop extras
- README 加桌面客户端下载章节
- bump 版本号到 0.1.33
2026-06-23 21:47:29 +08:00