v2.1.0: 能力路由体系 + 模型管理 + 生图/语音/视频端点 + 大量修复

- 提供商重构: Local Qwen(文本+视觉) / SiliconFlow LLM(文本) / Autodl(文本+视觉) / Autodl Image(生图)
- 能力标签: text/vision/audio_out/audio_in/image_gen/video_gen,模型级可配
- AUTO配置绑定能力: auto/auto-text/auto-vision/auto-image/auto-voice-out/auto-voice-in/auto-video
- 新端点: /v1/images/generations /v1/audio/speech /v1/audio/transcriptions /v1/video/generations
- 模型管理页: 能力切换/增删改/设默认/别名管理
- 修复: 失败切换不再替换用户模型; 熔断冷却后自动恢复; 重试不再白等; embeddings按模型路由
- 修复: 后台模板API路径(/api/admin); 删除v1旧admin目录与双端口混乱
- 修复: run.sh硬编码路径; 死配置RETRY/LOG接线; engine_completions空body防护
- 端口: 16003(16001-16100白名单区间); debug关闭; start.sh部署脚本
This commit is contained in:
2026-08-28 11:41:17 +08:00
parent 693f5edf33
commit 178968ba1a
21 changed files with 2331 additions and 3646 deletions
+163 -31
View File
@@ -4,59 +4,191 @@
"id": "local-qwen",
"name": "Local Qwen",
"priority": 1,
"base_url": "http://192.168.2.5:1234/v1",
"api_key": "sk-lm-fuP5tGU8:Hi7YU87jHyDP6Ay8Tl2j",
"base_url": "http://121.40.164.32:18003/v1",
"api_key": "sk-xxxx",
"models": [
"qwen/qwen3.5-35b-a3b",
"qwen3.5-4b",
"qwen3.5",
"qwen"
{
"name": "unsloth/Qwen3.8-27B-Q6_K",
"capabilities": [
"text",
"vision"
]
},
{
"name": "unsloth/Qwen3.8-27B-Q4_K_M",
"capabilities": [
"text",
"vision"
]
}
],
"default_model": "qwen/qwen3.5-35b-a3b",
"timeout": 120,
"default_model": "unsloth/Qwen3.8-27B-Q6_K",
"capabilities": [
"text",
"vision"
],
"timeout": 180,
"enabled": true
},
{
"id": "siliconflow-deepseek",
"name": "SiliconFlow DeepSeek",
"id": "siliconflow-llm",
"name": "SiliconFlow LLM",
"priority": 2,
"base_url": "https://api.siliconflow.cn/v1",
"api_key": "sk-fhpoexpptvjghpnphtaxbkhjwulzovoqfffbckcfscjmwhcg",
"models": [
"Pro/deepseek-ai/DeepSeek-V3.2",
"deepseek-v3",
"deepseek"
{
"name": "deepseek-ai/DeepSeek-V4-Flash",
"capabilities": [
"text"
]
},
{
"name": "meituan-longcat/LongCat-2.0",
"capabilities": [
"text"
]
}
],
"default_model": "Pro/deepseek-ai/DeepSeek-V3.2",
"timeout": 120,
"default_model": "deepseek-ai/DeepSeek-V4-Flash",
"capabilities": [
"text"
],
"timeout": 180,
"enabled": true
},
{
"id": "autodl",
"name": "Autodl",
"priority": 3,
"base_url": "https://www.autodl.art/api/v1",
"api_key": "F9MBfolzuapqTsD4KmUf9qen720rXvUZ3Sp3IrWiCTukqonx",
"models": [
{
"name": "qwen3.6-plus",
"capabilities": [
"text",
"vision"
]
},
{
"name": "GLM-5.3-flash",
"capabilities": [
"text",
"vision"
]
}
],
"default_model": "GLM-5.3-flash",
"capabilities": [
"text",
"vision"
],
"timeout": 180,
"enabled": true
},
{
"id": "autodl-image",
"name": "Autodl Image",
"priority": 4,
"base_url": "https://www.autodl.art/api/v1",
"api_key": "F9MBfolzuapqTsD4KmUf9qen720rXvUZ3Sp3IrWiCTukqonx",
"models": [
{
"name": "Qwen-Image",
"capabilities": [
"image_gen"
]
}
],
"default_model": "Qwen-Image",
"capabilities": [
"image_gen"
],
"timeout": 180,
"enabled": true
}
],
"model_aliases": {
"auto": "auto",
"qwen": "qwen3.5-4b",
"qwen3.5": "qwen3.5-4b",
"qwen3.5-4b": "qwen3.5-4b",
"deepseek": "Pro/deepseek-ai/DeepSeek-V3.2",
"deepseek-v3": "Pro/deepseek-ai/DeepSeek-V3.2",
"deepseek-v3.2": "Pro/deepseek-ai/DeepSeek-V3.2"
"auto-text": "auto-text",
"auto-vision": "auto-vision",
"auto-image": "auto-image",
"auto-voice-out": "auto-voice-out",
"auto-voice-in": "auto-voice-in",
"auto-video": "auto-video",
"auto-vlm": "auto-vision",
"qwen": "unsloth/Qwen3.8-27B-Q6_K",
"qwen3.8": "unsloth/Qwen3.8-27B-Q6_K",
"local": "unsloth/Qwen3.8-27B-Q6_K",
"deepseek": "deepseek-ai/DeepSeek-V4-Flash",
"deepseek-v4-flash": "deepseek-ai/DeepSeek-V4-Flash",
"longcat": "meituan-longcat/LongCat-2.0",
"glm": "GLM-5.3-flash",
"qwen3.6-plus": "qwen3.6-plus",
"gpt-4": "GLM-5.3-flash"
},
"auto_profiles": {
"auto-vlm": {
"name": "auto-vlm",
"description": "视觉多模态大模型自动版",
"auto": {
"name": "默认Auto",
"description": "文本推理 - 自动选择可用提供商",
"capability": "text",
"providers": [
"local-qwen",
"siliconflow-deepseek"
"*"
],
"strategy": "priority"
},
"auto": {
"name": "auto",
"description": "auto",
"auto-text": {
"name": "文本推理",
"description": "纯文本推理,自动选择文本模型",
"capability": "text",
"providers": [
"local-qwen",
"siliconflow-deepseek"
"*"
],
"strategy": "priority"
},
"auto-vision": {
"name": "视觉能力",
"description": "多模态视觉理解,自动选择视觉模型",
"capability": "vision",
"providers": [
"*"
],
"strategy": "priority"
},
"auto-image": {
"name": "图片生成",
"description": "文生图,自动选择生图模型",
"capability": "image_gen",
"providers": [
"*"
],
"strategy": "priority"
},
"auto-voice-out": {
"name": "语音输出",
"description": "语音合成(TTS),自动选择语音输出模型",
"capability": "audio_out",
"providers": [
"*"
],
"strategy": "priority"
},
"auto-voice-in": {
"name": "语音输入",
"description": "语音识别(ASR),自动选择语音输入模型",
"capability": "audio_in",
"providers": [
"*"
],
"strategy": "priority"
},
"auto-video": {
"name": "视频生成",
"description": "文生视频,自动选择视频生成模型",
"capability": "video_gen",
"providers": [
"*"
],
"strategy": "priority"
}