[Feature]: 模型服务表单缺少「图像生成」分类入口 —— 后端已支持 default_models.image_generation

未關閉 適合新手
#3,279 0 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

@skyfireitdiy 已經在處理了。

開始於 2026年10月16日。

  • #3422 來自 @skyfireitdiy —— 未關閉

評估

難度
2/5
預估耗時
半天
新手友好度
74/100
Issue 類型
功能
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
react, rust, typescript
領域
backend, frontend

研究方向

從 src/web-ui/src/app/scenes/settings/pages/ai/ModelSettingsPage.tsx 開始,閱讀 categoryOptions 清單以及 issue 中提到的類別回退邏輯。追蹤所選類別如何影響預設模型選項,接著檢查 issue 中 Rust 設定型別和驗證相關的參照。完成標準是:表單提供影像生成功能,其模型可以選作該預設欄位的模型,而且儲存操作通過啟動驗證。

由索引模型根據 Issue 內容生成。

描述

Problem / opportunity

桌面版 1.0.3(Windows)的「设置 → AI 与模型 → 模型服务」中,新增/编辑模型时的「模型分类」下拉仅有三个选项:general_chat(文本生成)、multimodal(多模态)、speech_recognition(语音识别)。

因此用户无法在 UI 中创建「图像生成」类模型,也无法为 ai.default_models.image_generation 槽位指派模型——全新配置中该槽位始终为 null,UI 的「默认模型 → 扩展能力模型配置」里对应槽位无法生效。

而配置层(Rust 后端)其实已经为图像生成预留了完整支持:

  • ModelCategory::ImageGeneration 与 ModelCapability::ImageGeneration 枚举均已定义(src/crates/contracts/config-contracts/src/types.rs L780-821)
  • DefaultModelsConfig.image_generation 槽位存在(同文件 L837)
  • 配置规范化对该槽位执行 reconcile_slot(..., ModelCapability::ImageGeneration, MissingSlotPolicy::Preserve)(src/crates/contracts/config-contracts/src/normalization.rs L418-423)
  • 全局校验已包含 default_models.image_generation 的能力校验,要求指向 enabled 且具备 ImageGeneration 能力的模型(src/crates/assembly/core/src/service/config/providers.rs L296-306)
  • 分类到能力的映射已就绪:ModelCategory::ImageGeneration => vec![ModelCapability::ImageGeneration](types.rs 约 L2199)
Proposed behavior

希望在「模型服务」的模型表单「模型分类」下拉中增加「图像生成」(image_generation)选项,使「默认模型 → 扩展能力模型配置」中的「图像生成」槽位可正常指派;或在官方文档中说明图像生成模型的受支持配置方式。

Product surface

Desktop app · AI provider / model adapter · Agent runtime / core

Details, examples, or constraints
  • 环境核对:OpenBitFun Desktop 1.0.3(Windows);源码核对基于 main 分支 commit 18aa544。
  • 前端证据:src/web-ui/src/app/scenes/settings/pages/ai/ModelSettingsPage.tsx L499-506,categoryOptions 硬编码仅含 general_chat / multimodal / speech_recognition 三项;同文件 L833 的分类回落逻辑也只产生这两类。
  • 已安装 1.0.3 的前端产物中 ModelSettingsPage chunk 内 image_generation 字符串出现 0 次,与最新源码一致(非回归,属功能入口未开放)。
  • 验收标准:模型表单可选「图像生成」分类 → 该模型出现在「默认模型 → 扩展能力模型配置 → 图像生成」可选项中 → 保存后 app.json 的 ai.default_models.image_generation 正确写入且通过启动校验。
  • 附带疑问:手动在 app.json 的 ai.models[] 中添加 "category": "image_generation"、"capabilities": ["image_generation"] 的条目并指派 default_models.image_generation,是否为受支持的用法?若可行,建议文档补充说明。
主要語言
Rust
星號
2.3k
分支
236
平均合併
12 小時 24 分鐘
30 天內合併 PR
370

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

GCWing/OpenBitFun 的其他 Issue

查看 GCWing/OpenBitFun 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。