API 参考
vue-llm
组合式函数
| 导出 | 说明 |
|---|---|
useChat(options) | 流式多轮聊天 |
useCompletion(options) | 流式单轮补全 |
useObject(options) | 流式结构化 JSON 输出 |
usePrompt(template, variables) | 响应式提示词渲染 |
聊天界面(无头)
| 导出 | 说明 |
|---|---|
usePromptInput(chat, options?) | 回车发送、兼容输入法、自动增高的 textarea,支持从文件选择器、粘贴和拖放添加附件 |
useAutoScroll(options?) | 流式输出时保持在底部,用户向上滚动时取消固定 |
中间件
| 导出 | 说明 |
|---|---|
wrapProvider(provider, middlewares) | 为提供方应用中间件 |
loggingMiddleware(label?) | 控制台日志 |
headerMiddleware(headers) | 额外的 HTTP 请求头 |
retryMiddleware(options?) | 指数退避重试 |
rateLimitMiddleware(options) | 客户端请求队列 |
isRetryableError(error) | 默认重试策略 |
工具函数
| 导出 | 说明 |
|---|---|
createPrompt(template, options?) | 带类型的提示词模板 |
createChatPrompt(messages, options?) | 多消息模板 |
renderTemplate(template, variables) | 无类型的一次性渲染 |
createWebStorage(options?) | localStorage/sessionStorage 适配器 |
createMemoryStorage() | 内存适配器 |
fileToDataURL(blob) | 将 Blob 读取为 data URL |
convertFilesToParts(files) | 文件 → FilePart[] |
LLMAPIError | HTTP 错误类 |
defineTool(tool) | 带类型的工具,execute 可选 |
parsePartialJSON(text) | 在流式传输过程中解析不完整的 JSON |
类型
UIMessage、UIMessagePart、TextPart、ReasoningPart、ToolCallPart、FilePart、SourcePart、ToolDefinition、ChatTool、ToolCallState、ToolExecutionContext、ToolComponentProps、DeepPartial、ChatStatus、FinishReason、Usage、LLMProvider、ChatRequest、ChatMessage、ContentPart、ChatStreamResult、ChatStreamChunk、ChatResponse、Middleware、ChatHandler、RetryOptions、RateLimitOptions、ChatStorage、WebStorageOptions、FileInput、SendMessageInput、PromptTemplate、ChatPromptTemplate、ChatPromptMessage、PromptOptions、PromptInput、PromptValue、PromptVariables、PromptVariableNames,以及每个组合式函数的 Use*Options / Use*Return。
vue-llm/providers
createOpenAI、createAnthropic、createGoogle、createOllama、createSSEProvider、createWebLLM、isWebGPUSupported。
vue-llm/server
createLLMHandler(含 服务端工具)、createProxyProvider、streamToSSE。
vue-llm/devtools
LLMDevtools:Vue DevTools 插件(需要 @vue/devtools-api)。
vue-llm/style.css
组件样式。
vue-llm/nuxt
vue-llm/components
MessageParts、StreamMarkdown、renderMarkdown、renderInline、escapeHTML。