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
|
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 |
|
chengma
|
3bc1776d07
|
feat: 完成T-403结果回写与汇总
新增excel.write_back_results,按原Excel文件、工作表和行号回写新标题、新封面图片路径与更新状态。
③更新完成后自动用WriteBackWorker(mode=results)回写结果,并弹窗汇总成功、失败、略过数量;文件被占用时提示关闭Excel后手动重试。
补充Excel结果回写、GUI自动回写/汇总/锁文件提示和模块契约测试,同步任务看板、API、流程和当前状态文档。
|
2026-06-27 17:28:33 +08:00 |
|
chengma
|
04ff06a2e3
|
feat: 完成T-402确认后串行更新
③更新shopee在开始更新确认后创建ApplyWorker,按当前筛选结果串行调用editor.apply_task并逐条set_applied落库。
新增更新前账号就绪预检:无账号、Chrome未启动或未登录时整体阻断并引导到④账号管理,未确认或预检失败均不调用apply。
补充GUI开始/停止/进度刷新以及成功、失败、未匹配账号继续处理的单元测试,同步任务看板、API、流程和当前状态文档。
|
2026-06-27 17:13:18 +08:00 |
|
chengma
|
5a63af4620
|
feat: 完成T-401更新确认页
- 新增 ApplyTab 和 ApplyTaskTableModel,③ Tab 展示已生成更新候选任务
- 支持按批次、店铺、状态筛选,默认列出待更新任务并展示失败/已更新状态
- 开始更新弹窗确认当前筛选条件、任务数和线上提交风险,取消不执行不改库
- 补充 GUI 测试覆盖筛选、确认弹窗和不调用 apply_task 的 T-401 边界
- 同步任务看板、API、路由、当前状态与 progress 文档
|
2026-06-27 16:59:46 +08:00 |
|
chengma
|
e6d7de3d7c
|
fix: 采集后关闭自动新建商品页
- 新增 close_tab 和 create_tab_info,区分断开 CDP 连接与关闭浏览器 target
- open_product 标记商品页是否本轮自动新建,collect 结束后只关闭自动新建 tab
- 保留用户原本打开的商品 tab,③ 更新流程暂不自动关闭页面
- 补充 editor tab 生命周期测试并同步架构、API、任务和进度文档
|
2026-06-27 16:39:12 +08:00 |
|
chengma
|
789e82991f
|
feat: 完成T-303 AI批量生成
- 新增 generate_batch,先并发生成标题再并发生成封面,成功逐条 set_generated 落库
- Tab② 接入开始生成、停止、进度展示和双击新旧封面预览
- 新增 GenerateWorker,通过 worker signal 回传进度与行刷新
- 补充批量生成成功、失败、停止取消和 GUI worker 单元测试
- 同步任务看板、API、路由、当前状态与 progress 文档
|
2026-06-27 16:26:08 +08:00 |
|
chengma
|
fe1e0a7d32
|
feat: 完成T-302p提示词管理
新增app/prompts.py,支持标题提示词读写、封面模板列表/读取/保存/重命名/删除,以及旧标题、新标题、商品id、店铺变量替换。
Tab②接入标题提示词启动回显和保存,封面模板下拉、新建、保存、另存为、重命名、删除、插入{新标题}与变量预览;本任务仍不调用AI、不写SQLite。
新增tests/test_prompts.py并扩展GUI测试覆盖提示词文件管理和预览;同步任务看板、API、routes、current-state和progress,下一个任务更新为T-303。
|
2026-06-27 16:10:50 +08:00 |
|
chengma
|
6e690cc02a
|
feat: 完成T-302 AI生成页布局
新增GenerateTab和GenerateTaskTableModel,将② AI生成从占位页替换为左右布局:左侧标题/封面提示词多行输入,右侧批次、店铺、状态筛选和任务列表。
任务列表展示店铺、商品ID、旧标题、新标题、状态;筛选只读SQLite,不调用AI、不写库,生成执行留给T-303,提示词管理留给T-302p。
补充GUI测试覆盖Tab②挂载、提示词输入区、任务列表展示与批次/店铺/状态筛选;同步任务看板、API、routes、current-state和progress。
|
2026-06-27 15:56:55 +08:00 |
|
chengma
|
c2f2530149
|
feat: 完成T-301 AI生成接口
新增app/ai.py,按config/ai_models.json读取默认文本和图片模型,提供gen_title与gen_cover通用HTTP接口。
支持chat JSON与images_edits multipart、失败重试、错误脱敏、图片URL/base64解析、resolution resize和jpg_quality保存。
新增tests/test_ai.py覆盖文本重试、缺字段错误不泄露Key、封面JPEG保存;同步任务看板、API、技术栈、架构、current-state和progress,并记录Tab①真机冒烟结果。
|
2026-06-27 15:47:21 +08:00 |
|
chengma
|
5892de5303
|
test: 修正Phase2验收口径并补预检断言
收录Claude对T-201到T-205的验收报告,并把报告中的GUI用例数量、T-205最终方案和T-203未登录语义改为当前口径。
同步任务文档、API文档、当前状态和progress,明确匹配账号未登录由T-205预检blocked拦截,不进入逐条采集、不写skipped或failed;别名未匹配仍由T-203逐条mark_skipped。
补强test_gui中未登录预检分支断言,确认被拦截任务保持imported/pending且last_error为空。
|
2026-06-27 15:28:33 +08:00 |
|
chengma
|
5390debf40
|
feat: 完成T-205账号就绪引导保护
CollectWorker 增加采集前账号就绪预检:无账号、匹配账号 CDP 端口未响应或未登录时返回 blocked,不进入逐条采集,也不写 skipped/failed。
CollectTab 收到 blocked 后弹窗汇总原因,并跳转/引导到④账号管理配置账号、启动对应 Chrome、人工登录;MainWindow 为①传入打开④的回调。
新增 GUI 测试覆盖无账号、Chrome 未启动、未登录和弹窗引导;同步 T-205 状态、api、current-state 与 progress。
|
2026-06-27 15:00:15 +08:00 |
|
chengma
|
d7e609434e
|
feat: 完成T-204b采集自动回写
采集完成且本轮有成功采集任务时,Tab① 自动启动 WriteBackWorker 回写旧标题和旧封面路径到当前批次 Excel。
保留手动回写旧数据到 Excel 作为自动回写失败后的重试入口;原 Excel 被占用时提示关闭文件后手动重试,SQLite 采集结果不回滚。
新增 GUI 测试覆盖自动触发、无成功采集不触发、锁文件提示手动重试;同步 T-204b 任务状态、current-state、api、architecture 与 progress。
|
2026-06-27 14:47:08 +08:00 |
|
chengma
|
b9d84e71ec
|
feat: 完成T-204旧字段回写
实现 Excel 旧标题与旧封面路径回写原文件,按 source_file_abs/source_sheet/source_row 定位行,支持输出列自动追加、xlsm 保留 VBA、文件占用中文错误提示与 export_copy 另存副本。
Tab① 增加回写旧数据按钮与 WriteBackWorker,后台调用 excel.write_back,锁文件时提示关闭后重试;补充 Excel 与 GUI 单测覆盖回写、锁文件、另存副本和 worker 调用。
同步 harness 文档:T-204 标记完成,新增 T-204b 记录采集完成自动回写缺口,扩展 T-205 覆盖 Chrome 未启动/未登录引导保护,并更新 current-state、routes、api、architecture、requirements 与 progress。
|
2026-06-27 14:37:58 +08:00 |
|
chengma
|
8fe979942c
|
fix: 调整登录检测入口URL
无 Shopee tab 时,登录检测改为打开卖家中心根地址 https://<region_host>/,默认 https://seller.shopee.tw/。
商品编辑 URL 仍保持 /portal/product 路径不变;更新登录检测单测与 API/架构/当前状态/progress 文档。
|
2026-06-27 12:05:33 +08:00 |
|
chengma
|
6e00b1b093
|
feat: 完成Tab①采集旧数据
新增 CollectWorker,通过后台线程逐条采集旧标题和旧封面,成功后立即 db.set_collected 写库。
采集前按别名匹配账号并检测登录态;未匹配或未登录写 skipped,单条采集失败 mark_failed 后继续。
Tab① 增加采集/停止按钮和进度状态回传;补充 GUI 测试覆盖成功采集、未登录略过和未匹配略过;同步任务文档与 progress。
|
2026-06-27 11:51:42 +08:00 |
|