Commit Graph
300 Commits
Author SHA1 Message Date
chengma f7c9d761ee docs(tasks): decouple suite ai writing gateway 2026-07-23 10:08:03 +08:00
chengma 7d39ab5c90 fix(product-suite): own original image drag lifecycle 2026-07-23 09:49:01 +08:00
chengma e6fdb661fc docs(tasks): add product suite source cleanup fix 2026-07-23 09:44:30 +08:00
chengma 8706151e23 fix(product-suite): finalize sorting after drag 2026-07-23 09:36:00 +08:00
chengma 03b9bbab78 docs(tasks): add product suite drag lifecycle fix 2026-07-23 09:32:15 +08:00
chengma 1d2bb4489a fix(product-suite): prevent duplicate drag sorting 2026-07-23 09:18:18 +08:00
chengma de8dbc7754 docs(tasks): add product suite drag duplicate fix 2026-07-23 09:12:38 +08:00
chengma 05e12d8f61 fix(product-suite): enable original image drag sorting 2026-07-23 08:47:32 +08:00
chengma 7d31578e8b docs(tasks): add product suite drag sorting task 2026-07-23 08:44:33 +08:00
chengma 01b4a05c26 fix(product-suite): validate item id before generation 2026-07-22 18:14:50 +08:00
chengma 189b5855e9 docs(tasks): add product suite item id validation task 2026-07-22 18:07:34 +08:00
chengma 4550369bc1 fix(product-suite): allow completed source image removal 2026-07-22 17:51:37 +08:00
chengma 70c4323c52 feat(product-suite): clarify primary image sorting 2026-07-22 17:45:31 +08:00
chengma 0425771598 docs(tasks): add completed source image deletion task 2026-07-22 17:39:28 +08:00
chengma 3e91360f88 docs(tasks): add product suite primary image sorting task 2026-07-22 17:38:40 +08:00
chengma 2f05974a61 fix(product-suite): allow braces in business prompts 2026-07-22 17:23:20 +08:00
chengma a887186280 docs(tasks): add product suite prompt rendering task 2026-07-22 17:19:11 +08:00
chengma 9163f6b371 test(subscription): suspend client access checks 2026-07-22 15:55:46 +08:00
chengma 953d98314b fix(subscription): remove membership setup prompt 2026-07-22 15:48:17 +08:00
chengma 9ee48dc2aa feat(subscription): add membership access preflight 2026-07-21 17:38:05 +08:00
chengma ca46c34dfe docs(tasks): add subscription access task 2026-07-21 17:20:06 +08:00
chengma fde6967941 docs(tasks): add device session observation task 2026-07-21 11:46:43 +08:00
chengma 5b57a6c769 feat(settings): clarify custom gateway format 2026-07-21 09:49:22 +08:00
chengma 3cd71b5285 docs(tasks): add custom gateway format notice task 2026-07-21 09:47:30 +08:00
chengma b324e5d332 feat(settings): prevent spinbox wheel changes 2026-07-21 09:40:53 +08:00
chengma 9c0007ca4c docs(tasks): add settings spinbox wheel task 2026-07-21 09:37:46 +08:00
chengma 1c93c1b08f feat(settings): compact custom gateway model panel 2026-07-21 09:31:33 +08:00
chengma 02793fb108 docs(tasks): add custom gateway layout task 2026-07-21 09:29:30 +08:00
chengma d76a1de864 feat(settings): rename custom gateway models 2026-07-21 09:23:08 +08:00
chengma 0da2d8a3c0 docs(tasks): add model rename task 2026-07-21 09:17:07 +08:00
chengma 415efe91a8 feat(settings): use radio buttons for gateway 2026-07-21 09:07:04 +08:00
chengma 4217f855ac docs(tasks): add gateway radio layout task 2026-07-21 08:59:17 +08:00
chengma b803a2a15a feat(product-suite): complete multi-source recovery 2026-07-20 18:50:08 +08:00
chengma 2e6b93d7e0 feat(product-suite): enable direct generation flow 2026-07-20 18:37:27 +08:00
chengma aa000ff5e6 feat(product-suite): add direct job state machine 2026-07-20 18:12:44 +08:00
chengma 2a2cbad7bd feat(ai): enforce direct image edit contract 2026-07-20 17:52:59 +08:00
chengma 61db0f4ed6 docs(tasks): harden direct suite release semantics 2026-07-20 17:35:54 +08:00
chengmaandClaude Fable 5 34c7a2e148 docs(tasks): close review gaps in custom gateway suite split
对 T-678 细化与 T-679a/b/c 拆分的全栈复核结果:

T-678:修正背景中不准确的收敛理由。api_type 在 app/ai.py 只有 :348、
:350 两处使用且都在图片路径内,文字路径从不读取该字段;不能全局收敛
的真实原因是 appconfig.py:881 对所有模型统一校验,收窄取值集合会让
存量文字模型在载入与保存时抛 ConfigError。方案首条同步改为按校验口径
表述,避免实现时去找不存在的文字侧分支。

T-679a/b/c:三处补加发布门禁,说明三者未全部完成前不得发布。拆分只为
控制改动面,不构成可独立发布的中间态——重复计费的二次确认定义在
T-679c,若 a/b 先上线,用户已能创建并失败 direct 任务却在无提示情况下
重试,属资金口径缺口而非体验缺陷。

T-679a:补记本任务组有意放宽 T-677「不给商品套图新增自定义网关路径」
的边界及理由(套图是来源切换后唯一完全断链的模块,图片理解不在放宽
范围内),避免后续回看误判两者矛盾。

T-679a:比例近似映射改为同时记录用户选择的比例与实际输出尺寸。原方案
只存原始比例会让 DB 记 9:16 而文件实际为 1024x1536;当前 add_asset 的
aspect_ratio 只写入无消费者(app/image_studio.py:707-731)故暂不可见,
但历史展示或导出一旦信任该字段即出错。新增字段迁移须附加式且幂等。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:30:08 +08:00
chengma 7734b20434 docs(tasks): refine custom gateway product suite plan 2026-07-20 17:23:23 +08:00
chengmaandClaude Fable 5 cd2dfe97ef docs(tasks): add custom gateway OpenAI lock and suite integration
拆成两个任务,T-678 是可独立发布的破坏性变更,T-679 依赖它。

T-678 自定义网关锁定 OpenAI 图片接口规范并支持多图输入:
- 记录当前 chat 接口类型并非 OpenAI 规范的证据(_find_image_ref 的
  跨结构搜刮器只为非标准中转网关而存在),收敛 API_TYPES 并删除
  chat/auto 请求构造。
- _image_edit_body 与 _multipart_body 支持有序多图,为 T-679 铺路;
  ②生图行为与计费口径不变。
- 记录迁移窗口:T-529 起自定义模型 UI 被硬藏,T-677 才放出,当前
  装机量几乎没有 chat 配置,现在收敛成本接近零,晚做则成为真正的
  破坏性变更。
- 存量 chat/auto 模型标记不可用而非静默改写,避免把请求打到不支持
  的端点。

T-679 商品套图接入自定义网关(主图 + 参考图):
- 指明来源耦合只有 _runtime() 与 _submit_or_resume_job() 两处接缝,
  direct 为同步路径,是跳过 submit/poll 而非补齐异步状态机。
- 记录回收守卫按 task_id 判断,direct job 天然不被拦,无需修改即可
  继续保护已扣点的 cmhub 任务;create_generation_jobs 需改写真实来源。
- 明确主体保留在 OpenAI 侧只能靠提示词,与 cmhub 服务端强制契约不
  等价,UI 须如实说明而非宣称同等效果。
- 记录三个实际问题:同步请求导致停止迟钝、超时常量需改用模型配置、
  aspect_ratio 到尺寸需换算。
- AI 帮写仍为默认网关独占(CATEGORIES 无 vision 类别)。
- 关联中写明本任务有意放宽 T-677 的边界及理由。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:07:08 +08:00
chengma 6a0cd1c763 feat(settings): support gateway source switching 2026-07-20 16:29:28 +08:00
chengma a04eb911e9 docs(tasks): close T-677 recovery gaps 2026-07-20 15:30:42 +08:00
chengmaandClaude Opus 4.8 5b3b65ea16 docs(tasks): refine T-677 gateway switch boundaries
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:23:21 +08:00
chengma 79f51d9b91 docs(tasks): refine gateway source switch scope 2026-07-20 15:17:48 +08:00
chengmaandClaude Opus 4.8 dfcca03850 docs(tasks): add gateway source switch task
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:04:33 +08:00
chengma 7b0990443b feat(gui): optimize product status filter defaults 2026-07-20 11:49:37 +08:00
chengma 4c7c02a1e2 docs(tasks): add product status filter defaults task 2026-07-20 11:29:59 +08:00
chengma 7dbfcb5a24 feat(apply): open product page on left double click 2026-07-20 11:22:26 +08:00
chengma 9f43e5547a feat(gui): add task deletion menus 2026-07-20 11:12:01 +08:00
chengma 6abe4decff docs(tasks): add task delete and product tab tasks 2026-07-20 11:04:27 +08:00