Skip to content

多端同步和流式输出

MJ Studio 支持多端实时同步,无论是 AI 对话还是绘图/视频任务,所有操作都会在你的设备间即时同步。

核心特性

多端实时同步

在多个浏览器标签页或设备上登录同一账号时,所有操作会实时同步:

  • 在 A 标签页发送消息,B 标签页会立即看到新消息和 AI 回复
  • 在手机上删除对话,电脑上的对话列表会同步更新
  • 在 A 标签页创建绘图任务,B 标签页会看到任务出现并实时更新状态
  • AI 生成的文字会在所有标签页同步显示(就像多人实时协作文档)

AI 回复流式输出

AI 的回复会实时显示,让你看到生成过程:

  • 即时反馈:发送消息后几秒内就能看到 AI 开始回复
  • 提前阅读:AI 还在生成后半部分时,你就可以开始阅读前面的内容
  • 随时中断:点击停止按钮可随时打断,已生成的内容会保留

刷新不丢失

  • 刷新页面或关闭标签页,后台仍在继续生成
  • 重新打开时会自动显示已生成的内容,然后继续接收后续内容
  • 发送消息后直接关闭浏览器,下次打开就能看到完整回复

任务状态实时更新

创建绘图或视频任务后,状态变化(提交中、处理中、成功、失败)会实时推送,无需手动刷新。


同步的操作

对话模块

操作同步效果
发送消息所有终端显示新消息
AI 生成回复所有终端同步显示流式输出
创建对话所有终端的对话列表添加新对话
删除对话所有终端的对话列表移除该对话
重命名对话所有终端显示新标题
编辑消息所有终端显示修改后的内容
删除消息所有终端移除该消息

绘图/视频任务模块

操作同步效果
创建任务所有终端的任务列表添加新任务
任务状态变化所有终端实时显示最新状态和进度
删除任务所有终端的任务列表移除该任务
恢复任务所有终端的任务列表重新显示该任务
切换模糊状态所有终端同步显示模糊/清晰状态

工作原理

系统采用 Server-Sent Events (SSE) 技术建立长连接。登录后,浏览器会自动与服务器建立连接,任何操作发生时服务器会推送更新到你的所有终端。


消息状态说明

AI 消息有以下几种状态:

状态说明UI 表现
正在创建消息已创建,正在准备发送给 AI加载动画
等待响应请求已发送,等待 AI 首字加载动画
流式输出中AI 正在生成,文字实时显示停止按钮
已完成AI 生成完毕正常显示
已停止用户主动停止生成显示"已中断"标记
生成失败遇到错误(如 API 故障)错误样式

常见问题

Q: 为什么有时候输出很快,有时候很慢?

输出速度取决于 AI 模型的生成速度和服务器负载。

Q: 点击停止后,为什么有时候还会多显示几个字?

停止请求需要发送到服务器再中止 AI 生成,存在网络延迟。

Q: 多端同步时,为什么有时候有几秒延迟?

正常情况下延迟小于 1 秒。如果某端网络较慢或处于休眠状态,可能会有几秒延迟。

Q: 关闭浏览器后,AI 还会继续生成吗?

会的。服务器会独立完成生成过程,下次打开浏览器时就能看到完整回复。


部署注意事项

如果使用 Nginx 反向代理,需要为 SSE 端点禁用缓冲:

nginx
location = /api/events {
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Connection '';
    proxy_buffering off;
    proxy_cache off;
    proxy_read_timeout 86400s;
}

当前限制

  • 单实例部署:目前仅支持单进程部署,多实例需要额外配置
  • 断线不重放:断线重连后不会补发错过的事件,页面刷新即可获取最新状态

MJ-Studio - 多模型 AI 工作台