TodayAI

用 AI SDK UI 把流式文本接到聊天界面

按 AI SDK UI Chatbot 指南,把 streamText 接到前端聊天组件。

基于 Vercel AI SDK 整理 · AI SDK UI · 官方资料

Core 的 streamText 解决服务端流;UI 层还要把消息状态接到输入框与气泡列表。

这篇按 Chatbot 文档打通:路由里 streamText,页面用 useChat(或当前等价 hook)消费。

在 Route Handler 里返回 UI message stream

streamText + toUIMessageStreamResponse

typescript
import { streamText } from 'ai';

export async function POST(req: Request) {
  const { messages } = await req.json();

  const result = streamText({
    model: 'openai/gpt-5.6',
    messages,
  });

  return result.toUIMessageStreamResponse();
}

页面消费流式消息

按官方 Chatbot 页面使用 useChat(或文档当前推荐的 hook),把 api 指到上述路由。先确认消息能逐字出现,再加工具调用与附件。

最容易踩的坑

前端一直 pending

确认返回的是 UI message stream 响应,而不是普通 JSON;检查 CORS 与路由路径。

官方资料

Vercel AI SDKChatbot