diff --git a/wwwroot/api/agent_chat.dspy b/wwwroot/api/agent_chat.dspy index 213aaf9..1333e06 100644 --- a/wwwroot/api/agent_chat.dspy +++ b/wwwroot/api/agent_chat.dspy @@ -97,7 +97,12 @@ if action == 'send_message': result = data.get('result', '') yield json.dumps({"content": result + "\n\n"}, ensure_ascii=False) + '\n' elif t == 'reply': - yield json.dumps({"content": data.get('message', '')}, ensure_ascii=False) + '\n' + msg = data.get('message', '') + if isinstance(msg, dict) and msg.get('widgettype'): + # widget JSON:顶层透传,前端 AgentOut 检测 widgettype 渲染(如 /task 的 PopupWindow) + yield json.dumps(msg, ensure_ascii=False) + '\n' + else: + yield json.dumps({"content": msg}, ensure_ascii=False) + '\n' elif t == 'ask_user': yield json.dumps({"content": "❓ " + data.get('message', '')}, ensure_ascii=False) + '\n' elif t == 'confirm':