为使用 createAgent 创建的代理构建丰富的交互式前端。这些模式涵盖了从基本消息渲染到人工介入审批和时间旅行调试等高级工作流程的所有内容。

架构

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

agent = create_agent(
    model="openai:gpt-5.4",
    tools=[get_weather, search_web],
    checkpointer=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 卡片。

人工介入

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

管理对话

分支聊天

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

消息队列

在代理按顺序处理消息时对多条消息进行排队。

高级流式传输

加入和重新加入流

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

时间旅行

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

集成

useStream 是 UI 无关的。您可以使用任何组件库或生成式 UI 框架。

AI Elements

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

assistant-ui

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

OpenUI

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