Documentation Index
Fetch the complete documentation index at: https://docs.synheart.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
syni-kotlin is the Android consumer SDK for Syni. Same agent surface as the Flutter sibling and the Swift sibling, idiomatic for Kotlin (suspend calls, Flow<SyniChatEvent> streaming, StateFlow<SyniInstallState> for the install lifecycle).
Platform support
- Android 8.0+ (
minSdk 26) - Kotlin 2.0+ · Java 17 toolchain · AGP 9.0+
- Native runtime ships in-AAR for
arm64-v8a,armeabi-v7a,x86_64,x86
Installation
libsyni_ffi.so per ABI.
Basic usage
Streaming
chatStream returns a Flow<SyniChatEvent> — token-level Delta events followed by exactly one Final carrying the structured response.
Hybrid local / cloud
SyniExecutionMode values: LOCAL_FIRST (default), CLOUD_FIRST, LOCAL_ONLY, CLOUD_ONLY.
Install lifecycle
WireinstallState into your UI to surface progress:
DOWNLOADING_MODEL → VERIFYING_MODEL → LOADING_ENGINE → BINDING_PERSONA.
Where this fits
syni-kotlin is the agent layer — inference, install lifecycle, persona binding, chat orchestration. It does NOT own:
- HSI signal collection (the synheart-core SDK does), or
- the four-authority gate (consent + capability + activation + session; also a host concern).
synheart-core and use SyniModule, which wraps this SDK with those layers. Standalone use of syni-kotlin is fully supported when you don’t need the wider Synheart contract.
Models
Out-of-the-box GGUF models exposed underSyniModels:
qwen25_15bInstructQ4(default, ~1.5 GB)qwen2_05bInstructQ4(~500 MB)gemma3_1bInstructQ4
SyniModelSpec.
API reference
| Surface | Notes |
|---|---|
SyniAgent | Constructed with context + optional installer / cloudConfig. Exposes installState / currentState / isInstalled / hasCloud. |
SyniAgent.install / restoreInstallIfReady / uninstall / dispose | suspend; emit install-state transitions. |
SyniAgent.chat / chatStream | suspend / Flow<SyniChatEvent>. |
SyniInstallState | Sealed class: NotInstalled, Installing(stage, progress), Installed(...), Failed(reason, cause?). |
SyniChatResponse | displayText, message, suggestions, kind (chat / coach / suggestions / unknown). |
SyniSpecPersona | load(context, personaId) — bundled persona JSON. |
SyniModelCatalog | List local + cloud model options; bundled defaults under SyniModelCatalog.bundled. |
SyniCloudConfig | baseUrl, authToken: () -> String?, tenantId, userId. |
SyniExecutionMode | LOCAL_FIRST, CLOUD_FIRST, LOCAL_ONLY, CLOUD_ONLY. |
Related
- Syni overview
- Syni spec
- synheart-core/kotlin — host SDK with
SyniModuleconsent gate