必须启用OneAPI流式响应开关并确保360智脑渠道勾选“流式支持”,调用时JSON中设"stream": true,前端用SSE解析data:事件流,才能实现逐字打字机效果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在应用中实时看到360智脑的逐字生成效果,比如像聊天界面里文字一个字一个字“打出来”,必须启用流式输出(streaming),而不是等整段响应返回后再渲染。这一步不能靠前端模拟,必须后端真实支持SSE或分块传输。
确认OneAPI已启用流式支持
登录OneAPI管理后台 → 左侧菜单点击「系统设置」 → 找到「流式响应」开关 → 确保状态为「开启」。【关闭状态下所有模型均无法返回stream数据,即使请求带stream=true也无效】
该选项默认开启,但Docker部署时若使用旧版镜像(v1.5.0之前)可能被自动禁用,务必手动核对。
调用时正确设置stream参数
向OneAPI的/v1/chat/completions端点发送POST请求时,在JSON body中必须包含:"stream": true。
错误示例:只在URL加?stream=true或把stream写成字符串"stream": "true"——这两种写法服务端直接忽略,返回完整响应而非流式事件。
正确结构片段:
{<br> "model": "360gpt-pro",<br> "messages": [{"role": "user", "content": "写一首七言绝句"}],<br> "stream": <strong>true</strong><br>}
前端解析SSE事件流
使用fetch API发起请求后,需通过response.body.getReader()读取流,并按event: message格式逐行解析。
关键点:OneAPI返回的是标准SSE(Server-Sent Events),每行以data:开头,末尾带双换行符;不要试图用JSON.parse()直接解析整块响应——会失败。
示例核心逻辑(JavaScript):
const reader = response.body.getReader();<br>while (true) {<br> const { done, value } = await reader.read();<br> if (done) break;<br> const chunk = new TextDecoder().decode(value);<br> const lines = chunk.split('\n');<br> for (const line of lines) {<br> if (line.startsWith('data: ') && line !== 'data: [DONE]') {<br> const jsonStr = line.slice(6).trim();<br> if (jsonStr) {<br> const parsed = JSON.parse(jsonStr);<br> if (parsed.choices?.[0]?.delta?.content) {<br> appendText(parsed.choices[0].delta.content);<br> }<br> }<br> }<br> }<br>}
验证360智脑渠道是否支持流式
进入OneAPI后台 → 「渠道」→ 找到已添加的「360智脑」渠道 → 点击右侧「编辑」→ 检查「流式支持」复选框是否勾选。【未勾选时,即使请求带stream=true,也会退化为普通同步响应】
该选项依赖360智脑官方API实际能力。截至2026年8月,360GPT-Pro、360GPT-S2-V8型号均原生支持流式,但部分旧版模型(如360GPT-V1)不支持,调用时会静默降级。

















