最后,React获得了一种与代理进行本地通信的方式。 构建代理用户界面仍然比应该的要困难得多。 你的代理在后端运行。也许是LangGraph、CrewAI或其他什么。 现在你需要: → 将其输出流式传输到前端 → 在UI和代理之间保持状态同步 → 处理用户刷新时的重新连接 → 管理代理生命周期(启动/停止/重置) → 让一切感觉像实时一样 为了解决这个问题,大多数团队最终会编写大量自定义的粘合代码,比如这里的WebSockets,那里状态管理,以及到处手动事件解析。 CopilotKit刚刚发布了v1.50,它正好解决了这个问题。 核心是`useAgent()`,这是一个React钩子,给你一个实时的代理句柄。 例如: ```const { agent } = useAgent({ agentId: "my-agent" });``` 这个钩子: - 将所有代理事件流式传输到你的UI(消息、工具调用、部分输出、状态) - 自动保持对话状态同步 - 将用户输入作为AG-UI事件包装发送 - 与任何支持AG-UI的后端配合使用(基本上现在每个主要框架都支持)...