Local LLM, image&video&music generator, run codex with local models on your phone
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗LLM Hub is an open-source mobile app for on-device LLM chat, image generation, video generation, and music generation, available for both Android and iOS, and now on Windows, macOS and Linux as LLM Hub Desktop. It's optimized for mobile usage (CPU/GPU/NPU acceleration) and supports multiple model formats so you can run powerful models locally and privately.
🌟 Featured: Featured by RunAnywhere on their website — read the LLM Hub iOS Case Study!
LLM Hub Desktop 0.1.2 is out: native apps for Windows, macOS and Linux. Chat with local models, run Claude Code and OpenClaw on them, turn prompts into slides and pages, generate images, video and music, and serve OpenAI and Anthropic compatible APIs to your other apps. No account and no cloud. See the release notes for what's new and checksums.
| Download | For |
|---|---|
| macOS | Mac with Apple silicon, macOS 26 or later. Signed and notarized. |
| Windows x64 | Windows 10 (version 2004) or later on an Intel or AMD PC |
| Windows on Arm | Snapdragon PCs |
| Linux .deb | Ubuntu 24.04 or later, Debian and their derivatives |
| Linux AppImage | Other x64 distributions with GTK 4 and libadwaita 1.4 or later |
The Windows installers aren't code signed yet, so Windows may show "Windows protected your PC": click More info, then Run anyway. To build it yourself, see desktop/README.md.
| Vibe Coder Demo on iOS | Image Generation on Android |
|---|---|
| Vibe Coder using Gemma 4 model on iPhone (HTML preview) | Stable Diffusion image generation on Android |
| AI Agent Termux Command Execution on Android | Music Generation on iOS |
|---|---|
Autonomous AI Agent executing Termux shell commands (ls list files) with live terminal output on Android | On-device music generation with Magenta Realtime 2 on iPhone |
| Tool | Description |
|---|---|
| 💬 Chat | Multi-turn conversations with RAG memory, web search, TTS auto-readout, and multimodal input |
| 🤖 AI Agent | [NEW] Autonomous device agent with function calling, interactive maps, device tools, MCP tools, and Termux terminal command generation on Android |
| 🤖 creAItor | [NEW] Design custom AI personas with specialized system prompts (PCTF) in seconds |
| 💻 Vibe Coder | [NEW] Build apps with live HTML/JS preview; Android also integrates Codex through Termux using your selected local model |
| ✍️ Writing Aid | Summarize, expand, rewrite, improve grammar, or generate code from descriptions |
| 🎨 Image Generator | Create images from text prompts using Stable Diffusion 1.5 with swipeable gallery |
| 🎵 Music Generator | [NEW] Generate music and sound effects locally with SoundGen on Android and Magenta Realtime 2 on iOS, including live playback as music is generated |
| 🔎 Instant Media Search | [NEW] Search photos and videos by description or a reference image on Android and iOS using on-device EmbeddingGemma 2 |
| 🎞️ Video Moment Finder | [NEW] Describe a moment in a video and jump to matching timestamps using visual and audio embeddings on Android and iOS |
| 🔊 Text to Speech & Voice Cloning | Android supports Kokoro, multilingual Supertonic 3 with voice-profile import, and Pocket TTS with on-device voice cloning |
| 🔍 Image Upscale | [NEW] Upscale images up to 4× using AI super-resolution models (RealESRGAN, UltraSharp) with NPU acceleration |
| 🎥 Video Generator | [NEW] Generate videos from text prompts or images: LTX-Video on Android (Snapdragon NPU, Vulkan GPU or CPU), Stable Video Diffusion on iOS |
| 🌍 Translator | Translate text, images (OCR), and audio across 50+ languages - offline |
| 🎙️ Transcriber | Convert speech to text with on-device processing using Whisper models |
The AI Agent turns on-device LLMs into autonomous assistants with device function calling capabilities:
RUN_COMMAND_SERVICE intent interface).stdout/stderr) in a dark monospace terminal UI block.The offline Transcriber feature on Android supports on-device Whisper models for high-accuracy local speech-to-text.
On Android and iOS, Instant Media Search uses EmbeddingGemma 2 to index photos and videos locally, then find matches from a text description or reference image. Video Moment Finder combines video frames and audio from two-second windows so you can search for a scene or event and play the matching moment. Download a compatible EmbeddingGemma 2 model and choose the media to index; search runs on-device.
Enable Codex mode in Vibe Coder's model settings to use the selected on-device model with the Codex app server running in Termux. Codex can inspect project files, edit code and run project commands, with streamed activity and terminal output in the app. This mode requires an ARM64 device running Android 10 or newer and does not require an OpenAI login. Install Termux, allow external app commands, grant LLM Hub permission to run Termux commands, and use the in-app Install Codex action before starting.
The Android Video Generator runs Lightricks LTX-Video 2B 0.9.8 distilled fully on-device, from a text prompt or a starting image, in 8 denoising steps.
The iOS Music Generator supports Live generation with Magenta Realtime 2: hear audio as it is generated while the app writes it to a local file. Enable Unlimited duration to keep generating until you press Stop, or use a fixed duration. Fixed-duration output uses WAV; unlimited sessions use CAF for long recordings.
Quick Start
Technology
Acknowledgments
Development Setup
git clone https://github.com/timmyy123/LLM-Hub.git
cd LLM-Hub/android
./gradlew assembleDebug
./gradlew installDebug
To use private or gated models, add your HuggingFace tokens to android/local.properties (do NOT commit this file):
HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HF_TOKEN_FALLBACK=hf_yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Save and sync Gradle in Android Studio; the app reads BuildConfig.HF_TOKEN and BuildConfig.HF_TOKEN_FALLBACK at build time. HF_TOKEN is used first; the fallback takes over once Hugging Face rejects it (expired or revoked). On iOS, set the same two keys in ios/LLMHub/Secrets.*.xcconfig (copy the .template files).
To skip ads and unlock all premium features locally without a real IAP purchase, add this to android/local.properties:
DEBUG_PREMIUM=true
Set it back to false before making a production build.
Some models on HuggingFace (especially from Google and Meta) require explicit license acceptance before downloading. When building the app locally:
local.properties (see above)Note: This is only required for local development builds. The Play Store version uses different authentication and does not require manual license acceptance for each model.
git clone https://github.com/timmyy123/LLM-Hub.git
cd LLM-Hub
open ios/LLMHub/LLMHub.xcodeproj
com.yourname.llmhub)If your phone is on a newer iOS build and requires Xcode beta support, switch CLI tools:
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
xcodebuild -version
TTS falls back to a robotic default voice after changing Siri voices
iOS can get into a state where the system TTS voice cache doesn't update after a Siri voice change, causing the app to fall back to the old default voice. To fix:
This forces iOS to refresh the voice selection and the app will use the correct voice immediately.
rm -rf ~/Library/Developer/Xcode/DerivedData/LLMHub-*
Cmd+9)Cmd+Shift+Y)Contributing
License
Support
Notes
ModelData.kt for exact model variants, sizes, and format details.| 🛡️ Scam Detector | Analyze messages and images for phishing with risk assessment |
| 🗣️ VibeVoice | [NEW] Hands-free AI voice chat |