最新版本v1.0.60
useAiChat 数据响应流
@yh-ui/hooks 提供了一套适合 AI 场景的 Headless Hooks。useAiChat 负责消息流、请求生命周期和中止控制,useAiConversations 负责会话列表与元数据管理。
基础请求接管
把你自己的 request 函数注入给 useAiChat,就可以直接把异步请求结果接到聊天 UI 上。
极简接管
流式生成与强制中止
当 request 返回 AsyncGenerator 时,useAiChat 会自动把流式内容拼成连续输出。调用 stop() 时,会同时中止请求与后续渲染。
流式生成与强制中止
会话状态管理
如果你需要做带左侧会话栏的 AI 页面,可以把会话列表单独交给 useAiConversations。
历史会话无头管理
API Reference
useAiChat Options
| 参数 | 说明 | 类型 |
|---|---|---|
initialMessages | 默认消息列表 | AiChatMessage[] |
request | 请求适配器,签名为 (message, history, abortSignal) => AsyncGenerator | Promise<string | Response> | Function |
idGenerator | 自定义消息 ID 生成器 | () => string |
parser | SSE / 流式分块解析器,用于适配不同厂商返回格式 | StreamChunkParser |
useAiChat Returns
| 名称 | 说明 | 类型 |
|---|---|---|
messages | 当前消息列表 | Ref<AiChatMessage[]> |
isGenerating | 是否正在生成 | Ref<boolean> |
sendMessage | 发送消息 | (message: string) => Promise<void> |
stop | 中止当前流式请求 | () => void |
clear | 清空消息 | () => void |
useAiConversations Options
| 参数 | 说明 | 类型 |
|---|---|---|
initialConversations | 初始会话列表 | AiConversation[] |
idGenerator | 自定义会话 ID 生成器 | () => string |
useAiConversations Returns
| 名称 | 说明 | 类型 |
|---|---|---|
conversations | 会话列表 | Ref<AiConversation[]> |
createConversation | 创建会话 | (title?: string) => string |
removeConversation | 删除会话 | (id: string) => void |