Referencia de la API
vue-llm
Composables
| Export | Descripción |
|---|---|
useChat(options) | Chat multiturno con streaming |
useCompletion(options) | Completado de un solo turno con streaming |
useObject(options) | Salida JSON estructurada con streaming |
usePrompt(template, variables) | Renderizado reactivo de prompts |
Chat UI (headless)
| Export | Descripción |
|---|---|
usePromptInput(chat, options?) | Enter para enviar, seguro con IME, textarea que crece sola, adjuntos desde el selector, pegar y soltar |
useAutoScroll(options?) | Se mantiene abajo durante el streaming y se suelta cuando el usuario sube |
Middleware
| Export | Descripción |
|---|---|
wrapProvider(provider, middlewares) | Aplica middleware a un proveedor |
loggingMiddleware(label?) | Logs en consola |
headerMiddleware(headers) | Cabeceras HTTP adicionales |
retryMiddleware(options?) | Reintentos con backoff exponencial |
rateLimitMiddleware(options) | Cola de peticiones en el cliente |
isRetryableError(error) | Política de reintentos por defecto |
Utilidades
| Export | Descripción |
|---|---|
createPrompt(template, options?) | Plantilla de prompt tipada |
createChatPrompt(messages, options?) | Plantilla de varios mensajes |
renderTemplate(template, variables) | Renderizado puntual sin tipos |
createWebStorage(options?) | Adaptador para localStorage/sessionStorage |
createMemoryStorage() | Adaptador en memoria |
fileToDataURL(blob) | Lee un Blob como data URL |
convertFilesToParts(files) | Archivos → FilePart[] |
LLMAPIError | Clase de error HTTP |
defineTool(tool) | Herramienta tipada con execute opcional |
parsePartialJSON(text) | Parsea JSON incompleto mientras llega por streaming |
Tipos
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, además de los Use*Options / Use*Return de cada composable.
vue-llm/providers
createOpenAI, createAnthropic, createGoogle, createOllama, createSSEProvider, createWebLLM, isWebGPUSupported.
vue-llm/server
createLLMHandler (con herramientas de servidor), createProxyProvider, streamToSSE.
vue-llm/devtools
LLMDevtools: plugin de Vue DevTools (requiere @vue/devtools-api).
vue-llm/style.css
Estilos para los componentes.
vue-llm/nuxt
vue-llm/components
MessageParts, StreamMarkdown, renderMarkdown, renderInline, escapeHTML.