Skip to content

[BUG][OPT-08] 修复 Studio SSE 错误 JSON 转义及前端静默丢弃 #192

Closed

Description

@Aias00

总览:#180

代码依据

问题与范围

Agent 与 Graph SSE 错误路径使用 String.format 拼接 JSON,仅转义双引号和换行;制表符、回车及部分反斜杠可生成非法 JSON。前端 argi-api.ts 中两处解析对 SyntaxError 直接 continue,错误事件可能被静默吞掉。

验证状态:已按相同转义逻辑进行最小字符串验证,以上输入产生非法 JSON;尚未执行 Java/浏览器端到端复现。

交付与验收

  • 两个 Controller 使用统一错误 DTO 与现有 ObjectMapper 序列化,覆盖正常错误及响应序列化失败路径,保留必要事件兼容性。
  • 前端统一错误解析;损坏的错误事件应显式失败,不能被当作成功结束;明确普通空事件与格式错误的区别。
  • 覆盖引号、反斜杠、Windows 路径、制表符、回车、换行和 Unicode,确保内容正确往返。
  • Agent/Graph SSE 联合测试验证错误可展示、加载状态结束、正常消息不重复;覆盖网络分片边界。
  • 复用已有前端 argi-api.test.mjs;若项目需要提交静态资源,同步构建产物并记录验证。

前端依据:

if (line.trim().startsWith("data:")) {

不扩大为整个 SSE 协议重写。

变更约束

根据具体问题选择局部修复或设计调整。任何破坏性变更需比较兼容方案,说明收益、消费者影响、迁移成本、目标版本及验证方式;不为区别于上游而更改合理设计。

Activity

  1. added a commit that references this issue on Oct 23, 2026
    2ec1a43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions