k88936
|
47f5be12c0
|
Merge branch 'master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m5s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m16s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 6m36s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 7m46s
Project CI / Backend tests (pull_request) Successful in 8m13s
Project CI / Repository checks (pull_request) Successful in 4m55s
Project CI / Frontend tests (pull_request) Successful in 5m53s
Project CI / Native shell tests (pull_request) Successful in 11m8s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m25s
|
2026-09-22 15:58:22 +08:00 |
|
k88936
|
7c76e7a3f2
|
同步定价文档里的受控 backfill 口径
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m36s
Project CI / Backend tests (pull_request) Failing after 13s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m14s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m17s
Project CI / Repository checks (pull_request) Failing after 13s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m4s
Project CI / Frontend tests (pull_request) Successful in 4m45s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m0s
Project CI / Native shell tests (pull_request) Successful in 7m28s
- 更新 2026-06-22 定价配置管理方案:缺模型条目改为继承编译内置默认值,并写明只自定义过 gpt-image-2 价格时的计价差异
- 在 2026-09-18 决策条目上标注该受控 backfill 已被 2026-09-22 决策取代
|
2026-09-22 14:49:02 +08:00 |
|
k88936
|
84bb9ffd28
|
模型定价改为默认配置叠加持久化覆盖
- 新增 overlay_editor_generation_pricing,以编译内置默认为基线叠加持久化模型条目
- 删除 backfill_legacy_gpt_image_2_5_pricing 与 backfill_legacy_sfx_pricing,record 加载路径改为直接叠加
- 缺模型的旧 override / record 继承默认档位,写坏的条目仍由 validate() 拦截
- 更新 backfill 相关单测,补 legacy override 继承默认值与非法条目拒绝用例
- 同步 ADR 与决策记录里的受控 backfill 口径
|
2026-09-22 14:42:34 +08:00 |
|
k88936
|
ff89951a9b
|
删除失效的图片模型兜底审计链路
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m0s
Project CI / Backend tests (pull_request) Failing after 12s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m50s
Project CI / Frontend tests (pull_request) Successful in 4m2s
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m46s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m1s
Project CI / Native shell tests (pull_request) Successful in 7m3s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m37s
- platform-image 移除 PlatformImageError::FallbackFailed、recovered_failure_audits()、with_recovered_failure_audits 与 into_final_error
- GeneratedImages 去掉恒为空的 recovered_failure_audits 字段,image_source 两处构造同步收敛
- executor 去掉空 Vec 累积、成功路径空 append 与 finish_image_model_fallback_error 包装,失败分支直接返回原错误
- api-server 去掉成功摘要的 recoveredFailureCount 与两处 recovered audit 落库循环,map_platform_image_error 去掉不可达分支
- 测试移除恒空断言,image_generation_does_not_retry_as_another_model 改为断言终态 Upstream 401
- 同步开发运维文档与 decision-log(含说明 2026-07-21 兜底条目的 recoveredFailureCount 已退役)
|
2026-09-22 14:17:44 +08:00 |
|
k88936
|
c0d4e76a01
|
解耦 Tiantoken 与 VectorEngine 的图片请求超时
- AppConfig 新增 tiantoken_image_request_timeout_ms(默认 1000000),env 只读 TIANTOKEN_IMAGE_REQUEST_TIMEOUT_MS
- VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS 只写 vector_engine_image_request_timeout_ms,不再被 Tiantoken 变量覆盖
- Tiantoken 图片 client 与 OpenAiImageSettings.request_timeout_ms 改用新字段,两个 provider 各用自己的超时
- config 测试补 Tiantoken / VectorEngine 双向不覆盖断言,deploy env 示例补 VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS=1000000
- 同步开发运维文档与 decision-log
|
2026-09-22 14:08:09 +08:00 |
|
k88936
|
b0bb71a79e
|
让 resolve_image_provider 的拒绝原因带上模型名
- resolve_image_provider 错误类型从 &'static str 改为 String,未知模型返回「不支持的图片模型:{model}」
- ensure_provider_matches_model 去掉重复拼接的模型名,避免错误信息出现两遍输入
- openai_image_generation 缺少参考图的本地校验改用显式 match,不再用 unwrap_or 静默假定 Tiantoken
- 补充断言:业务模型名与 unknown-model 的拒绝原因里必须包含被拒绝的模型值
|
2026-09-22 14:03:19 +08:00 |
|
k88936
|
d95a01cf08
|
同步图片技能文档的同模型重试说明
- SKILL.md 明确脚本只做同 concrete model 的 408/429/5xx 退避重试,不做跨模型回退
|
2026-09-22 12:26:24 +08:00 |
|
k88936
|
4f2591b50a
|
说明 GPT Image 2 尺寸族与 provider 白名单的口径差异
- 为 is_gpt_image_2_family_model 补充文档注释:尺寸钳制族刻意包含业务名 gpt-image-2.5
- 明确 resolve_image_provider 仍坚持只收 concrete key,两处白名单不同是设计意图而非遗漏
|
2026-09-22 12:22:08 +08:00 |
|
k88936
|
8e92bd2952
|
修正带参考图的便捷生成入口模型选择
- create_image_generation 在参考图非空时改用 gpt-image-2.5-sunburst-c,与 generate→edits 分支和任务边界 editor_image_generation_concrete_model 判据一致
- 新增 image_generation_with_references_uses_the_edit_concrete_model,断言带参考图的生成请求落到 /v1/images/edits 且 multipart 提交编辑 concrete model
|
2026-09-22 12:20:49 +08:00 |
|
k88936
|
fb6e00c966
|
消除前端 legacy gpt-image-2 档位的重复字面量
- EDITOR_IMAGE_MODEL_MUD_POINT_CONFIG 提取 GPT_IMAGE_2_5_TIER_PRICES,gpt-image-2 与 gpt-image-2.5 复用同一份泥点档位
- EDITOR_IMAGE_DIMENSION_OPTIONS 提取 GPT_IMAGE_2_5_DIMENSION_OPTIONS,两个 key 复用同一份尺寸档位
- 修正注释:legacy key 是持久化值的防御性别名,生产读取会先经 normalizeEditorImageModel 归一,不再声称它被正式读路径按旧值使用
|
2026-09-22 12:19:02 +08:00 |
|
k88936
|
d3822a9a19
|
补齐图片生成重试测试的同模型断言
- image_generation_does_not_retry_as_another_model 增加两次请求的 model 断言,确认重试仍使用 gpt-image-2.5-flare-c
- 与 image_generation_stays_on_model_after_upstream_502 的断言口径对齐,防止回归成换模型重试
|
2026-09-22 12:17:22 +08:00 |
|
k88936
|
a4be08d511
|
修正 nanobanana 空模型被误归一为 GPT 生成模型
- 新增 normalize_nanobanana_model,把空模型字符串统一回落到 gemini-3.1-flash-image-preview
- create_nanobanana_generate_content 改用该判据,空模型不再被 normalize_image_model 改写成 gpt-image-2.5-flare-c 后被 provider 校验拒绝
- nanobanana_generate_content_url 复用同一判据,去掉重复的空值分支
- 新增 nanobanana_model_resolution_defaults_blank_values_to_nanobanana 单测
|
2026-09-22 12:17:00 +08:00 |
|
k88936
|
e901937bb4
|
修正图片解析去重测试名与真实覆盖范围
- extract_image_urls_and_b64_values_are_deduped 更名为 extract_image_urls_are_deduped_and_b64_values_keep_payload_order
- 测试名不再暗示 extract_b64_images 具备去重能力,实际只断言 URL 去重与 base64 / inline data 的载荷顺序
|
2026-09-22 12:14:46 +08:00 |
|
k88936
|
827164ed70
|
为图片素材脚本补回同模型瞬时错误重试
- 两个脚本新增 fetchJsonWithRetry:对 408/429/5xx 按 1s/2s 退避重试同一 concrete model,最多 3 次,不引入跨模型回退
- requestImagePayload 改用带 requestId 的重试入口,单次 408/429/5xx 不再中断整批生成
- 删除只写不读的 providerBody / providerResponseParse 错误字段,解析失败与缺图改为把响应片段写进错误信息
|
2026-09-22 12:13:25 +08:00 |
|
k88936
|
0b1caf7280
|
修正图片脚本中误导性的首选模型变量名
- generate-anthro-cat-illustrations 的 preferredImageModel 重命名为 imageModel,并同步 requestImagePayload 与试运行请求体引用
- generate-template-samples 的 preferredImageModel 重命名为 imageModel,并同步 requestImagePayload 与试运行请求体引用
|
2026-09-22 12:12:06 +08:00 |
|
k88936
|
a943048093
|
Merge remote-tracking branch 'refs/remotes/origin/master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m2s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m55s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m46s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m12s
Project CI / Backend tests (pull_request) Successful in 9m12s
Project CI / Native shell tests (pull_request) Successful in 10m32s
Project CI / Frontend tests (pull_request) Successful in 7m1s
Project CI / Repository checks (pull_request) Successful in 5m43s
Project CI / AI game creator shell web tests (pull_request) Successful in 6m4s
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
|
2026-09-22 11:54:00 +08:00 |
|
k88936
|
46c8573b0e
|
同步前端图片模型测试到 GPT Image 2.5 重命名
- 6 个 image-editor 测试文件的旧 gpt-image-2 断言改为 gpt-image-2.5 / GPT Image 2.5,覆盖图集导出、元数据弹窗、UI 素材提取模型菜单与生成/快速编辑 dialog 参数快照
- 工作流测试夹具与提取模型按钮改用 IMAGE_MODEL_GPT_IMAGE_2_5 常量,legacy 夹具保留并断言提交边界归一为当前业务模型
- decision-log 2026-09-21 条目补 platform-image 与前端全量测试验证结论
|
2026-09-22 11:47:15 +08:00 |
|
k88936
|
71a17d6096
|
修正 platform-image mock 请求体读取竞态
- nanobanana 生成用例的 mock server 改为复用同文件 read_http_request,按 Content-Length 读满请求体再断言,消除「只读到 \r\n\r\n 就断言头后 body」的竞态
- pitfalls 新增「测试内 mock HTTP server 必须按 Content-Length 读满请求体再断言」记录现象、原因与变异验证方式
|
2026-09-22 11:46:43 +08:00 |
|
k88936
|
97b0a4b9b8
|
更新测试用例以反映按钮名称从 "gpt-image-2" 修改为 "GPT Image 2.5"
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m0s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m50s
Project CI / Backend tests (pull_request) Successful in 5m25s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m9s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m17s
Project CI / Native shell tests (pull_request) Successful in 7m0s
Project CI / Frontend tests (pull_request) Failing after 3m41s
Project CI / Repository checks (pull_request) Successful in 3m16s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m51s
|
2026-09-21 22:09:17 +08:00 |
|
k88936
|
e3ba986596
|
修正 OpenAPI 中 model 字段与实现不一致的描述
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
- EditorImageGenerationRequest.model 说明 kind=ui-design 与 publication-material 固定使用 gpt-image-2.5 并忽略传入 model,其余 kind 未传时默认 gpt-image-2.5
- EditorUiDesignAssetExtractionRequest.model 说明未传时默认 nanobanana,传 gpt-image-2.5 时按 GPT Image 2.5 编辑任务执行
|
2026-09-21 22:02:44 +08:00 |
|
k88936
|
69af571242
|
修订生成带参考图的模型路由与计价文档
- ADR 改为「带参考图的生成与编辑都按编辑 concrete model 执行、审计与计价」,并补定价档位跟随 concrete model 的后果
- 里程碑文档路由表拆分 flare-c(仅无参考图生成)与 sunburst-c(编辑 + 带参考图的生成),必须成立的行为补第 7 条
- decision-log 修正 2026-09-18 条目,并新增本次「生成带参考图统一按编辑 concrete model 执行与计价」决策记录
- pitfalls、后端架构与开发运维文档同步 provider 具体模型与计价档位口径
|
2026-09-21 22:02:05 +08:00 |
|
k88936
|
166977baf0
|
图片素材脚本改用 concrete model 与 Tiantoken 凭据
- generate-template-samples 与 generate-anthro-cat-illustrations 的 preferredImageModel 改为 gpt-image-2.5-flare-c
- 两个脚本的 base URL / API key / 超时改为只读 TIANTOKEN_BASE_URL、TIANTOKEN_API_KEY、TIANTOKEN_IMAGE_REQUEST_TIMEOUT_MS,不再回退 VectorEngine
- 脚本内 URL 构造函数、错误文案与错误字段名从 VectorEngine 改为 provider 中性的 Tiantoken 口径
- SKILL.md 请求契约、环境变量与模型说明同步到 concrete model + Tiantoken,并说明带参考图的编辑走 gpt-image-2.5-sunburst-c
|
2026-09-21 22:01:44 +08:00 |
|
k88936
|
5c58830545
|
删除仅测试使用的图片编辑封装
- 删除 create_openai_image_edit 与 create_openai_image_edit_with_references 两个 dead_code 封装
- 空参考图本地校验用例改走 create_openai_image_edit_with_references_and_model,保留原覆盖
|
2026-09-21 22:01:21 +08:00 |
|
k88936
|
14c2255d54
|
补 provider 白名单的历史值断言
- resolve_image_provider 单测增加 gpt-image-2 → Tiantoken 断言,钉死 ADR 记录的历史可读值意图
|
2026-09-21 22:00:58 +08:00 |
|
k88936
|
f8f0479488
|
图片兜底 task id 前缀跟随实际 provider
- executor 新增 image_task_id_prefix,按 settings.provider 拼接前缀
- 生成、nanobanana 生成与编辑三处不再硬编码 vector-engine 前缀,Tiantoken 任务的持久化与审计不再带错误前缀
|
2026-09-21 22:00:40 +08:00 |
|
k88936
|
a06c7d7f1e
|
raw image edit 发送前复用共享 provider 白名单校验
- platform-image 导出 ensure_provider_matches_model 供 crate 内复用
- create_raw_image_edit 在构造请求前校验 settings.provider 与固定的编辑 concrete model 一致
|
2026-09-21 22:00:21 +08:00 |
|
k88936
|
c38e4b4175
|
生成带参考图统一按编辑 concrete model 执行与计价
- 新增 editor_image_generation_concrete_model 作为生成类任务选择 concrete model 的唯一入口,dispatch 与计价共用同一判据
- image_generation_mud_points 增加 has_reference_images,命中编辑 concrete model 时改走 image_edit_model_mud_points
- editor_project/editor_project_icon 的 provider_model 改用共享解析函数,替换三处重复的带参考图 if 表达式
- character_visual_assets 的角色主形象生成改用共享解析函数
- 图标素材图集、UI 素材提取、图标规范带 referenceId、Agent 生成类工具带 referenceImageIds 的计价同步切到编辑档
- EditImageTool 计价从生成档改为编辑档,与直连快速编辑、raw edit 对齐
- normalize_editor_generation_options 的具体 provider key 改用常量替换字符串字面量
- 补充参考图档位路由与 Agent 工具档位路由单测
|
2026-09-21 22:00:08 +08:00 |
|
k88936
|
f3c362b1ec
|
整体删除已退役的 gpt-image-2-c
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m59s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m47s
Project CI / Backend tests (pull_request) Successful in 5m4s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m30s
Project CI / Native shell tests (pull_request) Successful in 6m36s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m48s
Project CI / Frontend tests (pull_request) Failing after 3m14s
Project CI / Repository checks (pull_request) Successful in 2m46s
Project CI / AI game creator shell web tests (pull_request) Failing after 2m24s
- 删除 platform-image 的 GPT_IMAGE_2_C_MODEL 常量、re-export、尺寸语义与审计标签
- 移除 api-server 三处任务边界对 gpt-image-2-c 的兼容解析分支
- 移除主站前端历史模型常量与恢复分支,并同步其测试
- 同步 External v1 OpenAPI 描述、ADR、CONTEXT、pitfalls 与后端/运维文档
- 数据库既有 gpt-image-2-c 审计字符串保持原样,不回写不改写
|
2026-09-21 20:37:43 +08:00 |
|
k88936
|
fc53f362e4
|
同步图片 provider 路由白名单与启动日志文档
ADR 补充业务名与 gpt-image-2-c 的拒绝规则
决策记录补充启动报错点名环境变量与启动日志
|
2026-09-21 20:37:39 +08:00 |
|
k88936
|
8988e91ee9
|
补全图片 provider 启动报错与日志信息
缺少 BASE_URL / API_KEY 时点名对应环境变量
启动成功时记录 provider、base_url 与超时配置
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
784f38220b
|
图片 provider 路由拒绝已退役的 gpt-image-2-c
gpt-image-2-c 仅保留历史 fallback 与审计字符串
resolve_image_provider 白名单不再接受该值
补充拒绝断言
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
44798ba380
|
收紧图片 provider 路由白名单拒绝业务模型名
resolve_image_provider 不再接受 gpt-image-2.5 业务名
业务名必须先在任务边界解析成 flare-c / sunburst-c 具体 key
新增白名单回归测试
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
2d679122cf
|
合并前端历史图片模型判定与归一
抽取 LEGACY_EDITOR_IMAGE_MODELS 作为单一来源
normalizeEditorImageModel 与 isLegacyEditorImageModel 复用该集合
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
4cbbcecaa2
|
减少图片工具参数归一的冗余 JSON 拷贝
normalize_legacy_image_model_args 改为按需返回 Cow
未命中归一时复用原始参数视图,避免多一次深拷贝
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
98bfa5efd0
|
按模型解析图片编辑缺失参考图的 provider
create_openai_image_edit_with_references_and_model 错误归属与路由一致
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
ab472b4562
|
删除无调用方的旧图片生成封装
移除 create_openai_image_generation 及其未再用到的导入
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
1a1f124acd
|
公开定价投影隐藏旧 GPT Image 2-C 别名
public_projection 同步移除 gpt-image-2-c 键
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
4dc199cf33
|
修正 nanobanana 端点空模型的回落值
nanobanana_generate_content_url 空模型回落到 nanobanana 模型
新增空模型路径的单元测试
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
ef34e0ed64
|
统一 nanobanana 执行器的 provider 标签
取消 create_nanobanana_generate_content 中硬编码的 VectorEngine
错误、重试与审计统一读取 settings.provider
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
786898f7f8
|
移除模板样例试运行结果的空回退字段
干运行输出只保留实际请求信息
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
e880f58723
|
移除猫插画试运行结果的空回退字段
干运行输出只保留实际请求信息
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
6f19e155ca
|
清理模板样例脚本的单模型请求循环
移除单元素模型循环和无操作异常捕获
保留原有请求与错误语义
|
2026-09-21 20:37:21 +08:00 |
|
k88936
|
6e9f991a76
|
清理猫插画脚本的单模型请求循环
移除单元素模型循环和无操作异常捕获
保留原有请求与错误语义
|
2026-09-21 20:37:21 +08:00 |
|
lhk229
|
a6f99c8871
|
Merge branch 'master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m20s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m59s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m32s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m27s
Project CI / Backend tests (pull_request) Successful in 5m36s
Project CI / Native shell tests (pull_request) Successful in 8m0s
Project CI / Frontend tests (pull_request) Failing after 4m13s
Project CI / AI game creator shell web tests (pull_request) Failing after 3m55s
Project CI / Repository checks (pull_request) Successful in 4m7s
|
2026-09-21 19:47:37 +08:00 |
|
k88936
|
27e3d9bfd0
|
Merge remote-tracking branch 'origin/master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m3s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m55s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 7m25s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 8m18s
Project CI / Backend tests (pull_request) Successful in 8m6s
Project CI / Native shell tests (pull_request) Successful in 9m16s
Project CI / Frontend tests (pull_request) Failing after 7m0s
Project CI / Repository checks (pull_request) Successful in 7m8s
Project CI / AI game creator shell web tests (pull_request) Failing after 5m16s
|
2026-09-21 14:43:20 +08:00 |
|
k88936
|
c6f90c5b22
|
Merge branch 'master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m49s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m47s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 7m42s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 8m24s
Project CI / Backend tests (pull_request) Successful in 7m13s
Project CI / Frontend tests (pull_request) Failing after 4m19s
Project CI / Native shell tests (pull_request) Successful in 9m35s
Project CI / Repository checks (pull_request) Successful in 5m57s
Project CI / AI game creator shell web tests (pull_request) Failing after 5m48s
|
2026-09-21 13:39:16 +08:00 |
|
k88936
|
3b137ca369
|
合并 master 并保留 GPT Image 2.5 与外置提示词行为
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m1s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 3m54s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 6m52s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 8m1s
Project CI / Native shell tests (pull_request) Successful in 9m25s
Project CI / Backend tests (pull_request) Successful in 10m37s
Project CI / Repository checks (pull_request) Successful in 7m52s
Project CI / Frontend tests (pull_request) Failing after 10m40s
Project CI / AI game creator shell web tests (pull_request) Failing after 5m25s
保留编辑器图片工具使用 gpt-image-2.5 业务模型名
保留工具参数说明从 prompts 外置文件读取
同步外置模型与尺寸文案并完成冲突验证
|
2026-09-21 10:50:32 +08:00 |
|
k88936
|
3da0936c1f
|
Merge remote-tracking branch 'refs/remotes/origin/master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 7m17s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 7m25s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 7m34s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 7m37s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m3s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m23s
Project CI / Frontend tests (pull_request) Failing after 14m1s
Project CI / Repository checks (pull_request) Successful in 12m35s
Project CI / Native shell tests (pull_request) Successful in 17m2s
Project CI / Backend tests (pull_request) Successful in 17m18s
Project CI / AI game creator shell web tests (pull_request) Failing after 14m48s
|
2026-09-19 15:39:41 +08:00 |
|
k88936
|
c8311a47b0
|
Merge remote-tracking branch 'refs/remotes/origin/master' into feat/gptimage2to2.5
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
# server-rs/crates/api-server/src/state.rs
# src/components/image-editor/ImageCanvasGenerationSubmissionModel.test.ts
|
2026-09-19 15:37:29 +08:00 |
|
k88936
|
1c1deff732
|
修复编辑器 LLM mock 用例无法构造 Tiantoken client 的问题
- AppConfig 新增 tiantoken_base_url / tiantoken_api_key 字段,from_env 只读 TIANTOKEN_* 环境变量,不回退 VectorEngine 凭据
- AppState 改用配置字段构造编辑器 LLM 与 Tiantoken 图片 client,删除现读环境变量的 config::tiantoken_* 访问器
- editor_background_music_prompt_assist / editor_sound_effect_prompt_assist / sound_effect_translation 三处 mock LLM 夹具改用 tiantoken_* 字段,恢复 28 条失败用例
- config 用例改为断言 from_env 的 Tiantoken 凭据来源,state 用例改名为从 Tiantoken 设置构造编辑器 LLM client
- 同步更新后端架构文档与 decision-log 记录
|
2026-09-19 15:33:14 +08:00 |
|
k88936
|
0459109897
|
修复 SpacetimeDB 定价 record 缺少历史模型回填的问题
- 将 backfill_legacy_gpt_image_2_5_pricing 提升为 pub(crate) 并补充文档说明其覆盖磁盘 override 与 SpacetimeDB record 两条加载路径
- editor_generation_pricing_from_record 在 validate 前先对旧 record 做受控 backfill,避免升级前只写单个 gpt-image-2 key 时被必填校验拒绝
- 新增用例覆盖旧 record 自动补齐两个 GPT Image 2.5 key,以及显式配置不被回填覆盖
- 更新兼容回填的 TODO 注释,说明移除条件还需包含 SpacetimeDB record
|
2026-09-19 15:18:40 +08:00 |
|
k88936
|
6318baf7c6
|
修正缺省图片模型校验用例的 fixture 模型 key
- 将 editor_generation_pricing_rejects_missing_required_image_size 的 fixture 从已退役的 gpt-image-2 换成 gpt-image-2.5-flare-c / gpt-image-2.5-sunburst-c
- 同步断言文案为 models.gpt-image-2.5-flare-c 缺少 2K 的泥点配置,使缺档校验仍覆盖真实必填模型
|
2026-09-19 15:17:45 +08:00 |
|
k88936
|
28e6e67e98
|
补齐后台定价保存用例的 GPT Image 2.5 档位
后台保存 payload 用 gpt-image-2.5-flare-c 与 gpt-image-2.5-sunburst-c 替换历史单 key,保存重新返回 200
公开定价断言改为读取业务模型名 gpt-image-2.5 的生成档价格,并新增 admin 定价读回具体 key 的断言
|
2026-09-19 14:23:18 +08:00 |
|
k88936
|
4415723f7f
|
同步公开定价路由用例到 GPT Image 2.5 公开投影
公开定价断言改为读取业务模型名 gpt-image-2.5 的生成档价格
补充断言公开投影不暴露 gpt-image-2 与两个 provider 具体 key
|
2026-09-19 14:21:33 +08:00 |
|
k88936
|
fa84a364d6
|
修正宣发素材生成锁定的模型断言
源码文本断言从 Some(GPT_IMAGE_2_MODEL) 更新为 Some(GPT_IMAGE_2_5_BUSINESS_NAME),与当前锁定实现一致
用例改名为 publication_material_generation_is_locked_to_gpt_image_2_5
|
2026-09-19 14:20:29 +08:00 |
|
k88936
|
bd0a06e3d3
|
兼容图片工具的历史 gpt-image-2 模型别名
api-server 的图片类 Agent 工具在反序列化前把 gpt-image-2 / gpt-image-2-c 归一为 gpt-image-2.5,旧持久化工具调用不再被校验直接拒绝
EditImageTool 计价改用 gpt-image-2.5 业务模型常量,并新增别名归一单测、更新受影响的校验与计价断言
|
2026-09-19 13:55:30 +08:00 |
|
k88936
|
939c35a9b9
|
统一缺省图片模型的归一化结果
normalize_image_model 的空白模型回退改为 GPT_IMAGE_2_5_GENERATION_MODEL,与 build_image_request_body 默认值一致
补充单测断言空白模型与默认生成模型产出同一请求体
|
2026-09-19 13:48:11 +08:00 |
|
k88936
|
42fdb57efe
|
校验图片请求模型与 provider 绑定一致
executor 三个请求入口改用 ensure_provider_matches_model,模型不属于当前 provider 时直接返回 InvalidRequest
新增单测覆盖 provider 不一致的快速失败,并把 GPT 模型相关集成测试的 settings 调整为 tiantoken
|
2026-09-19 13:46:47 +08:00 |
|
k88936
|
0c54cca81c
|
修正生成规范缺省模型的计价档
spec_model_mud_points 在模型为空时显式回退 GPT Image 2.5 生成档,避免落到 nanobanana 档
补中文注释说明与 normalize_editor_generation_options 的缺省模型保持一致
|
2026-09-19 13:43:12 +08:00 |
|
k88936
|
1a2e60bf05
|
修复图片编辑缺少参考图时的 panic
platform-image 新增 missing_reference_images_error 并在 create_image_edit_with_references_and_model 中复用
api-server 两个多参考图编辑入口在解析 provider 客户端前先校验参考图,返回 400 而不是 panic
恢复 vector_engine_multi_reference_edit_rejects_empty_references 期望的缺少参考图错误
|
2026-09-19 13:41:21 +08:00 |
|
k88936
|
5ce267ae85
|
按参考图选择角色主形象的 provider 模型
角色主形象带参考图时走后端编辑端点,模型改用 gpt-image-2.5-sunburst-c
无参考图生成继续使用 gpt-image-2.5-flare-c
|
2026-09-19 13:37:55 +08:00 |
|
k88936
|
8924bf335e
|
修正 UI 设计素材提取的编辑模型
UI 设计图 spritesheet 提取走后端编辑端点,模型由 gpt-image-2.5-flare-c 改为 gpt-image-2.5-sunburst-c
|
2026-09-19 13:36:28 +08:00 |
|
k88936
|
ae257a6ff8
|
按端点选择编辑器生成的 provider_model
generate_editor_image_for_owner 在参考图存在时改用 gpt-image-2.5-sunburst-c(编辑模型)
无参考图生成继续使用 gpt-image-2.5-flare-c,nanobanana 分支沿用自身模型
|
2026-09-19 13:36:03 +08:00 |
|
k88936
|
ff4f42d2f2
|
修正编辑器生成模型归一化注释
注释改为与实现一致:未显式传模型时归一为 gpt-image-2.5,而非继续走 gpt-image-2
|
2026-09-19 13:35:05 +08:00 |
|
k88936
|
2e2ed47bec
|
补齐图标 spritesheet 请求的 provider_model
editor_project_icon 的 EditorImageProviderRequest 增加 provider_model 字段
参考图存在时按编辑模型 gpt-image-2.5-sunburst-c 提交,nanobanana 与无参考图分支分别沿用自身模型
|
2026-09-19 13:29:11 +08:00 |
|
k88936
|
dedc58cce1
|
补齐 api-server 的 GPT_IMAGE_2_C_MODEL 重导出
openai_image_generation 重新导出 platform_image 的 GPT_IMAGE_2_C_MODEL
修复 editor_project 兼容历史 gpt-image-2-c 时引入的未解析导入与随之产生的模式绑定错误
|
2026-09-19 13:27:31 +08:00 |
|
k88936
|
c86ac04220
|
恢复 image_provider 单元测试模块
image_provider/mod.rs 重新声明 #[cfg(test)] mod tests,tests.rs 去掉失效的模块包裹并补齐 helper 导入
提取器 extract_image_urls / extract_b64_images 放宽到 pub(crate),parse_reference_image_data_url 调用补 provider 参数
补回 5 个此前被静默跳过的单元测试
|
2026-09-19 13:26:35 +08:00 |
|
k88936
|
0817ea8158
|
补齐审计模型白名单的 GPT Image 2.5 与 nanobanana 模型
auditable_image_model 识别 gpt-image-2.5、gpt-image-2.5-flare-c、gpt-image-2.5-sunburst-c 与 nanobanana2
避免新模型请求的审计 image_model 与错误元数据丢失模型归因
|
2026-09-19 13:25:09 +08:00 |
|
k88936
|
e393a803f2
|
修正 executor 日志与重试错误的 provider 归属
生成 / 编辑路径的 tracing 字段与参考图数量校验错误改用 settings.provider
nanobanana 路径改用 VectorEngine provider
重试辅助函数 retry_image_send_after_delay / retry_image_upstream_status_after_delay 增加 provider 参数
|
2026-09-19 13:23:50 +08:00 |
|
k88936
|
89587c9e9e
|
修正 raw image edit 的 provider 归属
created_raw_image_edit 用 settings.provider 统一驱动审计、日志与错误构造
invalid_request / invalid_input / request_error 增加 provider 参数,不再写死 vector-engine
|
2026-09-19 13:22:20 +08:00 |
|
k88936
|
5cba2dbeb7
|
修正 libcurl 传输错误的 provider 归属
map_curl_error 接收实际 provider,审计、日志与 Request 错误不再写死 vector-engine
executor 生成 / 编辑路径传入 settings.provider,nanobanana 路径传入 VectorEngine
|
2026-09-19 13:20:44 +08:00 |
|
k88936
|
d3407e8910
|
修正预算与图片下载错误的 provider 归属
request_budget_exhausted_error 接收实际 provider,审计、日志与 Request 错误不再写死 vector-engine
download_remote_image / download_images_from_urls / resolve_reference_images / parse_reference_image_data_url 逐层透传 provider
executor 与 raw image edit 调用处传入各自 settings.provider,nanobanana 下载路径传入 VectorEngine
|
2026-09-19 13:19:08 +08:00 |
|
k88936
|
4888a0eb01
|
修正响应解析错误的 provider 归属
parse_json_payload 增加 ImageProvider 参数,ResponseParse 使用实际 provider
共享的 handle_image_response 解析失败时不再把 Tiantoken 响应记成 vector-engine
|
2026-09-19 13:16:25 +08:00 |
|
k88936
|
90b77d6bd0
|
修正共享响应处理的 provider 归属
handle_image_response 与 build_failure_audit 接收实际 provider,不再写死 vector-engine
executor 生成 / 编辑路径传入 settings.provider,nanobanana 路径传入 VectorEngine
budget / curl / raw edit 的审计先沿用原常量,待各自按实际 provider 收口
|
2026-09-19 13:16:03 +08:00 |
|
k88936
|
1c950df116
|
删除已失效的跨模型回退分支
移除 generation / edit 重试路径中恒为 false 的 should_fallback_to_gpt_image_2_c 判断与 record_image_model_fallback 调用
删除为计算该判断而额外调用 handle_image_response 的预解析,避免每次重试都白解析响应并下载图片
删除只断言该函数恒为 false 的单元测试,跨模型不切换已由集成测试覆盖
|
2026-09-19 13:14:23 +08:00 |
|
k88936
|
6c33459b90
|
为 ImageProviderSettings 增加脱敏 Debug 实现
手动实现 Debug 并在其中把 api_key 渲染为 <redacted>
settings() 公开返回该结构体,默认 derive 会让 {:?} 直接打印 provider 凭据
|
2026-09-19 13:09:58 +08:00 |
|
k88936
|
874d061cb9
|
统一 ImageProvider 模型路由使用的 nanobanana 常量
resolve_image_provider 改用 NANOBANANA_2_MODEL 常量匹配 VectorEngine 模型
避免常量更新后路由仍匹配写死的旧模型字符串
|
2026-09-19 13:09:28 +08:00 |
|
k88936
|
fa2b36654b
|
修正 ImageProvider 生成测试的错误命名
将 image_generation_uses_gpt_image_2_without_fallback_on_success 更名为 image_generation_uses_default_generation_model_on_success
测试实际覆盖 GPT Image 2.5 默认模型且跨模型回退已删除,旧名称会误导后续模型迁移
|
2026-09-19 13:09:10 +08:00 |
|
k88936
|
345c9c3a99
|
收敛 ImageProvider 集成测试的模型断言
集成测试改用 GPT_IMAGE_2_5_GENERATION_MODEL / GPT_IMAGE_2_5_EDIT_MODEL 常量拼接断言
避免常量改名后遗留过期的 wire model 字符串断言
|
2026-09-19 13:08:50 +08:00 |
|
k88936
|
99081455ee
|
移除 image_provider transport 冗余 path 属性
去掉 transport 模块上多余的 #[path] 声明,恢复默认模块解析
保持 client / curl 模块导出与人眼可见的目录结构一致
|
2026-09-19 13:07:21 +08:00 |
|
k88936
|
5b1b0ddb9a
|
补齐 GPT Image 2.5 前端回归测试
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 6m51s
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 6m53s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 6m28s
Project CI / Backend tests (pull_request) Failing after 13s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 6m49s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m0s
Project CI / Repository checks (pull_request) Failing after 9s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m56s
Project CI / AI game creator shell web tests (pull_request) Failing after 4m52s
Project CI / Frontend tests (pull_request) Failing after 14m17s
Project CI / Native shell tests (pull_request) Successful in 16m11s
更新模型标签、提交 payload 与固定模型断言
覆盖 gpt-image-2-c 历史恢复及参数回退告警
保留历史 fixture 原值并验证 nanobanana 默认不变
|
2026-09-18 23:31:47 +08:00 |
|
k88936
|
f4315ffd23
|
更新主站 GPT Image 2.5 生成边界
将 GPT 专用新任务与锁定模型切换为 gpt-image-2.5
保留 nanobanana 普通生成默认行为
将历史 gpt-image-2 与 gpt-image-2-c 归一并触发参数回退告警
|
2026-09-18 23:30:48 +08:00 |
|
k88936
|
beb3c99240
|
同步 GPT Image 2.5 契约与工具文档
更新 OpenAPI 与外部编辑器模型说明
补充历史模型兼容解析与参数回退告警约定
将现役 ImageGen 工具脚本切换到 GPT Image 2.5
|
2026-09-18 23:28:45 +08:00 |
|
k88936
|
1574f206a2
|
整理图片 provider 模块层次并拆出 raw edit
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 5m26s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 5m18s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 4m39s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m0s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 4m37s
Project CI / Repository checks (pull_request) Failing after 10s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m28s
Project CI / AI game creator shell web tests (pull_request) Failing after 4m26s
Project CI / Frontend tests (pull_request) Failing after 5m49s
Project CI / Native shell tests (pull_request) Successful in 10m45s
将 raw image edit 提取到独立 raw_image_edit 模块
按 protocol、runtime、transport 目录收拢 image_provider 实现
同步后端架构与 raw edit 技术文档路径
|
2026-09-18 17:45:09 +08:00 |
|
k88936
|
1367e9c04e
|
兼容历史 GPT Image 2-c 提交模型
读取历史 gpt-image-2-c 时按当前 GPT Image 2.5 业务任务处理
保留历史字符串不改写并沿用新的生成与编辑定价路由
|
2026-09-18 16:50:10 +08:00 |
|
k88936
|
b294cbc3db
|
接入 GPT Image 2.5 双 provider 启动路由
启动时分别构造 VectorEngine 与 Tiantoken 图片 client
按生成、编辑和 nanobanana 模型选择具体 provider
迁移 api-server、编辑器 Agent 与 raw edit 调用方
拆分 GPT Image 2.5 生成与编辑定价并隐藏 provider 具体值
|
2026-09-18 16:28:45 +08:00 |
|
k88936
|
c34d24c2c8
|
重构图片 provider 中立执行层
将 platform-image 图片协议从 vector_engine 目录迁移到 image_provider
引入 ImageProviderClient 与 VectorEngine/Tiantoken provider 类型
按 concrete model 白名单拒绝未知模型并移除跨模型回退
|
2026-09-18 16:03:29 +08:00 |
|
k88936
|
0dbc34d13c
|
明确 GPT Image 2.5 provider 边界与路由计划
更新业务模型、具体模型与 provider client 领域术语
记录 Tiantoken/VectorEngine 双 client 启动约束
同步开发运维文档中的图片路由与环境变量要求
|
2026-09-18 16:01:32 +08:00 |
|