对比 · 传输与平台

QORM 对比 AG-UI 与 CopilotKit

AG-UI 标准化了 Agent 与前端之间的事件流。QORM 则彻底消除了这条鸿沟:运行时就是应用,Agent 通过 MCP 实时变更它,人类在同一会话中同步观看。

English version →

AG-UI 与 CopilotKit 是什么

AG-UI 是 CopilotKit 项目推出的开源 Agent 到前端事件与传输协议。它定义了一套类型化的事件流 —— 消息、工具调用、状态增量、生命周期事件 —— 将 Agent 的活动传递到用户界面,让前端无需自研 WebSocket 管线,即可渲染 Agent 的进度、共享状态和生成式 UI。它刻意保持传输无关与可组合:A2UI 或 MCP Apps 等内容格式可以承载于其上(回答“是什么”),而 AG-UI 始终是“如何流动”。

CopilotKit 是围绕 AG-UI 构建的 React 框架:一组 hooks 和组件,让 React 应用订阅这条事件流,并将其变成 copilot 聊天、共享状态和 Agent 渲染的组件。如果你的应用已经是 React 代码库,并希望为其嫁接 Agent 交互能力,这是一个稳妥的选择。

QORM 是什么

QORM(Query · Observe · Render · Mutate)从相反的方向出发:它是一个完整的、Agent 原生的纯 Go 应用平台。应用是语言中立的 JSON —— qorm.json 加上 scenes/actions/ —— 运行时负责实时渲染、将其签名为内容寻址的 ed25519 bundle、通过 OTA 推送更新并支持回滚,并打包到 Web、iOS、Android、桌面端和小程序。

无需搭建事件协议之桥,因为根本不存在鸿沟。Agent 通过 20+ 个 MCP 工具直接与运行中的应用对话:检查 UI 树、查询和设置状态、派发动作、原子化地预览并应用补丁,以及用 qorm measureqorm check 验证渲染几何。人类处于同一会话中 —— SSE 实时同步每一位观察者,qorm_activity 将用户操作流式回传给 Agent,双方始终看到同一个实时应用。

并排对比

维度AG-UI / CopilotKitQORM
定位协议 —— 类型化的 Agent 到前端事件流,外加围绕它的 React 框架平台 —— 面向完整应用的运行时、分发与打包
渲染器由你的 React 应用渲染事件所描述的内容内置:同一个纯 Go 运行时渲染为 HTML/CSS 与原生壳
分发 / OTA不在范围内 —— 按常规方式部署前端内容寻址 bundle、OTA 更新、即时回滚
签名 / 完整性不在范围内每个 bundle 均经 ed25519 签名,激活前完成校验
打包目标React 能运行的地方;原生打包由你负责Web、iOS、Android、桌面、小程序 —— 来自同一份 JSON 应用
人机共享实时会话Agent 状态同步到 UI;模型是事件驱动、由前端中介支持 —— Agent 与人类共享同一个实时运行时;qorm_activity 将用户操作流式传给 Agent
验证能力未定义 —— Agent 无法度量用户实际看到的画面Agent 用 qorm measure / qorm check 验证渲染几何

你该选哪一个?

如果你已有一个 React 应用,想把 Agent 的状态、消息和工具调用接入其中,AG-UI 为传输层提供了干净的标准,CopilotKit 提供了组件 —— 你完全掌控前端,同时也需要自己负责它的渲染、部署与分发。

如果你需要的是完整闭环 —— 一个 Agent 可以直接检查、变更和验证的应用,就在人类正在使用的同一个实时会话里,然后签名、OTA 分发并跨平台打包 —— 这就是一个 Agentic UI 平台,也正是 QORM 的建造目标。两层可以组合:一条 AG-UI 风格的事件流,既可以驱动 React,也同样可以驱动 QORM 运行时。

另请参阅 QORM 对比 Google A2UI 了解生态中的 UI 消息格式一侧,或返回生态概览

试用完整平台

QORM 基于 MIT 许可证开源。一条命令即可脚手架创建应用,然后通过 MCP 用你的 Agent 驱动它。

github.com/qorm/qorm