想在OpenClaw的聊天界面里,体验AI一边思考一边“逐字敲出”回复的过程?任务执行步骤一条条实时浮现,代码生成像真人编程一样滚动呈现——而不是等待几秒后突然弹出整段内容。这种“所见即所得”的交互体验,并非魔法,而是依赖流式输出的正确配置。值得注意的是,不同接入通道(Web UI、飞书、Slack)的启用逻辑和潜在坑点各不相同,需要逐一针对性处理。

确认模型后端是否支持流式输出
OpenClaw本身不直接生成文本,它只是一个调度框架。实时流式输出能力完全取决于你所挂载的模型后端是否支持逐块返回——如果后端不支持,无论前端如何开关参数都没有效果。
打开配置文件~/.openclaw/config.yaml,定位到agents.defaults.model.primary字段,检查它的值是否为zhipu/glm-5-turbo、anthropic/claude-opus-4-6或qwen3.5-plus这类已验证支持流式输出的模型标识符。如果使用了fallback备用链,第一个可用的模型必须支持流式,否则系统在降级切换时会自动关闭整个流式通道,且不给出任何提示。
本地CLI类后端(例如claude-cli)默认禁用了流式输出,需要在启动参数中显式添加--stream。否则即使OpenClaw配置了streaming: true,实际输出依然纹丝不动。
全局启用OpenClaw流式开关
这个开关控制所有兼容后端的流式行为,默认处于关闭状态——主要是为了兼容旧版链路。
编辑~/.openclaw/config.yaml,在文件最顶层级添加一行:streaming: true。保存后执行openclaw restart重启服务。发送一条测试消息,例如“列出三个Python调试技巧”,然后观察终端日志或Web UI:如果内容被拆分为多个delta.content片段连续输出,说明全局开关已生效;如果仍然一次性吐出整段内容,则回到上一步,检查后端是否真正支持流式,或者fallback链是否触发了降级。
按通道单独配置流式(以飞书为例)
飞书通道的流式开关独立于全局配置,并且与话题模式互斥——开启流式后,群聊将不再自动创建话题。
方法一:命令行快速配置
执行openclaw config set channels.feishu.streaming true,再运行openclaw gateway restart重启网关服务。
方法二:手动修改配置文件
打开~/.openclaw/openclaw.json,找到channels.feishu对象,在其中添加"streaming": true字段。注意:务必检查逗号是否遗漏,否则JSON解析失败将导致整个飞书通道瘫痪。保存后同样执行openclaw gateway restart。
调优WebSocket推送节奏
Gateway层负责将模型的流式响应通过WebSocket推送到前端。但默认参数会导致文字“卡顿式”出现——例如一次推送128个字符,用户看到的是跳跃的段落,而非自然打字的流畅效果。
第一步:在~/.openclaw/config.yaml中找到gateway.websocket区块。
第二步:添加或修改两个参数:
chunk_size: 16(每帧推送的字符数,设置为8到32之间更贴近真实打字节奏);
flush_interval_ms: 40(强制刷新间隔,单位毫秒。低于20可能触发协议异常,高于100则会明显感觉延迟)。
第三步:保存配置 → 执行openclaw restart → 在飞书对话中输入/stream on验证效果。此时你就能看到文字像真人打字一样一个字符一个字符地向外蹦出了。
