feat: add generate progress and readable logs

This commit is contained in:
chengma
2026-07-02 14:02:53 +08:00
parent 4c7d4fc624
commit f9c6dd3331
7 changed files with 337 additions and 34 deletions
+14
View File
@@ -992,3 +992,17 @@
- 范围控制:不迁移到⑤设置,不改 prompts 数据结构,不改 AI 生成 HTTP、DB schema、Excel 或 Shopee/CDP 流程。
- 测试:`tests/test_gui.py` 覆盖「模板操作」菜单入口、菜单 action 触发原有行为,以及旧低频按钮不再平铺。
- 验证:`python -m py_compile app\gui.py tests\test_gui.py` 通过;`python -m unittest discover -s tests -p "test_gui.py"` 通过(68 tests);`python -m compileall app main.py` 通过;`python -m unittest discover -s tests` 通过(156 tests)。Qt 仍有本机字体目录提示,不影响测试结果。
## 【2026-07-02】T-519 文档启动 · ②AI生成长任务进度条与用户日志
- 背景:用户反馈批量生成几十/上百个标题或图片超时重试时耗时较长,需要在②AI生成里更清楚地看到剩余量、是否卡住、慢在哪一步。
- 文档:`docs/06-tasks.md` 新增 T-519 并标记 DOING,明确②底部增加标题/图片两条独立进度条,现有「AI生成运行日志」增强为用户可读自动滚动日志;日志展示本轮开始、标题/图片开始与成功、商品ID/店铺、图片超时/重试、失败原因、停止请求和完成汇总,同时禁止显示 API Key、密码、Cookie、token、完整请求体、base64 图片或超长 prompt。
- 范围:只改②生成 UI、`GenerateWorker`/AI 生成事件文案和测试;不改 AI HTTP 协议、DB schema、Excel、Shopee/CDP 流程。
- 验证:文档-only 更新,未运行单元测试。
- 下一步:按 T-519 文档更新 `app/gui.py`、`app/ai.py` 和相关测试。
## 【2026-07-02】T-519 完成 · ②AI生成长任务进度条与用户日志
- 代码:`app/gui.py` 在②AI生成底部增加标题/图片两条独立 `QProgressBar`,分别显示 `标题 x/y`、`图片 x/y` 和失败数;保留原进度文本用于状态汇总;现有「AI生成运行日志」追加后自动滚到底部,加载最近一次日志时按时间顺序显示。
- 日志:`GenerateWorker` 将生成事件转为用户可读短句,显示本轮开始、标题/图片开始与成功、商品ID/店铺、调用失败重试、失败、停止请求和完成汇总;日志继续通过脱敏工具处理并写入 `run_logs/run_log_events`。
- AI事件:`app/ai.py` 的 `_call_with_retry()` 支持 `on_retry` 回调,标题/图片请求失败但仍会重试时上报 `retry` 事件;不改 AI HTTP 协议、DB schema、Excel 或 Shopee/CDP 流程。
- 测试:`tests/test_gui.py` 覆盖双进度条初始状态、用户可读日志、重试日志脱敏和旧日志加载;`tests/test_ai.py` 覆盖标题生成重试事件上报。
- 验证:`python -m py_compile app\ai.py app\gui.py tests\test_ai.py tests\test_gui.py` 通过;`python -m unittest discover -s tests -p "test_ai.py"` 通过(7 tests);`python -m unittest discover -s tests -p "test_gui.py"` 通过(68 tests);`python -m compileall app main.py` 通过;`python -m unittest discover -s tests` 通过(156 tests)。Qt 仍有本机字体目录提示,不影响测试结果。