Files

4.0 KiB
Raw Permalink Blame History

id, title, phase, deps, status, created
id title phase deps status created
T-598 AI工场托管模型档位展示、默认别名与日志口径收口 8
T-597
DONE 2026-07-11

问题 / 背景

T-597 选出 GPT / OpenAI 托管模型档位后,用户仍不应该看到一堆难理解的 Provider、模型 slug 或接口路径。cmshopee 的产品口径应保持“cmhub 托管模型 + 用途档位 + 点数成本”,执行层仍只保存 cmhub 能力别名。

如果直接把 gpt-5.6-sol、gpt-image-2 等模型名暴露到普通用户界面,会把服务端可调整的模型实现细节固化到客户端,也容易让用户误以为可以本地直连或自填 OpenAI Key。

方案

  • 基于 T-597 的推荐结果,为 AI工场定义托管档位文案:默认/高质量/省点,文案说明只讲用途、质量和成本倾向,不展示 API Key 或内部接口。
  • ⑤设置与 AI工场生成区继续从 cmhub /api/v1/models 读取别名、价格和能力;如 cmhub 返回 display_name/tags/recommended_for 等字段则优先展示,否则用本地文档定义的中文用途说明补充。
  • 持久化仍只保存 ai.cmhub.title_alias / ai.cmhub.image_alias 或 AI工场项目级别选择的 cmhub 别名;不新增 OpenAI 直连配置。
  • 运行日志、状态栏、弹窗统一用用户可读中文:例如“使用 cmhub 托管高质量档,预计扣点 X”,避免暴露完整接口路径、Provider 请求体、上游错误堆栈。
  • 文档同步 docs/04-architecture.md、docs/routes.md、docs/api.md 中 AI工场模型展示与日志口径。

验收要点

  • AI工场和⑤设置页没有 OpenAI Key、Provider URL、direct backend 或“自定义模型”入口;这些仍由 T-596 之后单独实现。
  • 别名下拉或档位提示能让运营理解默认/高质量/省点的差异,并能看到点数或价格提示。
  • DB/config 保存的是 cmhub alias 和必要的档位标识,不保存 OpenAI 原始密钥或直连 URL。
  • 运行日志不出现 cmhub 内部接口路径、OpenAI API 路径、Authorization、Key、完整请求体或超长 prompt。
  • GUI/offscreen 测试覆盖档位文案、别名持久化、日志脱敏;运行 ruff、compileall、unittest、git diff --check。

边界(不改什么)

  • 不接入 BYOK,不新增自定义 Provider,不恢复 direct 普通入口。
  • 不改 cmhub 计费契约,不在客户端写死价格。
  • 不影响② AI生成现有 cmhub 别名配置;AI工场如需项目级别选择,必须与现有配置兼容。

执行记录

2026-07-11 完成:

  • 新增 app/cmhub_models.py,统一 cmhub 托管模型 alias 的中文档位识别与展示文案:默认档 / 高质量档 / 省点档,优先使用 /models 返回的 display_name/tags/recommended_for/tier/prices,缺失时保守兜底。
  • ⑤设置页 cmhub 生文/生图别名下拉改为展示“档位 + 展示名/别名 + 扣点 + 需参考图”,仍只把 alias 写入 ai.cmhub.title_alias/image_alias。
  • ⑥AI工场生成区显示当前使用的 cmhub 托管档位和生图别名;开始生成日志、余额/扣点提示同步使用中文档位口径。
  • AI工场 worker 日志 detail 进一步隐藏 URL 和 /api、/generated/images 等接口/静态路径,避免把上游路径暴露给用户。
  • 同步 docs/04-architecture.md、docs/routes.md、docs/api.md 的模型展示与日志口径。
  • 验证:主工作树 python -m ruff check app tests main.py 通过;py -3.10 -m compileall app main.py 通过;py -3.10 -m unittest discover -s tests -p "test_cmhub_models.py" 通过;py -3.10 指定新增/修改的 3 个 GUI 测试通过;git diff --check 通过。主工作树全量 py -3.10 -m unittest discover -s tests 失败 3 项,均由本任务外的默认封面提示词脏改动导致(期望 papa1,实际未跟踪/删除文件让默认模板显示为 默认 的 mojibake)。已另建干净 worktree 只应用 T-598 diff,python -m ruff check app tests main.py、py -3.10 -m compileall app main.py、py -3.10 -m unittest discover -s tests(375 个测试)、git diff --check 全部通过。