Skip to content

SSE (Server-Sent Events) 流式协议

SSE 响应格式

Agent 使用 eventsource-parser 库解析 SSE 流。响应格式遵循 OpenAI 兼容格式:

data: {"choices":[{"delta":{"content":"回答内容片段","reasoning_content":"推理过程"}}]}
data: {"choices":[{"delta":{"content":"更多内容"}}]}
data: {"choices":[{"delta":{"content":"结束"},"finish_reason":"stop"}]}
data: [DONE]

SSE 解析逻辑 (_getSSEData)

javascript
// 每个 SSE data 行解析为:
{
  text: choices[0].delta.content,           // 正式回答内容
  reasonText: choices[0].delta.reasoning_content,  // 推理/思考内容
  reason: choices[0].finish_reason,         // 结束原因
  error: error,                             // 错误信息
  ended: true                               // [DONE] 标记
}

SSE 超时处理

  • 流数据到达间隔超时: 60 秒
  • 超时后发送错误消息: {"error": {"code": 504, "message": "网络异常,请检查网络"}}

SSE 错误码

含义
5951模型负载保护触发
504流超时

命令路由映射 (CHAT_APIS)

Agent 内部将 WebSocket 命令映射到不同的 API 端点和场景:

WebSocket 命令API 端点场景 (scene)流式
CODE:COMPLETEcodeGenerateCOMPLETE_CODE_WITH_CONTEXTYes
TALK:ASKtalkAsk(动态)Yes
TALK:QUESTION_ENHANCEtalkAsk(动态)Yes
TALK:PREDICTtalkAskSync(动态)No
TALK:INTELLIGENTtalkAsk(动态)Yes
SQL:GENERATEgenerateSqlGENERATE_SQLYes
SQL:OPTIMIZEoptimizeSqlOPTIMIZE_SQLYes
SQL:GENERATE_DMgenerateSqlDMGENERATE_SQLNo
SQL:OPTIMIZE_DMoptimizeSqlDMOPTIMIZE_SQLNo
GIT:COMMIT_MESSAGEgenerateCommitMessageGENERATE_COMMIT_MESSAGEYes
GIT:REVIEWreviewREVIEW_CODEYes
TEST:MAKE_CASEtestCaseNo
TEST:MAKE_CASE_JAVAtestCaseNo
TEST:MAKE_CODEtestCodeNo
TEST:OTHERcodeAssistUNIT_TESTYes
DIALOG:REQUESTinlineChatINLINE_CHAT_SELECTEDYes

本项目仅供学习研究,逆向分析内容归原厂商所有。