1. 项目背景浏览器中 AI 一字一字"打出来"的效果——背后是 Dify 的Event 系统+SSE(Server-Sent Events)协议在协作。Event 系统定义了 20+ 种事件类型:workflow_started(Workflow 开始了)、node_started(某个节点开始执行)、llm_chunk(LLM 输出的一个 Token)、agent_thought(Agent 的思考步骤)、message_end(这条消息结束了)……每种事件携带不同的数据,前端根据事件类型决定 UI 怎么变。SSE是一种基于 HTTP 长连接的单向推送协议。服务端用Content-Type: text/event-stream响应头,然后逐行发送data: {JSON}\n\n。前端用ReadableStream+TextDecoder逐行解析。SSE 比 WebSocket 更简单(纯 HTTP、自动重连),但只支持单向通信。理解这套系统有三个实际价值:自定义前端展示(如添加"正在检索知识库…"的进度提示);扩展事件类型(添加自定义埋点事件上报分析系统);排