fix: 改进错误处理和清理测试代码
## 主要修复 ### 1. JSON 解析错误处理 - 修复所有 Agent 的 LLM 响应解析失败时返回原始内容的问题 - 当 JSON 解析失败时,返回友好的兜底消息而不是原始文本 - 影响文件: customer_service.py, order.py, product.py, aftersale.py ### 2. FAQ 快速路径修复 - 修复 customer_service.py 中变量定义顺序问题 - has_faq_query 在使用前未定义导致 NameError - 添加详细的错误日志记录 ### 3. Chatwoot 集成改进 - 添加响应内容调试日志 - 改进错误处理和日志记录 ### 4. 订单查询优化 - 将订单列表默认返回数量从 10 条改为 5 条 - 统一 MCP 工具层和 Mall Client 层的默认值 ### 5. 代码清理 - 删除所有测试代码和示例文件 - 刋试文件包括: test_*.py, test_*.html, test_*.sh - 删除测试目录: tests/, agent/tests/, agent/examples/ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -350,6 +350,15 @@ async def handle_incoming_message(payload: ChatwootWebhookPayload, cookie_token:
|
||||
if response is None:
|
||||
response = "抱歉,我暂时无法处理您的请求。请稍后重试或联系人工客服。"
|
||||
|
||||
# Log the response content for debugging
|
||||
logger.info(
|
||||
"Preparing to send response to Chatwoot",
|
||||
conversation_id=conversation_id,
|
||||
response_length=len(response) if response else 0,
|
||||
response_preview=response[:200] if response else None,
|
||||
has_response=bool(response)
|
||||
)
|
||||
|
||||
# Create Chatwoot client(已在前面创建,这里不需要再次创建)
|
||||
# chatwoot 已在 try 块之前创建
|
||||
|
||||
@@ -359,6 +368,10 @@ async def handle_incoming_message(payload: ChatwootWebhookPayload, cookie_token:
|
||||
conversation_id=conversation.id,
|
||||
content=response
|
||||
)
|
||||
logger.info(
|
||||
"Response sent to Chatwoot successfully",
|
||||
conversation_id=conversation_id
|
||||
)
|
||||
|
||||
# 关闭 typing status(隐藏"正在输入...")
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user