main
md 125 lines 7.38 KB
Rendered Raw
1 # LocalMind
2
3 **Your AI. Your Device. Your Rules.**
4
5 LocalMind is a premium Flutter mobile application designed to provide a beautiful, fast, and privacy-respecting interface for local LLM servers and cloud providers.
6
7 ![LocalMind Header Image](docs/cover.webp)
8
9 <p align="center">
10 <a href="https://apps.apple.com/us/app/localmind-ollama-lm-studio/id6777025480">
11 <img src="docs/appstore_download_button.svg" width="200" />
12 </a>
13 <a href="https://play.google.com/store/apps/details?id=pro.momin.localmind">
14 <img src="docs/playstore_download_button.webp" width="200" />
15 </a>
16 <a href="https://github.com/abdulmominsakib/localmind/releases">
17 <img src="docs/github_download_button.webp" width="200" />
18 </a>
19 </p>
20
21 ## Vision
22
23 Built for those who value privacy and performance, LocalMind connects directly to your local inference servers like **LM Studio** or **Ollama**, as well as cloud providers like **OpenRouter** or **Requesty**. No middleware, no tracking, and no hidden subscriptions. Just you and your models.
24
25 ## Key Features
26
27 - **On-Device AI Support (iOS & Android)**: Private, fast, and offline. Run powerful GGUF and LiteRT models (Gemma, Qwen, DeepSeek R1) directly on your device via `llamadart` and `flutter_gemma`. No internet connection required.
28 - **Model Context Protocol (MCP)**: Seamlessly connect to local or remote MCP servers. Grant models access to custom tools and integrations (e.g., file access, web APIs, shell actions) with fine-grained global and chat-level toggles.
29 - **Model Manager**: Download curated models or download GGUF models directly from HuggingFace. Manage model files directly within the app.
30 - **Multi-Server Connection**: Connect to Ollama, LM Studio, OpenRouter, Requesty, or any OpenAI-compatible API with real-time server health and speed monitoring.
31 - **Premium Chat Experience**: A polished, Claude/ChatGPT-inspired user interface featuring:
32 - **Streaming Responses**: Real-time SSE support for instant generation.
33 - **Markdown Rendering**: Beautiful rendering of text and code with rich syntax highlighting.
34 - **Expandable Reasoning Logs**: Collapsible, step-by-step visualization of thought processes for reasoning models like DeepSeek R1.
35 - **Edit & Regenerate**: Edit past user prompts to truncate the conversation history and regenerate responses.
36 - **Saved Messages Picker**: Quick-access shortcut in the input bar to store, organize, and reuse prompts or templates.
37 - **Message Variants**: Swipe and navigate through alternative model replies/variations.
38 - **Temporary Chats**: Incognito mode that allows conversations to run in-memory without saving logs to local history.
39 - **Smart Suggested Replies**: Context-aware follow-up prompts to keep conversations going.
40 - **Voice & Audio (STT & TTS)**:
41 - **Speech-to-Text (STT)**: Dictate your prompts directly via native voice input.
42 - **Text-to-Speech (TTS)**: Listen to model responses with custom playback speeds, replay caching, and background play.
43 - **Multimodal & Attachments**: Attach photos, documents, and other files to prompt vision-capable models.
44 - **Persona Management**: Easily switch between specialized AI personas (Code Assistant, Math Tutor, etc.) or create your own with custom system instructions.
45 - **Live Model Swapping**: Swap active models mid-conversation without breaking context or losing chat history.
46 - **Conversation History**: Full-text search through your chats, folder grouping, pinning, and local-only storage.
47 - **Backup & Restore**: Export and import complete backup archives (including chat history, personas, and app settings) locally.
48 - **Deep Customization**:
49 - **Theming**: Premium dark-first interface with full light mode support.
50 - **Chat Parameters**: Fine-tune temperature, top_p, max token limits, and context window size.
51
52 ## Tech Stack
53
54 LocalMind is built with modern, scalable technologies:
55
56 - **Framework**: [Flutter](https://flutter.dev/) (Latest Stable)
57 - **On-Device AI**: `llamadart` + `flutter_gemma` (supporting llama.cpp & LiteRT) for native, high-performance localized inference.
58 - **UI Components**: Shadcn-inspired design system (`shadcn_ui`)
59 - **State Management**: [Riverpod](https://riverpod.dev/) for robust, testable state.
60 - **Local Storage**: [ObjectBox](https://objectbox.io/) (and Hive) for high-performance on-device persistence.
61 - **Networking**: [Dio](https://pub.dev/packages/dio) for optimized REST API handling.
62 - **Rendering**: `gpt_markdown` + `syntax_highlight` for rich content.
63
64 ## Privacy First
65
66 - **Zero Analytics**: We don't track how you use the app.
67 - **Local Storage**: Your conversations are stored only on your device, encrypted via Hive.
68 - **Direct Traffic**: Network requests go directly to _your_ servers. LocalMind never sees your data.
69
70 ## Contributors
71
72 We are incredibly grateful to the developers who have helped build LocalMind:
73
74 <p align="left">
75 <a href="https://github.com/abdulmominsakib">
76 <img src="https://github.com/abdulmominsakib.png?size=100" width="50" height="50" style="border-radius: 50%; margin-right: 4px;" title="Abdul Momin Sakib (abdulmominsakib)" alt="Abdul Momin Sakib"/>
77 </a>
78 <a href="https://github.com/onlypuppy7">
79 <img src="https://github.com/onlypuppy7.png?size=100" width="50" height="50" style="border-radius: 50%; margin-right: 4px;" title="onlypuppy7" alt="onlypuppy7"/>
80 </a>
81 <a href="https://github.com/leo-rnl">
82 <img src="https://github.com/leo-rnl.png?size=100" width="50" height="50" style="border-radius: 50%; margin-right: 4px;" title="Léo Reynal (leo-rnl)" alt="Léo Reynal"/>
83 </a>
84 <a href="https://github.com/dtrknt15">
85 <img src="https://github.com/dtrknt15.png?size=100" width="50" height="50" style="border-radius: 50%; margin-right: 4px;" title="dtrknt15" alt="dtrknt15"/>
86 </a>
87 <a href="https://github.com/NJannasch">
88 <img src="https://github.com/NJannasch.png?size=100" width="50" height="50" style="border-radius: 50%; margin-right: 4px;" title="Nils Jannasch (NJannasch)" alt="Nils Jannasch"/>
89 </a>
90 <a href="https://github.com/ystartgo">
91 <img src="https://github.com/ystartgo.png?size=100" width="50" height="50" style="border-radius: 50%; margin-right: 4px;" title="ystartgo" alt="ystartgo"/>
92 </a>
93 </p>
94
95 ## Roadmap (Future Plans)
96
97 LocalMind is rapidly evolving. Here is what's coming next:
98
99 - [x] **AI Voice (Text-to-Speech)**: Listen to your AI's responses with high-quality TTS.
100 - [x] **Context Smart Replies**: Integrated suggested follow-ups to keep the conversation flowing.
101 - [x] **Multimodal Support**: Attach images and documents for vision-capable models.
102 - [x] **Tablet/Desktop Optimization**: A split-view layout for large-screen productivity.
103 - [x] **Export Options**: Export your chats to Markdown or PDF to share or archive.
104 - [x] **Quick Shortcuts**: OS-level widgets and shortcuts for launching new chats instantly.
105 - [x] **Voice-to-Voice Mode**: Engage in real-time, low-latency spoken conversations with local models.
106 - [x] **S3 Cloud Sync**: End-to-end encrypted cloud sync for settings, custom personas, and chats in your own S3 server.
107
108 ## Getting Started
109
110 ### Prerequisites
111
112 - Flutter SDK (latest stable)
113 - A running local LLM server (e.g., [Ollama](https://ollama.com/) or [LM Studio](https://lmstudio.ai/))
114
115 ### Installation
116
117 1. Clone the repository: `git clone https://github.com/abdulmominsakib/localmind.git`
118 2. Install dependencies: `flutter pub get`
119 3. Run the app: `flutter run`
120
121 ---
122
123 ## License
124
125 LocalMind is open source and available under the MIT License. Contributions are welcome!