feat: 完成T-501设置页AI模型管理
- 新增SettingsTab,接入AI模型下拉、新增、删除、详情编辑和保存 - 新增AIModelTestWorker,后台调用appconfig.test_ai_model测试连接 - 密钥输入使用密码框打码,删除保护保持text/image模型类别约束 - 补充GUI测试覆盖模型加载、保存删除和测试连接worker - 同步任务看板、current-state、routes、api和progress
This commit is contained in:
+10
@@ -575,3 +575,13 @@
|
||||
- 细化:取消语义明确为协作式取消,只阻止后续未开始任务,不中断当前正在执行的商品;Tab① 旧标题/旧封面采集已有真机冒烟,未真机闭环的是真实 AI 生成与 Tab③ 在线提交更新。
|
||||
- 变更:更新 `docs/06-tasks.md`、`docs/current-state.md`、`docs/reviews/2026-06-27-T401-T403-acceptance.md`。
|
||||
- 验证:仅文档更新,未运行测试。
|
||||
|
||||
## 【2026-06-27】T-501 Tab⑤ AI 模型管理 UI
|
||||
|
||||
- 状态:DONE
|
||||
- 变更:`app/gui.py` 新增 `SettingsTab`,将⑤设置从空壳替换为 AI 模型 master-detail 管理界面。左侧为模型下拉、新增、删除;右侧为启用、服务商名、类别、api_type、模型ID、网址、密钥、连接超时、保存、测试连接。
|
||||
- 安全:密钥字段使用 `QLineEdit.Password` 打码;模型清单仍写入 gitignore 的 `config/ai_models.json`;删除按钮在当前类别只剩一个模型时禁用,后端继续保证至少有 text/image 各一个启用模型。
|
||||
- Worker:新增 `AIModelTestWorker`,通过后台线程调用 `appconfig.test_ai_model()`,避免在 GUI 主线程发网络请求。
|
||||
- 测试:`tests/test_gui.py` 覆盖 MainWindow 挂载⑤、模型加载与密钥打码、新增/保存/删除、测试连接 worker、`AIModelTestWorker.execute()`。
|
||||
- 文档:`docs/06-tasks.md` 将 T-501 标为 DONE;同步 `docs/routes.md`、`docs/api.md`、`docs/current-state.md`,下一个可领取任务更新为 T-501b。
|
||||
- 验证:`python -m compileall app main.py tests` 通过;`python -m unittest discover -s tests -p test_gui.py` 通过(36 tests);`python -m unittest discover -s tests` 通过(92 tests)。
|
||||
|
||||
Reference in New Issue
Block a user