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:
+9
-5
@@ -123,10 +123,13 @@
|
||||
|
||||
## ⑤ 设置
|
||||
|
||||
- AI:服务商 / 文本模型 / 图像模型 / API Key(本地明文存,UI 打码,不入日志)。
|
||||
- AI 生成参数:**标题并发数、图片并发数、失败重试次数、分辨率、jpg 质量**。
|
||||
- 本地图片目录(旧封面下载、新封面生成的存放根目录)。
|
||||
- Chrome 路径、默认调试端口 / 端口范围、超时、DB 路径。
|
||||
- AI 模型管理(T-501 已接入):左侧模型下拉 + 新增/删除,右侧详情编辑。
|
||||
- 字段:启用、服务商名、类别(文本/图像)、api_type、模型ID、网址、密钥、连接超时。
|
||||
- 密钥存在 `config/ai_models.json`,本地明文保存;UI 使用密码框打码显示,不进入日志。
|
||||
- 保存复用 `appconfig` 模型清单后端,保持 name 唯一、至少 text/image 各一个模型。
|
||||
- 「测试连接」通过后台 worker 调 `appconfig.test_ai_model()`,不阻塞主线程。
|
||||
- AI 生成参数(T-501b):标题/图片模型角色下拉、标题并发数、图片并发数、失败重试次数、分辨率、jpg 质量。
|
||||
- 路径与端口(T-501b):本地图片目录、Chrome 路径、默认调试端口 / 端口范围、超时、DB 路径。
|
||||
|
||||
## 流程导航
|
||||
|
||||
@@ -153,10 +156,11 @@
|
||||
| `GenerateTab(QWidget)` | ② | 左提示词管理 + 右筛选/任务列表;双击看新旧封面;开始生成/停止/进度已接入 `GenerateWorker` |
|
||||
| `ApplyTab(QWidget)` | ③ | 已生成任务筛选 + 开始更新确认 + 确认后串行更新 + 结果回写与结束汇总 |
|
||||
| `AccountsTab(QWidget)` | ④ | 账号增删改、启动登录、检测登录、生成快捷方式 |
|
||||
| `SettingsTab(QWidget)` | ⑤ | AI/目录/Chrome 配置 |
|
||||
| `SettingsTab(QWidget)` | ⑤ | AI 模型 master-detail 管理;后续接入生成参数、目录、Chrome 配置 |
|
||||
| `TaskTableModel(QAbstractTableModel)` | ①②③ | 任务表格数据模型,供 `QTableView` 使用 |
|
||||
| `BaseWorker(QObject)` | 后台 | 定义 `progress/log/row_updated/failed/finished/cancelled` signals |
|
||||
| `ApplyWorker(BaseWorker)` | ③ | 账号就绪预检、串行调用 `editor.apply_task()`、逐条 `set_applied()`,失败继续 |
|
||||
| `AIModelTestWorker(BaseWorker)` | ⑤ | 后台调用 `appconfig.test_ai_model()` 测试模型连接 |
|
||||
| `WriteBackWorker(BaseWorker)` | ①③ | ①回写旧字段;③回写新标题/新封面/更新状态 |
|
||||
|
||||
> 采集、生成、更新都是耗时操作,使用 `QObject` worker + `QThread`。Worker 不直接操作 QWidget,只通过 signal 通知主线程刷新 UI。
|
||||
|
||||
Reference in New Issue
Block a user