fix: 全面修复6项问题——Auto模型路由/媒体提示词优化/微信Bot/Token驾驶舱/技能市场清空

1. resolve_auto_model: image/video/audio无显式默认时自动发现启用模型(原返回None→文本模型回退→AI说无法生成)
2. 新增_optimize_media_prompt: 调用文本LLM精炼用户原始输入为AGNES高质量提示词(去除对话噪音+英文优化)
3. detect_media_intent: 扩展关键词覆盖多轮对话模式(做图片/生成个图/画一下/制作视频等)
4. chat.py+im_llm.py: 所有httpx调用补trust_env=False+_proxy_for_url, 规避容器坏代理
5. token_usage.py: 模型名回退链(model表→日志自带的model_name→auto标签), 不再显示unknown
6. skills_admin.py: 新增POST /batch-delete批量删除API(ids空则删全部)
7. 技能市场数据已清空, 用户可重新导入技能
This commit is contained in:
deploy committed 2026-07-15 17:05:00 +08:00
1 parent 4d57987aa5
commit 148e4a21c2
5 files changed
+210 -16

No files matched your search

+14 -1
View File
@@ -77,7 +77,8 @@ def resolve_auto_model(capability: str, db: Session) -> Optional[AIModel]:
根据能力解析平台默认模型:
1. 优先使用后台"按能力默认模型"中配置的值
2. 文本类能力若未单独配置,回退到全局默认模型(is_default)
3. 其余能力(embedding/rerank/asr 等)若未配置则返回 None
3. 媒体类能力(image/video/audio)若未配置,自动发现第一个启用且具备该能力的模型
4. 其余能力(embedding/rerank/asr 等)若未配置则返回 None
"""
data = get_capability_defaults(db)
mid = data.get(capability)
@@ -94,4 +95,16 @@ def resolve_auto_model(capability: str, db: Session) -> Optional[AIModel]:
).first()
if m:
return m
# 媒体类能力(image/video/audio):无显式配置时自动发现任一启用的模型
# 避免用户未在后台配置"能力默认模型"时 Auto 回退到文本模型导致"无法生成图片/视频"
if capability in ("image", "video", "audio"):
from sqlalchemy import text as _text
m = db.query(AIModel).filter(
AIModel.is_enabled == True,
AIModel.capabilities.op("JSON_CONTAINS")(
AIModel.capabilities, f'"{capability}"'
),
).first()
if m:
return m
return None