How karolek13245/zonk-core works
Zonk-Core is an Android app for private on-device AI chat, with optional OpenAI-compatible cloud chat and a model catalog. The main user flow is choosing or downloading a model, chatting, and optionally saving chat history; a separate picture flow supports on-device vision. Settings, appearance, updates, and host-device readings are additional product branches. The README documents these capabilities, but most Kotlin implementation was not sampled, so several internal connections are omitted or shown as unverified; the JNI bridge is the only sampled runtime implementation.
Main entry points: ChatScreen.kt Chat Screen · Backend.kt Cloud Backend · SettingsExtras.kt Appearance and Updates · Theme.kt Theme Rendering
Components 23
Chat and History
- Chat Screen
app/src/main/java/com/example/aiapp/ChatScreen.kt - App Flow
app/src/main/java/com/example/aiapp/MainActivity.kt - Chat History
app/src/main/java/com/example/aiapp/ChatHistoryScreen.kt - Chat Store
app/src/main/java/com/example/aiapp/ChatStore.kt - Code Blocks
app/src/main/java/com/example/aiapp/CodeBlocks.kt - Picture Handling
app/src/main/java/com/example/aiapp/ImageUtils.kt
Models and Inference
- Model Catalog
app/src/main/java/com/example/aiapp/Models.kt - On-device Backend
app/src/main/java/com/example/aiapp/LlamaBackend.kt - Cloud Backend
app/src/main/java/com/example/aiapp/Backend.kt
Settings and Appearance
- Settings
app/src/main/java/com/example/aiapp/SettingsScreen.kt - Appearance and Updates
app/src/main/java/com/example/aiapp/SettingsExtras.kt - Encrypted API Key
app/src/main/java/com/example/aiapp/SecureStore.kt - Theme Rendering
app/src/main/java/com/example/aiapp/Theme.kt - Theme Options
app/src/main/java/com/example/aiapp/AppThemes.kt - Season Timing
app/src/main/java/com/example/aiapp/SeasonMath.kt - Season Effects
app/src/main/java/com/example/aiapp/SeasonOverlay.kt
Device and Updates
- Host Readings
app/src/main/java/com/example/aiapp/HostScreen.kt - Update Check
app/src/main/java/com/example/aiapp/UpdateCheck.kt - Update Dialog
app/src/main/java/com/example/aiapp/UpdateDialog.kt
Native Runtime
- llama.cpp Bridge
app/src/main/cpp/llama-jni.cpp
Other components
- Phone User
- OpenAI-compatible Server
- GitHub Releases
Connections 23
- Phone User → Chat Screen: uses
README.md - Phone User → Model Catalog: downloads models
README.md - Phone User → Settings: configures
README.md - Phone User → Host Readings: views readings
README.md - App Flow → Chat Screen: hosts chat
README.md - Chat Screen → Code Blocks: renders code
README.md - Chat Screen → Picture Handling: prepares pictures
README.md - App Flow → Chat Store: saves chats
- Chat History → Chat Store: reads history
- Chat Screen → On-device Backend: requests replies
- Chat Screen → Cloud Backend: cloud mode
- Cloud Backend → OpenAI-compatible Server: sends requests
- Cloud Backend → Encrypted API Key: uses API key
- Model Catalog → On-device Backend: provides models
- On-device Backend → llama.cpp Bridge: calls JNI
app/src/main/cpp/llama-jni.cpp - Settings → Appearance and Updates: offers options
README.md - Appearance and Updates → Theme Rendering: selects appearance
- Theme Rendering → Theme Options: uses palettes
- Theme Rendering → Season Effects: draws effects
- Season Effects → Season Timing: uses timing
- Appearance and Updates → Update Check: configures checks
- Update Check → GitHub Releases: checks releases
README.md - Update Check → Update Dialog: shows update
README.md