FlowChat实战:让AI直接重写UI,把聊天框变成实时交互界面
现在的AI聊天产品太死板了,发一段文字,回一段Markdown,顶多渲染个图表,这种交互逻辑其实挺无聊的。如果AI能直接在对话里吐出可运行的代码,并实时把整个界面给改了,那才叫真正的AI Agent。
三、底层技术栈(全量部署在边缘端)
为了保证响应速度,我没用传统的Node.js后端,全部跑在Cloudflare Edge上:
下一篇
物理增强扩散模型实战:用PADM解决卫星异常响应的物理失真问题 →
前阵子在公司内部推行AI工作流的时候,我想到了一个点:为什么不能让AI直接接管前端DOM?于是折腾出了这个FlowChat。它不是在聊怎么写代码,而是直接把HTML/CSS/JS注入到页面里。你跟它说“把界面改成芭比粉”,整个聊天窗口瞬间变色;说“来盘井字棋”,对话框直接变成一个能点击、能对局的游戏界面。
具体怎么实现的,简单分享下技术路径:
一、核心交互逻辑
传统的模式是:模型 → Markdown → 渲染文本。
FlowChat的逻辑是:模型 → 原始HTML/CSS/JS → 浏览器原生模板系统 → 直接注入DOM。
这种流式传输让UI变成了AI的输出结果,而不是固定的外壳。

二、实操场景
- 动态组件: 只要提示词到位,它能直接生成带逻辑的小工具。比如写个贪吃蛇,它直接在气泡里渲染出画布,你直接就能玩,不用复制到本地运行。
- 实时换肤: 通过注入CSS Overrides,AI可以瞬间改变全局样式。从深色模式到某种特定电影风格,响应速度极快。
- 界面接管: 甚至可以把整个页面伪装成维基百科,点击链接其实是在给LLM发指令,LLM再生成新的页面内容替换掉当前视图。
三、底层技术栈(全量部署在边缘端)
为了保证响应速度,我没用传统的Node.js后端,全部跑在Cloudflare Edge上:
- Cloudflare Workers: 处理所有路由、鉴权和LLM流式传输,冷启动极低。
- Cloudflare Durable Objects: 这是关键,利用它的状态存储能力,每个聊天室就是一个独立的状态 actor,自带SQLite数据库和WebSocket连接,保证了多用户实时同步。
// 伪代码:简单的DOM注入逻辑
async function handleAIResponse(stream) {
for await (const chunk of stream) {
if (chunk.type === 'ui_update') {
// 将AI生成的HTML片段直接注入指定容器
document.getElementById('chat-viewport').innerHTML = chunk.content;
// 执行其中包含的JS脚本
eval(chunk.script);
}
}
}
说实话,在公司推这个方案时,产品经理最担心的是稳定性(怕AI把页面搞崩),但实际落地后发现,这种“所见即所得”的提效感远超文字对话。以后我们写内部管理后台,可能直接跟AI说“把这个表格加上筛选功能”,它直接就把UI给改了,省得走一遍需求→开发→测试的死循环。
