48 lines
4.0 KiB
Markdown
48 lines
4.0 KiB
Markdown
---
|
||
id: T-598
|
||
title: AI工场托管模型档位展示、默认别名与日志口径收口
|
||
phase: 8
|
||
deps: [T-597]
|
||
status: DONE
|
||
created: 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` 全部通过。
|