背景
在 PR #59 的代码审查中发现,代码库中存在多处直接使用 JSON.parse() 的情况,这些调用可能在遇到无效 JSON 时抛出异常,影响系统稳健性。
特别是在以下场景中:
- 处理 LLM 模型返回的 tool_use 参数时(例如
backend/src/api/v1/messages.ts 中的流式响应缓存构建)
- 其他需要解析外部或不可信 JSON 数据的位置
虽然 LLM 提供商通常应返回有效的 JSON,但为了提高系统的容错性,应该在所有 JSON 解析位置添加安全处理。
需要做的工作
系统性地改进代码库中的 JSON 解析:
- 识别所有需要安全解析的
JSON.parse 调用位置
- 实现统一的安全解析模式(try-catch 包裹,并提供合理的回退值)
- 确保解析失败不会中断关键流程(如缓存构建、流式处理等)
相关链接
背景
在 PR #59 的代码审查中发现,代码库中存在多处直接使用
JSON.parse()的情况,这些调用可能在遇到无效 JSON 时抛出异常,影响系统稳健性。特别是在以下场景中:
backend/src/api/v1/messages.ts中的流式响应缓存构建)虽然 LLM 提供商通常应返回有效的 JSON,但为了提高系统的容错性,应该在所有 JSON 解析位置添加安全处理。
需要做的工作
系统性地改进代码库中的 JSON 解析:
JSON.parse调用位置相关链接