修复AI意图识别的JSON解析问题 找到这段代码(大约在1330-1355行): console.log('AI意图识别:原始响应:', content) // 提取JSON(可能被markdown代码块包裹) let jsonStr = content.trim() const jsonMatch = jsonStr.match(/```(?:json)?\s*(\{[\s\S]*?\})\s*```/) if (jsonMatch) { jsonStr = jsonMatch[1] } const intent = JSON.parse(jsonStr) console.log('AI意图识别:解析结果:', intent) // 验证置信度 if (intent.confidence < 0.6) { console.log('AI意图识别:置信度过低,忽略结果') return null } 替换为: console.log('AI意图识别:原始响应:', content) // 检查是否有内容 if (!content || !content.trim()) { console.log('AI意图识别:响应为空') return null } // 提取JSON let jsonStr = content.trim() // 移除markdown代码块 jsonStr = jsonStr.replace(/```(?:json)?\s*/g, '').replace(/```\s*/g, '') // 提取第一个完整的JSON对象 const jsonMatch2 = jsonStr.match(/\{[\s\S]*?\}/) if (jsonMatch2) { jsonStr = jsonMatch2[0] } console.log('AI意图识别:提取的JSON字符串:', jsonStr.substring(0, 200)) // 解析JSON let intent = null try { intent = JSON.parse(jsonStr) } catch (parseError) { console.error('AI意图识别:JSON解析失败', parseError.message) return null } console.log('AI意图识别:解析结果:', intent) // 验证intent结构 if (!intent || typeof intent !== 'object') { console.log('AI意图识别:intent不是对象') return null } // 验证置信度 const confidence = parseFloat(intent.confidence) if (isNaN(confidence) || confidence < 0.6) { console.log('AI意图识别:置信度过低或无效', confidence) return null } 主要改进: 1. 添加了空内容检查 2. 改进了JSON提取逻辑,使用replace而不是match 3. 添加了try-catch包裹JSON.parse 4. 添加了更详细的错误日志 5. 验证intent对象结构 6. 改进了置信度验证逻辑