Referência da API
vue-llm
Composables
| Export | Descrição |
|---|---|
useChat(options) | Chat multi-turn com streaming |
useCompletion(options) | Completion de turno único com streaming |
useObject(options) | Saída JSON estruturada com streaming |
usePrompt(template, variables) | Renderização reativa de prompts |
Chat UI (headless)
| Export | Descrição |
|---|---|
usePromptInput(chat, options?) | Enter para enviar, seguro para IME, textarea que cresce sozinha, anexos via seletor, colar e arrastar |
useAutoScroll(options?) | Fica grudado no fim durante o streaming e solta quando o usuário rola para cima |
Middleware
| Export | Descrição |
|---|---|
wrapProvider(provider, middlewares) | Aplica middleware a um provedor |
loggingMiddleware(label?) | Log no console |
headerMiddleware(headers) | Headers HTTP extras |
retryMiddleware(options?) | Retentativas com backoff exponencial |
rateLimitMiddleware(options) | Fila de requisições no cliente |
isRetryableError(error) | Política de retentativa padrão |
Utilitários
| Export | Descrição |
|---|---|
createPrompt(template, options?) | Template de prompt tipado |
createChatPrompt(messages, options?) | Template com várias mensagens |
renderTemplate(template, variables) | Renderização avulsa sem tipos |
createWebStorage(options?) | Adapter para localStorage/sessionStorage |
createMemoryStorage() | Adapter em memória |
fileToDataURL(blob) | Lê um Blob como data URL |
convertFilesToParts(files) | Arquivos → FilePart[] |
LLMAPIError | Classe de erro HTTP |
defineTool(tool) | Ferramenta tipada com execute opcional |
parsePartialJSON(text) | Faz parse de JSON incompleto durante o 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, além dos Use*Options / Use*Return de cada composable.
vue-llm/providers
createOpenAI, createAnthropic, createGoogle, createOllama, createSSEProvider, createWebLLM, isWebGPUSupported.
vue-llm/server
createLLMHandler (com ferramentas no servidor), createProxyProvider, streamToSSE.
vue-llm/devtools
LLMDevtools: plugin do Vue DevTools (requer @vue/devtools-api).
vue-llm/style.css
Estilos dos componentes.
vue-llm/nuxt
vue-llm/components
MessageParts, StreamMarkdown, renderMarkdown, renderInline, escapeHTML.