Commit Graph
100 Commits
Author SHA1 Message Date
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
chengma 9bad70f425 feat: add semantic risk indicators 2026-07-02 09:06:52 +08:00
chengma ba6f3e4af4 feat: apply gui semantic risk colors 2026-07-01 17:56:27 +08:00
chengma ca41ed2874 docs: refine gui color optimization plan 2026-07-01 17:19:35 +08:00
chengma f80f00b5a2 feat: expand full-flow diagnostics 2026-07-01 15:32:27 +08:00
chengma 84b35f1cdc feat: polish Shopee update checks 2026-07-01 14:30:49 +08:00
chengma cc277366ed feat: add soft delete for import batches 2026-07-01 09:41:10 +08:00
chengma 5b044f2349 docs: mark T-404 accepted 2026-07-01 08:49:38 +08:00
chengma 483bec427c fix: stabilize Shopee cover replacement 2026-07-01 08:35:46 +08:00
chengma f7ea9ec0fa feat: add selected task reset actions 2026-06-30 11:50:49 +08:00
chengma 580a7a570d fix: handle Shopee update confirmation and upload edge cases 2026-06-30 11:44:27 +08:00
chengma cd1256bc5e feat: add diagnostic logs for generation flows 2026-06-29 17:49:45 +08:00
chengma 588b352eac docs: add phase 5 acceptance review 2026-06-29 14:49:06 +08:00
chengma c9455c7d6e docs: align T-504 scope in AGENTS 2026-06-29 14:37:09 +08:00
chengma 94fdae859d ui: 调整设置页AI模型布局 2026-06-29 11:45:10 +08:00
chengma 3a79e34eab docs: 记录AI模型category启动报错排查
- 新增 troubleshooting 文档,说明 category 缺失导致启动失败的原因

- 补充安全修复步骤,避免泄露或提交 config/ai_models.json 中的 API Key

- 更新文档导航、技术栈、当前状态和进度记录
2026-06-29 10:37:27 +08:00
chengma 0e0ed193b6 feat: 完成T-504更新执行增强
- 新增 dry-run、多账号并行和最大并行账号数设置

- 增加 run_logs/run_log_events 运行日志表及读写接口

- ApplyWorker 支持 dry-run 预览、按账号并行、端口冲突阻断和日志展示

- 补充 DB/GUI 单元测试并同步任务、架构、API、路由和当前状态文档

验证: python -m compileall app main.py tests; python -m unittest discover -s tests
2026-06-29 10:25:09 +08:00
chengma 01e319cad8 feat: 完成T-503敏感信息提示与脱敏
- 保存或变更账号密码、AI API Key 前弹出本地明文保存提示

- 新增敏感值打码、结构化日志脱敏和自由文本替换工具

- 补充 GUI/appconfig 单测,覆盖明文提示和脱敏边界

- 同步任务看板、当前状态、架构、API、路由和编码规则文档
2026-06-29 10:05:16 +08:00
chengma 82d390c25a feat: 完成T-502满9张封面替换
实现 replace_cover 满9张时先校验 old_cover_path 本地备份,备份缺失返回 OLD_COVER_BACKUP_MISSING 且不删除线上图片。

备份存在时点击第一张删除按钮并处理可见确认框,删除后继续上传新封面并拖到第一位;apply_task 会把任务 old_cover_path 传入 replace_cover。

补充 editor 单测覆盖备份缺失阻断、删除确认后上传拖首位、删除按钮缺失和 old_cover_path 传递;同步需求、架构、编码规则、任务看板、API、routes、current-state 与 progress。

已在测试商品 29671243750 上验证 9图删除和满9张替换的不提交流程;未点击更新保存线上。
2026-06-29 09:49:53 +08:00
chengma b05a856796 feat: 完成T-501c Shopee更新安全开关
新增 shopee_update 配置段,默认关闭真实提交和封面更新,限制测试商品ID、单次最大更新条数,并支持成功后关闭本轮自动新开编辑页。

Tab⑤ 设置页新增 Shopee 更新安全表单;Tab③ 开始更新前先读取安全配置并阻断未授权真实提交、超量、非测试商品和未允许的封面更新。

ApplyWorker 将 close_success_tab 传入 editor.apply_task;editor 仅在提交成功且页面为本轮自动新开时关闭 tab,失败和复用页面保留。

同步架构、API、路由、任务看板、当前状态与 progress 文档;补充 GUI 与 editor 单测覆盖安全设置保存、共享配置读取、安全拦截和 tab 关闭策略。
2026-06-29 09:18:03 +08:00
chengma 91683abe7d feat: 完成T-501b设置页角色与生成参数
- 在SettingsTab增加标题/图片默认模型角色下拉并按text/image过滤

- 增加并发、重试、分辨率、返回超时展示和jpg质量设置

- 增加Chrome路径、账号数据根目录、图片目录、DB路径和端口配置

- 保存到config.json并校验端口范围,避免写入测试注入路径

- 补充GUI测试并同步任务、api、routes、current-state和progress
2026-06-29 08:58:39 +08:00
chengma bf961e62d6 feat: 完成T-501设置页AI模型管理
- 新增SettingsTab,接入AI模型下拉、新增、删除、详情编辑和保存

- 新增AIModelTestWorker,后台调用appconfig.test_ai_model测试连接

- 密钥输入使用密码框打码,删除保护保持text/image模型类别约束

- 补充GUI测试覆盖模型加载、保存删除和测试连接worker

- 同步任务看板、current-state、routes、api和progress
2026-06-29 08:45:04 +08:00
chengma d0cd408126 docs: 延后Phase4真实冒烟到设置安全开关后
- 新增T-404真实单条更新冒烟任务,并依赖T-501c安全开关

- 新增T-501c Shopee更新安全开关任务,默认关闭真实提交和封面更新

- 补充Phase4验收复核、取消语义、真机冒烟范围和tab策略

- 纳入Phase3/Phase4验收报告并同步current-state与progress
2026-06-27 17:58:08 +08:00