用途:Vercel AI SDK 用于构建带流式输出的聊天界面,支持工具调用、文件附件和多步推理,覆盖 React 客户端与服务端。
主要能力:客户端 useChat 提供 messages、status、sendMessage、stop、regenerate 等;status 含 ready、submitted、streaming、error。消息采用基于 parts 的 UIMessage 结构,包含 text、file、tool-、reasoning、data- 等部分。服务端用 streamText 生成流式结果,convertToModelMessages 转换消息,并通过 toUIMessageStreamResponse 返回。工具分为服务端工具(含 execute,在 API 路由运行)与客户端工具(省略 execute,通过 onToolCall 与 addToolOutput 处理)。工具状态机含 input-streaming、input-available、approval-requested、approval-responded、output-available、output-error、output-denied。流式协议基于 SSE。支持错误处理、消息重新生成、自定义 DefaultChatTransport、experimental_throttle 性能优化、sendAutomaticallyWhen 自动发送以及类型推断。
使用方式:客户端引入 useChat 并调用 sendMessage(可带 text 与 files);服务端按 convertToModelMessages → streamText → toUIMessageStreamResponse 链路处理。若需持久化,服务端保存前应运行 validateUIMessages 校验。
适用场景:需流式聊天、工具调用闭环、多步工具工作流、文件附件与推理展示的前端与服务端集成。
限制:资料未提供收费、价格、支持平台与效果数据,暂未提供;实际行为取决于所用模型与项目配置。