Guides

AI architecture

Provider abstraction, agent runtime, tools and streaming UI contracts.

SKAIProvider is the boundary between your app and any model backend. Components depend on the interface, so switching provider never changes UI code.

SKAIProvider.kt
interface SKAIProvider {
    suspend fun complete(request: SKAIRequest): SKAIResponse
    fun stream(request: SKAIRequest): Flow<SKAIChunk>
    val capabilities: SKAICapabilities
}

Tools and memory

Register tools as typed functions; the agent runtime handles the call loop, surfaces execution state to SKAILoading, and persists conversation memory through SKMemory.