A cross-platform application for managing local AI/LLM models. Built with Kotlin Multiplatform and Compose, targeting Android and Desktop (JVM) with a shared codebase.
HerdManager connects to your local Ollama server, allowing you to browse and pull models from the ollama.com registry, view and manage downloaded models, and monitor running models. Features include real-time model status, configurable polling intervals, and persistent settings. The app follows clean MVI architecture with platform-specific optimizations for both Android and Desktop experiences.
- Local Models Management: View, delete, and inspect downloaded models with detailed information including size, quantization level, family, and modification date
- Model Registry: Browse and pull models from ollama.com/library with search functionality, capabilities display, and pull counts for popularity reference
- Running Models: Monitor currently loaded models in real-time with status, memory usage, VRAM consumption, and auto-refresh polling
- Configurable Settings: Customize server URL connection, polling intervals (1-60 seconds), and enable/disable auto-refresh functionality
- Cross-Platform: Native Android and Desktop (JVM) applications with shared codebase, adaptive navigation (bottom bar for mobile, side rail for desktop), and platform-specific optimizations
Build the debug APK:
./gradlew :composeApp:assembleDebugUse the run configuration from your IDE's toolbar to run the app directly.
Run the desktop application:
./gradlew :composeApp:runOr use the run configuration from your IDE's toolbar.
The codebase follows a multiplatform structure:
commonMain/kotlin- Shared code used across all platforms (Android, Desktop)androidMain/kotlin- Android-specific implementations and configurationsjvmMain/kotlin- Desktop/JVM-specific implementations and configurations