useStream 与 UI 无关。它会返回普通的响应式状态,包括消息、工具调用、加载标志、值和线程元数据,你可以将这些状态连接到所选择的任何视觉层。这些页面展示不同库如何与 LangChain 前端集成,每个库在构建 AI 聊天和生成式 UI 时都有不同理念。

集成

CopilotKit

完整的 AI 聊天运行时,并支持结构化生成式 UI。向 LangGraph 部署添加自定义 CopilotKit 端点,然后在 React 中渲染动态组件树。

AI Elements

基于 shadcn/ui 的可组合 AI 聊天组件。直接加入 ConversationMessageToolReasoning,并将它们连接到 stream.messages

assistant-ui

带完整运行时层的 headless React 框架。通过 useExternalStoreRuntime 适配器将 useStream 桥接到 AssistantRuntimeProvider

OpenUI

生成式 UI 库,让代理可以用声明式组件 DSL 生成完整的交互式仪表板。专为数据丰富、报告式 UI 构建。

选择库

每个库都适配略有不同的集成模型。选择取决于你要构建哪类 UI:
CopilotKitAI Elementsassistant-uiOpenUI
最适合完整聊天运行时加结构化生成式 UI带丰富消息类型的聊天最少设置的完整聊天生成仪表板和报告
UI 风格CopilotKit 聊天外壳 + 自定义消息渲染器可组合 shadcn/ui 组件Headless slots + 默认主题带声明式 DSL 的预构建组件库
自定义自定义后端端点、代理上下文和渲染器直接编辑源文件覆盖组件 slots通过 CSS 自定义属性设置主题
流式 UX运行时管理聊天流,并带结构化助手 payload组件级渐进式渲染内置线程管理Hoisting:外壳立即出现,数据随后填充
工具调用通过 CopilotKit 运行时和自定义渲染器Tool / ToolHeader / ToolOutput通过消息 slots 自定义内联在生成的 UI 中
代理格式结构化助手响应加可选 Markdown任意 stream.messages任意 stream.messages代理输出 openui-lang 文本
这四个库都能很好地配合 LangChain 代理使用,后三个也可以直接连接到 useStream。当你需要更丰富的运行时层,以及一个可以与 LangGraph 部署并存的专用端点时,CopilotKit 尤其有用。