Commit Graph
100 Commits
Author SHA1 Message Date
chengma ae4daacbbf T-568 支持封面画廊单任务重生 2026-07-09 11:49:06 +08:00
chengma a391d2db99 T-567 增加封面候选画廊 2026-07-09 11:32:08 +08:00
chengma 71e51d0608 T-566 封面历史归档数据层 2026-07-09 11:23:18 +08:00
chengmaandClaude Opus 4.8 fa27134f7c docs(tasks): add T-566~T-569 cover gallery tasks (archive, gallery, regen, nav)
封面历史对比挑选功能拆四任务:T-566 数据层(重置归档改名、
update_generated_cover 状态语义、候选枚举排序、维持批次软删);
T-567 画廊查看+单选保存+原图弹窗;T-568 单任务重生+并发守卫
(含 fresh task 防跳过);T-569 上下条切换+未保存三态拦截。
含 Codex 评审修正与 title/cover committed 处理不对称的设计说明。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 11:13:21 +08:00
chengma a57254da9e T-565 handle relative cmhub image urls 2026-07-09 08:57:46 +08:00
chengma c435456977 T-564 async cmhub image tasks 2026-07-09 00:07:09 +08:00
chengmaandClaude Opus 4.8 487408ba0f docs(tasks): refine T-564 with two-commit hint and three-state resume check
补实现提示:分两步 commit(先 DB 层加列+同步 Task dataclass+helper 跑绿,
再 ai.py submit/poll 对接),并写清续查三态判断(image_task_id/image_task_key
的存在组合区分已 submit / submit 前崩溃 / 全新 submit)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 23:38:51 +08:00
chengmaandClaude Opus 4.8 5f5bf73949 docs(tasks): add T-564 async cmhub image task integration (submit + poll)
对接 cmhub 已实现的异步生图接口(POST /generate/image/tasks + 轮询),
替代当前 900s 同步长等待:submit 拿 task_id、轮询到 succeeded 再下载、
task_id 持久化支撑重启续查、per-attempt 幂等键防重复扣点。含三处结构
改动、五类小改、单测点与 v3.6 文档修订项。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 23:18:35 +08:00
chengma 45600c137b fix: tolerate transient collect login checks 2026-07-08 18:24:07 +08:00
chengma 2ff7ef3678 docs: add T-563 collect login tolerance 2026-07-08 18:18:17 +08:00
chengma 521d363ab2 fix: avoid focusing chrome during collection 2026-07-08 18:03:59 +08:00
chengma 8a8d656a58 docs: add T-562 quiet collection 2026-07-08 17:58:33 +08:00
chengma e25d695ce7 fix: hide cmhub curl download window 2026-07-08 17:49:54 +08:00
chengma 6171b7cd92 docs: add T-561 curl window fix 2026-07-08 17:47:50 +08:00
chengma 95170ec4aa feat: auto-prepare chrome for collection 2026-07-08 17:25:17 +08:00
chengmaandClaude Opus 4.8 574074ebfb docs(tasks): add T-560 auto-ensure account Chrome + login precheck in tab 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 17:06:55 +08:00
chengmaandClaude Opus 4.8 46adc32e2d docs: add update-check contract (T-559 done)
Tests / Python 3.11 / Windows (push) Has been cancelled
新增 docs/update-check.md:版本检查接口的服务端响应契约、客户端字段读取、
强制规则与发版约定(方案A force_update / 方案B min_supported_version);
README 加索引;T-559 标 DONE。客户端无需改代码(T-544 已实现)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 14:46:03 +08:00
chengmaandClaude Opus 4.8 94e28203d0 docs(tasks): add T-559 update-check contract + force_update (方案A)
T-553 已被占用(cmhub 超时调优),按防撞号约定改用 T-559。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 14:42:44 +08:00
chengma 5469479f3e build: use branded release package names 2026-07-08 14:21:31 +08:00
chengma ebb1f8a354 docs: add T-558 release naming 2026-07-08 14:15:50 +08:00
chengma 40322f747e feat: add chrome path picker 2026-07-08 14:07:42 +08:00
chengma 967047f876 docs: add T-557 chrome path picker 2026-07-08 14:04:45 +08:00
chengma 40cf79b930 feat: polish generate run logs 2026-07-08 12:07:38 +08:00
chengma 089a2f5545 docs: add T-556 generate log polish 2026-07-08 12:01:05 +08:00
chengma 8140124954 feat: show generate elapsed timings 2026-07-08 11:54:08 +08:00
chengma 091e3dc553 docs: add T-555 generate timing layout 2026-07-08 11:46:12 +08:00
chengma 4146ab5593 feat: split generate title and image statuses 2026-07-08 11:37:34 +08:00
chengma 773f528668 docs: add T-554 generate status columns 2026-07-08 11:31:04 +08:00
chengma 46afae4b98 feat: tune cmhub image timeouts 2026-07-08 11:22:47 +08:00
chengma 2970aaa943 docs: add T-553 cmhub timeout tuning 2026-07-08 11:19:09 +08:00
chengma 75d545f182 feat: include failed step in task errors 2026-07-08 11:08:01 +08:00
chengmaandClaude Opus 4.8 ffbad8e64d docs(tasks): add T-552 include failed step in task last_error (P0)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 11:00:29 +08:00
chengma 8a7ce0acba feat: generate task board from task frontmatter 2026-07-08 10:47:36 +08:00
chengmaandClaude Opus 4.8 d1d4f458cb docs: fix stale workflow refs in entry doc and 06-tasks 使用规则
00-ai-start-here.md 领取任务规则、06-tasks.md 使用规则改为指向 docs/tasks/
新流程(执行记录进任务文件、不再逐任务追加 progress/覆盖 current-state)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 10:40:16 +08:00
chengmaandClaude Opus 4.8 af814fe95c docs(tasks): add T-551 generate task board from docs/tasks frontmatter
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 10:35:48 +08:00
chengma 530ef2009f feat: default workflow batch filters to latest batch 2026-07-08 10:30:30 +08:00
chengmaandClaude Opus 4.8 c64f947f2f docs(tasks): add T-550 default batch dropdown to latest batch
首个走 docs/tasks/ 新结构的任务。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 10:22:29 +08:00
chengmaandClaude Opus 4.8 4acac32b40 docs: move per-task progress into task files, stop per-task current-state overwrite
Tests / Python 3.11 / Windows (push) Has been cancelled
- AGENTS.md: 收尾只更新对应任务文件(状态 + ## 执行记录),不再逐任务追加
  progress.md / 覆盖 current-state.md(每任务共享写入=多 agent 抢占点)
- docs/tasks/_template.md: 加 ## 执行记录 一节
- docs/tasks/README.md: 完成流程改为执行记录写进任务文件
- progress.md: 冻结为历史归档;新执行记录进任务文件
- docs/current-state.md: 不再逐任务覆盖,状态以 docs/tasks/ frontmatter 为准

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 10:19:55 +08:00
chengmaandClaude Opus 4.8 3a552b1880 docs: adopt one-task-per-file under docs/tasks to avoid multi-agent contention
- docs/tasks/README.md: 约定(命名 T-###、frontmatter、领取规则、防撞号)
- docs/tasks/_template.md: 新任务模板
- 06-tasks.md 冻结为 T-000~T-549 历史归档,新任务不再加入
- AGENTS.md / docs/README.md: 指向新任务入口 docs/tasks/

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 10:15:00 +08:00
chengma b622247a16 feat: support old title placeholder in title prompts 2026-07-08 10:07:47 +08:00
chengmaandClaude Opus 4.8 b769bb58e6 docs: add T-549 support {旧标题} placeholder in title prompt
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 09:49:54 +08:00
chengma cff61edce4 feat: use system curl for cmhub image downloads 2026-07-08 09:26:25 +08:00
chengmaandClaude Opus 4.8 4a499a17d1 docs: add T-548 download cmhub images via system curl (Win10+)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 09:09:53 +08:00
chengma 56e96d3ae1 feat: tighten ai concurrency settings 2026-07-08 08:55:01 +08:00
chengmaandClaude Opus 4.8 c2ae126aaf docs: add T-547 cap concurrency (<=5) and retries (<=10) in tab 5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 08:44:34 +08:00
chengmaandClaude Opus 4.8 cd0ae5cb47 chore: add .gitattributes to enforce LF line endings
统一文本文件行尾为 LF,避免 Windows 编辑器把行尾翻成 CRLF 造成满屏噪声 diff。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 08:35:52 +08:00
chengmaandClaude Opus 4.8 30497bdda7 docs: sync cmhub download diagnostics and progress
04-architecture/api 记录下载层最多 3 次安全重试(复用同一 image_url、
不重发生图)、下载超 20 秒告警、CMSHOPEE_DEBUG_CMHUB_IMAGE_URL 调试开关;
current-state/progress 同步。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 00:41:44 +08:00
chengmaandClaude Opus 4.8 979112966e feat: log cmhub download diagnostics in GenerateWorker
GUI 半边配合 ai.py 的 cmhub 下载诊断:格式化「图片下载较慢」warning、
`cover_image_url` 调试行(脱敏 token、debug_only 不写入 SQLite run_log);
`_log_run_event` 增加 persist 开关。tests/test_gui.py 覆盖脱敏与不持久化。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 00:41:44 +08:00
chengmaandClaude Opus 4.8 5a09c6662e feat: cmhub shared Session + connection pool + proxy handling (T-546)
- app/ai.py: 模块级共享 requests.Session + HTTPAdapter 连接池
  (CMHUB_HTTP_POOL_SIZE=32);_apply_cmhub_proxy() 切换 trust_env;
  生成/下载/models/balance 统一复用该 Session。
- app/appconfig.py: ai.cmhub.use_system_proxy 默认 false(绕过系统代理)。
- tests/test_ai.py: 补 Session 复用/代理/连接池测试;原 18 处 cmhub mock
  从模块级 requests 改到共享 Session。
- docs: troubleshooting 加「图片下载很慢」排障节;06-tasks 标 T-546 DONE。

附带:把 app/ai.py 行尾从 CRLF 归一为 LF;并一并纳入工作区中此前未提交、
已在运行构建里的 cmhub 下载诊断代码(调试图片 URL 日志、下载重试事件),
无法与 T-546 在同一文件内拆分单独提交。243 单测全绿。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 00:15:43 +08:00
chengmaandClaude Opus 4.8 b257fb5c83 docs: add T-546 cmhub shared Session + connection pool + proxy handling
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 22:18:01 +08:00
chengma 3d902d4907 feat: cap cmhub image concurrency 2026-07-07 21:00:43 +08:00
chengma 2928624019 fix: align cmhub image timeout display 2026-07-07 19:13:00 +08:00
chengma 95b180e9cf feat: add startup forced update check 2026-07-07 17:58:28 +08:00
chengma 610a2304cc docs: define forced update check 2026-07-07 17:23:02 +08:00
chengma 9ce4d2442e feat: add semantic status bar colors 2026-07-07 15:42:19 +08:00
chengma 8bd6a1df91 docs: define status bar semantic colors 2026-07-07 15:30:04 +08:00
chengma bb2aa70c54 chore: hide data path settings 2026-07-07 15:24:08 +08:00
chengma 6e2347e1c8 chore: add ruff checks 2026-07-07 15:11:40 +08:00
chengma 862f791fde feat: localize Shopee GUI wording 2026-07-07 14:58:54 +08:00
chengma 7838554c3d feat: add versioned release packaging 2026-07-07 14:21:30 +08:00
chengma 148c4a73eb feat: store packaged user data under data directory 2026-07-07 14:12:32 +08:00
chengma caa04a9aa7 fix: fit main window within screen on startup 2026-07-07 12:06:17 +08:00
chengmaandClaude Opus 4.8 05a85c6d6a docs: add T-539 hide data-path settings in tab 5 (simplification)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 10:12:45 +08:00
chengma fd42814ac0 chore: rebrand display name for T-537 2026-07-07 09:52:51 +08:00
chengmaandClaude Opus 4.8 454c74336b docs: add T-538 consolidate packaged user data into data/ subfolder
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 09:40:50 +08:00
chengmaandClaude Opus 4.8 f338a61a66 docs: add T-537 rebrand to 蝦皮圈優化助手 (display name only)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 09:38:00 +08:00
chengma ad75afb8f4 style: unify GUI button radius 2026-07-07 09:21:19 +08:00
chengmaandClaude Opus 4.8 6ed3933856 docs: add T-536 unify GUI button corner radius globally
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 09:07:42 +08:00
chengma 0c2a04b176 fix: set cmhub title read timeout to 600s 2026-07-06 22:51:28 +08:00
chengma 71f8beae57 feat: complete T-534 generated reset enhancements 2026-07-06 20:35:47 +08:00
chengma 46995b301d feat: complete T-533 incremental generation 2026-07-06 17:57:39 +08:00
chengmaandClaude Opus 4.8 be182b91cf docs: add T-533 incremental generation and T-534 component reset
- T-533: ② 增量生成——按缺失组件补生成,跳过已有标题/封面、不重扣点、保护手动标题
- T-534: ② 重置增强——多选/筛选范围 + 按组件(标题/封面/全部)重置

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 17:40:05 +08:00
chengma c42c12ef3e feat: complete T-532 cmhub account prompt 2026-07-06 15:56:28 +08:00
chengma a4e951961e docs: record T-532 cmhub prompt guidance 2026-07-06 15:12:38 +08:00
chengma 0dad4151ef feat: complete T-105b account login reuse 2026-07-06 15:01:50 +08:00
chengma 7ac0dcd00e fix: clarify AI generation failure retry states 2026-07-06 11:58:51 +08:00
chengma 19eaa794cf feat: track settings changes and enforce Chinese UI copy 2026-07-06 11:32:02 +08:00
chengma 26e59c8cea docs: define T-531 settings dirty-state flow 2026-07-06 10:56:42 +08:00
chengma b99019e954 feat: complete T-530 cmhub URL normalization 2026-07-06 10:31:36 +08:00
chengmaandClaude Opus 4.8 42dd8a993f docs: diagnose cmhub 刷新别名 notfound and add T-530
- troubleshooting.md: 新增「⑤ cmhub 刷新别名/测试连接 notfound(404)」排障节,确认请求达标,给 curl 隔离法(models vs balance)
- cmhub-integration-design.md: §4.1 补 Base URL 必须为网关根约束 + v3.4 核对记录
- 06-tasks.md: 新增 T-530(Base URL 规整 + 404 明确提示)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 09:58:49 +08:00
chengma 60497be557 T-529 default to cmhub gateway 2026-07-04 17:59:23 +08:00
chengma 3dbcbab799 feat: complete T-528 cmhub billing feedback 2026-07-04 17:14:29 +08:00
chengma 27f23a4738 feat: add cmhub settings panel 2026-07-04 16:29:15 +08:00
chengma 1efb095767 feat: add cmhub AI backend 2026-07-04 15:13:15 +08:00
chengmaandClaude Opus 4.8 c8a5e9ada8 docs: add cmhub AI gateway integration design and sync docs
- 新增 docs/cmhub-integration-design.md(v3.2):对接 cmhub 生文/生图/余额/别名发现接口的设计、迁移策略、错误与重试、待确认项
- docs/06-tasks.md:新增 Phase 7(T-526~T-528)AI 网关对接任务,补充别名动态下拉与 fetch_cmhub_models helper;相关文档索引与工程/打包任务同步
- 同步 README/03-tech-stack/current-state/packaging/troubleshooting/ux-review 文档

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 10:56:08 +08:00
chengma 6d4f60fcdb build: add pyinstaller packaging
Tests / Python 3.11 / Windows (push) Has been cancelled
2026-07-03 09:26:27 +08:00
chengma dd2a8e3360 fix: detect shopee accounts login page 2026-07-02 22:38:08 +08:00
chengma b9f614b8e7 fix: capture invalid product toast and close failed tabs 2026-07-02 21:46:32 +08:00
chengma f3e0956cf6 fix: reset visible run logs for new runs 2026-07-02 17:32:51 +08:00
chengma 6e2dcf9954 refactor: split gui into package 2026-07-02 16:47:37 +08:00
chengma c404d1dd11 ci: add automated test workflow 2026-07-02 16:28:04 +08:00
chengma e52da68835 chore: add locked requirements 2026-07-02 16:09:59 +08:00
chengma 599f2a171c docs: add engineering review tasks 2026-07-02 15:48:22 +08:00
chengma 21cd02c167 feat: add optional cover generation toggle 2026-07-02 15:17:11 +08:00
chengma f9c6dd3331 feat: add generate progress and readable logs 2026-07-02 14:02:53 +08:00
chengma 4c7d4fc624 feat: compact cover template actions 2026-07-02 11:26:03 +08:00
chengma 86b931b26d feat: refine settings sections 2026-07-02 10:59:21 +08:00
chengma 820612c3ab feat: align collect filters with workflow tabs 2026-07-02 10:39:29 +08:00
chengma b622925d74 feat: add batch progress overview 2026-07-02 10:21:39 +08:00
chengma d8c3c5d548 feat: add first-run empty state guidance 2026-07-02 09:57:06 +08:00