## 核心改进 ### 🏗️ 架构重构 - 实现ImageModelManager组件分离设计,关注点明确分离 - 重构ModelManager.vue为统一模型管理入口,支持文本/图像双模式 - 采用组件复用和扩展性设计,易于添加新模型类型 ### 🎨 界面优化 - 摒弃5步导航式编辑,改为一体化界面设计 - 优化ImageModelEditModal为单页滚动布局,提升操作效率 - 统一文本和图像模型管理的交互体验和视觉风格 ### 🔌 适配器扩展 - 新增OpenRouter和SiliconFlow图像适配器支持 - 完善AbstractImageProviderAdapter抽象基类设计 - 优化适配器注册表和动态模型发现机制 ### 💻 类型系统 - 完善ImageModelConfig和相关类型定义 - 增强TypeScript类型安全和智能提示 - 优化服务层接口设计和依赖注入架构 ### 🧪 测试覆盖 - 新增图像适配器单元测试和集成测试 - 添加E2E验收测试保证功能完整性 - 增强连接测试和参数验证测试覆盖 ### 📚 文档完善 - 新增图像模型管理架构设计文档 - 添加一体化界面改进方案文档 - 更新项目结构和开发指南 ## 技术特点 - **SOLID原则**:清晰的单一职责和开闭扩展设计 - **组合模式**:ImageModelManager + ModelManager.vue 组合架构 - **响应式设计**:基于Vue 3 Composition API的状态管理 - **依赖注入**:松耦合的服务架构和组件通信 这次重构显著提升了图像模型管理的用户体验和代码可维护性, 为后续音频、视频等多模态功能扩展奠定了坚实基础。
2.0 KiB
2.0 KiB
OpenRouter 适配器参数修正总结
问题识别
通过仔细分析 OpenRouter 文档,发现之前的参数配置不正确:
❌ 错误的参数
max_tokens: 1000- 用于文本生成,不适用于图像生成temperature: 0.7- 用于文本生成,不适用于图像生成outputMimeType: 'image/png'- OpenRouter不支持此参数
✅ 正确的参数
根据文档,OpenRouter图像生成只需要:
modalities: ["image", "text"]- 必需参数,指定输出模式
修正内容
1. 适配器参数定义
parameterDefinitions: [
{
name: 'modalities',
labelKey: 'params.modalities.label',
descriptionKey: 'params.modalities.description',
type: 'string',
defaultValue: '["image", "text"]',
allowedValues: ['["image", "text"]', '["text", "image"]']
}
]
2. 默认参数值
defaultParameterValues: {
modalities: ['image', 'text']
}
3. API请求格式
const payload = {
model: config.modelId,
messages: [...],
// modalities 是唯一必需的图像生成参数
modalities: ['image', 'text']
}
4. 默认配置更新
'image-openrouter-gemini': buildConfig(
'image-openrouter-gemini',
'OpenRouter Gemini 2.5 Flash Image',
'openrouter', // ✅ 修正Provider
'google/gemini-2.5-flash-image-preview',
!!OPENROUTER_API_KEY,
{
apiKey: OPENROUTER_API_KEY,
baseURL: 'https://openrouter.ai/api/v1'
},
{} // ✅ 不需要额外参数
)
测试验证
- ✅ 15个单元测试全部通过
- ✅ 5个默认配置测试全部通过
- ✅ 类型检查无错误
- ✅ API测试结构支持条件执行
关键改进
- 参数简化: 移除了不相关的文本生成参数
- 文档准确: 严格按照OpenRouter官方文档实现
- 配置修正: 修复了Provider ID错误
- 测试更新: 更新测试以匹配新的参数结构
现在OpenRouter适配器完全符合官方API规范!