v2.1.1: Auto配置改为模型粒度拖动排序 + 历史缓存复用 + 对话生图

- Auto配置编辑: 粒度从提供商改为具体模型, 原生HTML5拖动排序, 修复已保存模型不显示勾选(字符串/对象混拼bug)
- 历史缓存: 带历史上下文的auto请求按首条消息识别会话, 优先复用上次模型命中上游前缀缓存
  (可配置: prefer_cache_model + cache_ttl_seconds, 系统配置页开关 + /api/admin/routing)
- 对话生图: chat页选 auto-image/Qwen-Image 直接调生图接口并在对话内展示图片
- 修复: Flask模板缓存导致改模板不生效 -> TEMPLATES_AUTO_RELOAD
- 修复: 自动回退/显式有序模型列表路由, 空列表回退提供商能力选择
This commit is contained in:
2026-08-28 12:16:25 +08:00
parent 178968ba1a
commit d387d5ba09
7 changed files with 538 additions and 143 deletions
+39 -7
View File
@@ -131,8 +131,16 @@
"auto_profiles": {
"auto": {
"name": "默认Auto",
"description": "文本推理 - 自动选择可用提供商",
"description": "文本推理 - 按模型列表顺序自动选择",
"capability": "text",
"models": [
"unsloth/Qwen3.8-27B-Q6_K",
"unsloth/Qwen3.8-27B-Q4_K_M",
"deepseek-ai/DeepSeek-V4-Flash",
"meituan-longcat/LongCat-2.0",
"qwen3.6-plus",
"GLM-5.3-flash"
],
"providers": [
"*"
],
@@ -140,8 +148,16 @@
},
"auto-text": {
"name": "文本推理",
"description": "纯文本推理,自动选择文本模型",
"description": "纯文本推理,按模型列表顺序自动选择",
"capability": "text",
"models": [
"unsloth/Qwen3.8-27B-Q6_K",
"unsloth/Qwen3.8-27B-Q4_K_M",
"deepseek-ai/DeepSeek-V4-Flash",
"meituan-longcat/LongCat-2.0",
"qwen3.6-plus",
"GLM-5.3-flash"
],
"providers": [
"*"
],
@@ -149,8 +165,14 @@
},
"auto-vision": {
"name": "视觉能力",
"description": "多模态视觉理解,自动选择视觉模型",
"description": "多模态视觉理解,按模型列表顺序自动选择",
"capability": "vision",
"models": [
"unsloth/Qwen3.8-27B-Q6_K",
"unsloth/Qwen3.8-27B-Q4_K_M",
"qwen3.6-plus",
"GLM-5.3-flash"
],
"providers": [
"*"
],
@@ -158,8 +180,11 @@
},
"auto-image": {
"name": "图片生成",
"description": "文生图,自动选择生图模型",
"description": "文生图,按模型列表顺序自动选择",
"capability": "image_gen",
"models": [
"Qwen-Image"
],
"providers": [
"*"
],
@@ -167,8 +192,9 @@
},
"auto-voice-out": {
"name": "语音输出",
"description": "语音合成(TTS),自动选择语音输出模型",
"description": "语音合成(TTS)按模型列表顺序自动选择",
"capability": "audio_out",
"models": [],
"providers": [
"*"
],
@@ -176,8 +202,9 @@
},
"auto-voice-in": {
"name": "语音输入",
"description": "语音识别(ASR),自动选择语音输入模型",
"description": "语音识别(ASR)按模型列表顺序自动选择",
"capability": "audio_in",
"models": [],
"providers": [
"*"
],
@@ -185,12 +212,17 @@
},
"auto-video": {
"name": "视频生成",
"description": "文生视频,自动选择视频生成模型",
"description": "文生视频,按模型列表顺序自动选择",
"capability": "video_gen",
"models": [],
"providers": [
"*"
],
"strategy": "priority"
}
},
"routing_config": {
"prefer_cache_model": true,
"cache_ttl_seconds": 3600
}
}