diff --git a/agent/deep_assistant.py b/agent/deep_assistant.py index e51bdde..048165b 100644 --- a/agent/deep_assistant.py +++ b/agent/deep_assistant.py @@ -102,11 +102,8 @@ async def get_tools_from_mcp(mcp): logger.info(f"get_tools_from_mcp: loaded {len(mcp_tools)} tools, elapsed: {time.time() - start_time:.3f}s") return mcp_tools except Exception as e: - import traceback - error_details = traceback.format_exc() # 发生异常时返回空列表,避免上层调用报错 - logger.error(f"get_tools_from_mcp: error {str(e)}, elapsed: {time.time() - start_time:.3f}s") - logger.error(f"Full traceback: {error_details}") + logger.error(f"get_tools_from_mcp: error {e}, elapsed: {time.time() - start_time:.3f}s") return [] async def init_agent(config: AgentConfig): @@ -142,12 +139,8 @@ async def init_agent(config: AgentConfig): config.mcp_settings = system_prompt # 获取 mcp_tools(缓存逻辑已内置到 get_tools_from_mcp 中) - try: - mcp_tools = await get_tools_from_mcp(mcp_settings) - logger.info(f"Successfully loaded {len(mcp_tools)} MCP tools") - except Exception as e: - logger.error(f"Failed to load MCP tools: {str(e)}, using empty tool list") - mcp_tools = [] + mcp_tools = await get_tools_from_mcp(mcp_settings) + logger.info(f"Loaded {len(mcp_tools)} MCP tools") # 检测或使用指定的提供商 model_provider, base_url = detect_provider(config.model_name, config.model_server) diff --git a/routes/chat.py b/routes/chat.py index 7e80bd5..a9dcb8e 100644 --- a/routes/chat.py +++ b/routes/chat.py @@ -114,21 +114,9 @@ async def enhanced_generate_stream_response( await output_queue.put(("agent_done", None)) except Exception as e: - import traceback - error_details = traceback.format_exc() - logger.error(f"Error in agent task: {str(e)}") - logger.error(f"Full traceback: {error_details}") - + logger.error(f"Error in agent task: {e}") # 发送错误信息给客户端 - error_data = { - "error": { - "message": f"Agent execution failed: {str(e)}", - "type": "agent_error", - "details": error_details if __debug__ else str(e) - } - } - error_chunk = create_stream_chunk(f"chatcmpl-error", config.model_name, json.dumps(error_data, ensure_ascii=False)) - await output_queue.put(("agent", f"data: {json.dumps(error_chunk, ensure_ascii=False)}\n\n")) + await output_queue.put(("agent", f'data: {{"error": "{str(e)}"}}\n\n')) # 发送完成信号,确保输出控制器能正常结束 await output_queue.put(("agent_done", None)) @@ -189,18 +177,8 @@ async def enhanced_generate_stream_response( logger.info(f"Enhanced stream response completed") except Exception as e: - import traceback - error_details = traceback.format_exc() - logger.error(f"Error in enhanced_generate_stream_response: {str(e)}") - logger.error(f"Full traceback: {error_details}") - - error_data = { - "error": { - "message": f"Stream error: {str(e)}", - "type": "internal_error" - } - } - yield f"data: {json.dumps(error_data, ensure_ascii=False)}\n\n" + logger.error(f"Error in enhanced_generate_stream_response: {e}") + yield f'data: {{"error": "{str(e)}"}}\n\n' yield "data: [DONE]\n\n"