feat(subscription): enable observation mode

This commit is contained in:
chengma
2026-07-23 14:37:00 +08:00
parent a2b57db715
commit 594592c9b2
6 changed files with 129 additions and 22 deletions
+2 -2
View File
@@ -79,7 +79,7 @@ imported → collected → generated → applied
- `cdp`:连接调试端口、找/开 tab、执行 JS、拖拽、注入文件。
- `editor`:登录检测、读取商品状态、**采集**(读旧标题、下载旧封面)、改标题、换封面、点更新。
- `product_status`:商品状态代码 `normal/unlisted/reviewing/unknown` 的归一化、中文显示、EDS 提示分类和下游任务分组;①②③只能复用该模块,不各自判断。
- `subscription`:使用 cmhub API Key 查询 `GET /api/v1/cmshopee/subscription/status`,把远端权益结果归一化为有效、宽限、未订阅、到期、撤销、账号不可用、Key 无效、暂时不可用或旧服务兼容状态;不保存、展示或记录 API Key,服务端始终是最终授权方。当前联调期由 `app.gui.main_window.SUBSCRIPTION_CHECK_ENABLED = False` 暂停客户端启动检查与本地预检,不请求接口、不限制工作流;恢复发布前必须改回启用并回归验证。
- `subscription`:使用 cmhub API Key 查询 `GET /api/v1/cmshopee/subscription/status`,把远端权益结果归一化为有效、宽限、未订阅、到期、撤销、账号不可用、Key 无效、暂时不可用或旧服务兼容状态;不保存、展示或记录 API Key,服务端始终是最终授权方。T-696 观察期固定为 `SUBSCRIPTION_CHECK_ENABLED = True`、`SUBSCRIPTION_ENFORCEMENT_ENABLED = False`:真实查询并展示状态,但任何结果都不限制工作流或新提交,正式门禁必须另建任务启用。
- `ai`:`gen_title(prompt, old_title)`、`gen_cover(prompt, old_cover_path)`、`analyze_product_images(instruction, context, image_paths)`;前两者分别负责②标题/生图,后者只供商品套图中的「AI帮写」调用 cmhub 图片理解接口,读取1至8张按 `source_order` 排序的本地商品原图并返回可编辑卖点与白名单计费元数据。
- `cmhub_models`:格式化 cmhub 模型别名,并维护仅进程内有效的短期模型目录缓存;缓存键使用规整网关地址和别名,不含 API Key,不写入配置、SQLite、日志或导出文件。
@@ -88,7 +88,7 @@ imported → collected → generated → applied
- 应用配置(模型选择、生成参数、目录、Chrome 路径)→ `data/config.json`。
- AI 模型清单(direct 内部兼容模式 url/模型/密钥/类型/连接超时)→ `data/config/ai_models.json`(API Key 本地明文保存,必须 gitignore,UI 打码显示;普通设置页不再暴露 direct 切换入口)。
- cmhub 网关 Key → `data/config/cmhub.json`,schema `{ "api_key": "..." }`;`config.json` 只保存 Base URL、别名和超时,不保存 Key。
- 订阅状态 → 仅进程内 `SubscriptionStatus`;顶部 GUI 只展示服务端返回的账号显示名、套餐名和有效期,不写入 SQLite、诊断日志或导出。`404` 表示服务端尚未启用订阅接口,客户端保持旧行为;网络异常不被误判为会员到期。
- 订阅状态 → 仅进程内 `SubscriptionStatus`;顶部 GUI 对有效/宽限状态展示服务端返回的账号显示名、套餐名和有效期,其他状态显示脱敏中文观察结果,不写入 SQLite、诊断日志或导出。观察期不显示 `notice_id` 模态通知、不禁用 Tab、不自动切换设置且新提交预检始终放行;`404` 表示服务端尚未启用订阅接口,网络异常不被误判为会员到期。
- cmhub 模型目录与 AI帮写/正式套图预估价格 → 仅内存短期缓存;预估值只供用户确认,实际扣点仍以网关响应 metadata 为准。
- 业务数据(账号、任务、各阶段结果)→ SQLite `data/cmshopee.db`。
- 图片(采集的旧封面、AI 生成的新封面)→ `data/images/`(路径记在 DB)。