Skip to content

Props reference

All props are optional. When using LumeProvider, props passed directly to AssistantWidget override provider values.


PropTypeDefaultDescription
modelstring'qwen2.5'Ollama model to use
systemPromptstring'You are a helpful assistant.'Persona and instructions for the assistant
contextRecord<string, string | number | boolean | null>Current app state injected into every prompt
knowledgeBaseKnowledgeChunk[][]Documentation chunks for RAG retrieval
actionsAction[][]App functions the assistant can trigger
componentsComponentDefinition[][]React components the assistant can render
accentColorstring'#6366f1'Bubble and send button color
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left''bottom-right'Corner to anchor the widget to
titlestring'Assistant'Label shown in the panel header
debugbooleanfalseShow intent classification badge on each message

interface KnowledgeChunk {
title: string
content: string
}
interface Action {
name: string
description: string
parameters?: Record<string, ActionParameter>
examples?: string[]
handler: (params: Record<string, unknown>) => Promise<void>
}
interface ActionParameter {
type: 'string' | 'number' | 'boolean'
description: string
required?: boolean
}
interface ComponentDefinition {
type: string
description: string
props?: Record<string, ComponentPropDefinition>
examples?: string[]
render: (props: Record<string, unknown>) => React.ReactNode
}
interface ComponentPropDefinition {
type: string
required?: boolean
description: string
}
interface AssistantHandle {
open: () => void
close: () => void
toggle: () => void
pushContext: (note: string) => void
clearHistory: () => void
}
type ConfirmationState =
| { status: 'idle' }
| { status: 'pending'; call: ActionCall; action: Action }
| { status: 'executing'; call: ActionCall; action: Action }
interface Message {
role: 'user' | 'assistant' | 'system'
content: string
intent?: string
componentCall?: {
component: string
props: Record<string, unknown>
}
}