feat: add cmhub settings panel
This commit is contained in:
+12
-1
@@ -1113,4 +1113,15 @@
|
||||
- 文档:同步 `docs/03-tech-stack.md`、`docs/04-architecture.md`、`docs/api.md`、`docs/06-tasks.md`、`docs/current-state.md`;T-526 标记 DONE,下一步为 T-527。
|
||||
- 测试:`python -m py_compile app\appconfig.py app\ai.py tests\test_appconfig.py tests\test_ai.py` 通过;`python -m unittest discover -s tests -p "test_appconfig.py"` 通过(8 tests);`python -m unittest discover -s tests -p "test_ai.py"` 通过(16 tests);`python -m compileall app main.py` 通过;`python -m unittest discover -s tests` 通过(179 tests)。全量测试仍有本机 PySide6 字体目录提示,不影响结果。
|
||||
- 决策:全新配置和旧配置缺 `ai.backend` 时都保持 `direct`,避免升级后未配置 cmhub 就破坏现有生成;cmhub Key 固定只进 `config/cmhub.json`,不进 `config.json`;T-526 只传出 metadata,GUI 余额/计费提示留给 T-528。
|
||||
- 下一步:T-527 ⑤设置 cmhub 网关面板。
|
||||
- 下一步:T-527 ⑤设置 cmhub 网关面板。
|
||||
## 【2026-07-04】T-527 完成 · ⑤设置 cmhub 网关面板
|
||||
|
||||
- 状态:DONE
|
||||
- 代码:⑤设置页新增 AI 后端选择,`direct` 模式保留现有 `config/ai_models.json` 模型 master-detail 和直连模型测试;`cmhub` 模式显示网关 Base URL、API Key、生文别名、生图别名、刷新别名、测试连接/查余额和余额结果。cmhub Key 单独保存到 `config/cmhub.json`,保存新 Key 时沿用本地明文保存提示,`config.json` 只保存 backend、Base URL、别名、连接超时和余额预检开关。
|
||||
- 别名:`CMHubSettingsWorker` 后台调用 `fetch_cmhub_models()`,⑤设置页首次显示且已配置 Base URL/Key 时自动刷新一次,也可手动点「刷新别名」;按 `operation_type` 拆分生文/生图,过滤 `pricing_status="unpriced"`,下拉展示点数价格和 `requires_image` 提示;网关暂不可达或已存别名不在可用列表时保留已存值,避免保存设置时清空用户配置。
|
||||
- 余额:`app/ai.py` 新增 `fetch_cmhub_balance()` 调 `GET /api/v1/balance`,设置页「测试连接/查余额」复用同一个 worker 拉模型和余额;worker 失败会用本地 Key 脱敏后再上浮错误。
|
||||
- 边界:未改 Shopee/CDP、Excel、DB schema、账号流程;`config/ai_models.json` 在切换 cmhub 时不删除,仍供 direct 模式回退使用。
|
||||
- 测试:`tests/test_ai.py` 覆盖 cmhub 余额 helper;`tests/test_gui.py` 覆盖 `CMHubSettingsWorker` 成功/失败脱敏、设置页 cmhub backend 切换、保存 `config.json` + `config/cmhub.json`、别名过滤与已存值保留。
|
||||
- 文档:`docs/06-tasks.md` 将 T-527 标为 DONE;同步 `docs/current-state.md`,下一步为 T-528。
|
||||
- 验证:`python -m py_compile tests\test_ai.py tests\test_gui.py` 通过;`python -m unittest discover -s tests -p "test_ai.py"` 通过(17 tests);`python -m unittest discover -s tests -p "test_gui.py"` 通过(77 tests);`python -m compileall app main.py` 通过;`python -m unittest discover -s tests` 通过(184 tests);`git diff --check` 无空白错误(仅 LF/CRLF 提示)。全量测试仍有本机 PySide6 字体目录提示,不影响结果。
|
||||
- 下一步:T-528 ②计费错误提示 + 余额展示。
|
||||
Reference in New Issue
Block a user