Skip to main content
为使用 createAgent 创建的代理构建丰富、交互式的前端。这些模式涵盖了从基本消息渲染到高级工作流的所有内容,例如Human in the Loop审批和时间旅行调试。

架构

每个模式都遵循相同的架构:一个 createAgent 后端通过 useStream 钩子将状态流式传输到前端。 在后端,createAgent 生成一个编译后的 LangGraph 图,该图暴露一个流式 API。在前端,useStream 钩子连接到该 API 并提供响应式状态——消息、工具调用、中断、历史记录等——你可以使用任何框架来渲染它们。
import { createAgent } from "langchain";
import { MemorySaver } from "@langchain/langgraph";

const agent = createAgent({
  model: "openai:gpt-5.4",
  tools: [getWeather, searchWeb],
  checkpointer: new MemorySaver(),
});
useStream 可用于 React、Vue、Svelte 和 Angular:
import { useStream } from "@langchain/react"; // React
import { useStream } from "@langchain/vue"; // Vue
import { useStream } from "@langchain/svelte"; // Svelte
import { useStream } from "@langchain/angular"; // Angular

模式

渲染消息和输出

Markdown 消息

解析并渲染流式 Markdown,支持正确的格式和代码高亮。

结构化输出

将类型化的代理响应渲染为自定义 UI 组件,而非纯文本。

推理令牌

在可折叠块中显示模型的思考过程。

生成式 UI

使用 json-render 从自然语言提示渲染 AI 生成的用户界面。

显示代理操作

工具调用

将工具调用显示为丰富、类型安全的 UI 卡片,包含加载和错误状态。

Human in the Loop

暂停代理以供人工审核,支持批准、拒绝和编辑工作流。

管理对话

分支聊天

编辑消息、重新生成响应并导航对话分支。

消息队列

在代理顺序处理消息时,将多条消息加入队列。

高级流式传输

连接与重连流

断开并重新连接到正在运行的代理流,而不会丢失进度。

时间旅行

检查、导航并从对话历史记录中的任何检查点恢复。

集成

useStream 与 UI 无关。可将其用于任何组件库或生成式 UI 框架。

AI Elements

用于 AI 聊天的可组合 shadcn/ui 组件:ConversationMessageToolReasoning

assistant-ui

无头 React 框架,内置线程管理、分支和附件支持。

OpenUI

用于数据丰富的报告和仪表板的生成式 UI 库,使用 openui-lang 组件 DSL。