Files
cmshoppe/docs/tasks/T-598.md
T

48 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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` 全部通过。