From d62848ee98edae959babe0deb38e3d5082ea48a3 Mon Sep 17 00:00:00 2001 From: qyyfw Date: Fri, 10 Jul 2026 15:47:03 +0800 Subject: [PATCH] feat(chat): support AGNES image/video models in AI chat - backend _generate_media (images/generations + async videos polling) and frontend MarkdownContent media rendering + model capability badges; nginx proxy_read_timeout raised to 600s for long media generation --- backend/python/app/api/chat.py | 113 +- frontend/src/pages/front/ChatPage.css | 2170 ++++++++++++------------ frontend/src/pages/front/ChatPage.tsx | 2215 +++++++++++++------------ 3 files changed, 2370 insertions(+), 2128 deletions(-) diff --git a/backend/python/app/api/chat.py b/backend/python/app/api/chat.py index 213746d..236217d 100644 --- a/backend/python/app/api/chat.py +++ b/backend/python/app/api/chat.py @@ -12,6 +12,7 @@ import uuid from datetime import datetime, timezone, timedelta import re import json +import asyncio import math import httpx import os @@ -40,6 +41,108 @@ def cst_now(): return datetime.now(CST_TZ) +def _html_escape(s: str) -> str: + return (str(s).replace("&", "&").replace("<", "<").replace(">", ">") + .replace('"', """).replace("'", "'")) + + +async def _generate_media(db, ai_model, prompt: str, user_id: str = None) -> str: + """图像/视频生成模型统一入口:按 capabilities 调用 AGNES 等媒体生成 API。 + 返回可直接在 AI 聊天中渲染的富文本(含 /