SuperAPI AI 工具集

json-render

前端与建站

查看项目

更新于 10-16 03:05

技能介绍

该技能用于在 React 应用中正确渲染 AI SDK v6 的聊天响应,核心是处理 UIMessage 的 parts 数组,而非直接渲染 message.content,否则会出现原始 JSON 或格式错误。

用途:构建聊天界面时,将 text、tool-、reasoning 等 part 类型分别渲染;工具结果以卡片形式展示,而非 JSON.stringify 输出。

主要能力:识别 UIMessage 结构(id、role、parts);处理 part 类型 text、tool-<toolName>、reasoning、step-start;覆盖工具状态 partial-call、call、output-available、approval-requested、approval-responded、output-denied;按已知输出形状渲染结果卡片,提供 items、error 及兜底完成提示。推荐直接使用 AI Elements 组件(Message、Conversation)自动处理全部 part 类型。

使用方式:客户端用 @ai-sdk/react 的 useChat,并传入 DefaultChatTransport({ api: '/api/chat' });用 sendMessage({ text }) 发送,用 status(ready/submitted/streaming)判断加载。服务端用 streamText 与 gateway,注意 await convertToModelMessages(messages),并返回 result.toUIMessageStreamResponse(),可选用 validateUIMessages 校验入参。

常见问题:渲染 message.content 会显示原始 JSON;工具结果用 JSON.stringify 会变成 JSON 块;未 await convertToModelMessages 会报 “Invalid prompt”;误用 toDataStreamResponse() 会导致消息不显示;沿用 v5 的 useChat({ api }) 会失效。

限制:资料未提供该技能的收费、价格、平台支持范围或效果数据;具体实现依赖 AI SDK v6 与 React 环境。