3 Commits
Author SHA1 Message Date
linshen 95a030ebe0 fix(model): preserve literal strings in Python JSON normalization
Normalize Python-style JSON literals only outside quoted strings.

Preserve values like "False" and escaped literal words inside JSON strings.

Cover mixed string and unquoted literal custom parameter values.
2026-05-13 21:05:46 +08:00
SamCheng0717 1df08bc2e5 fix(model): support JSON custom parameter values
- Parse Python-style JSON literals for custom model parameters

- Add JSON/string format controls for custom parameter inputs

- Add model parameter docs and locale strings
2026-05-13 21:03:26 +08:00
linshen 006565c599 refactor(core): 实现统一参数架构并修复运行时参数丢失问题
## 核心变更

### 🔧 关键Bug修复
- 修复LLM/Image服务运行时自定义参数丢失问题
- prepareRuntimeConfig()现在支持customParamOverrides向后兼容
- 确保用户配置的自定义API头、私有开关等参数不会在运行时丢失

### 🏗️ 统一参数架构
- 新增parameter-schema.ts: 统一参数定义与安全验证
- 新增parameter-utils.ts: 参数合并、验证、拆分工具
- 实现优先级参数合并: requestOverrides > customOverrides > builtInOverrides > defaults
- 安全过滤危险参数键(__proto__, apiKey, secret等)

### 📦 服务层改进
- llm/service.ts: 添加prepareRuntimeConfig()方法支持参数迁移
- image/service.ts: 同步实现参数迁移逻辑
- model/manager.ts: 添加读时迁移和弃用警告
- 所有Adapter统一使用UnifiedParameterDefinition

### 🎨 UI组件更新
- 新增ModelParameterEditor.vue: 统一参数编辑器
- 新增ModelAdvancedSection.vue: 高级参数折叠面板
- 简化TextModelEditModal和ImageModelEditModal逻辑
- 支持类型安全的参数编辑(number, boolean, string, select等)

### ✅ 测试覆盖
- 新增parameter-schema.test.ts: 参数定义验证测试
- 新增parameter-utils.test.ts: 参数工具函数测试
- 新增custom-params-migration.test.ts: 参数迁移全流程测试
- 修复anthropic-adapter和gemini-adapter测试以匹配新架构
- 所有582个测试通过(100%通过率)

## 向后兼容性
- 完全兼容旧格式配置(customParamOverrides独立字段)
- 读时自动迁移,写时清理已弃用字段
- 保留customParamOverrides以防版本回退

## 破坏性变更
- 无(完全向后兼容)

## 文档更新
- advancedParameterDefinitions.ts添加弃用说明
- 标注v3.0弃用,v4.0移除计划
2025-10-12 22:26:58 +08:00