Local LLM Made Simple - Consumer-friendly AI assistant
Project description
lmapp - Local LLM, Made Simple โก
Your AI assistant, anywhere. No cloud. No telemetry. No subscriptions.
One tool to download. One command to run. Works on any device.
v0.2.6 Now Available! ๐ Web UI + 8 Production Plugins:
- ๐ Web UI - Beautiful GitHub Copilot-style dark theme interface
- ๐ 8 Production Plugins - Auditor, Cache Manager, Document Chatbot, Code Refactoring, Knowledge Base, Translator, Git Flow, Q&A Bot
- ๐ RAG System - Retrieve-Augmented Generation (semantic search of local files)
- ๐ฆ Batch Processing - Process multiple inputs in parallel
- ๐พ Conversation Sessions - Remember multi-turn conversations
- ๐ญ Custom System Prompts - Tailor AI behavior to your needs
- ๐ Enhanced Error Messages - Clear troubleshooting guidance
- โจ๏ธ Command Aliases -
lmapp cfor chat,lmapp mfor models - โ 531 Tests Passing - 100% coverage (259 new v0.2.6 tests)
๐ Quick Start (30 seconds)
Installation
pip install lmapp
lmapp install # Automatically installs and configures Ollama
lmapp chat # Start chatting!
Latest Features (v0.2.4):
# RAG - Search through your own files
lmapp rag index ~/documents # Index all documents
lmapp rag search "Python tips" # Find relevant content
lmapp chat --with-context "Python?" # Use RAG context in conversation
# Batch Processing - Process multiple queries efficiently
lmapp batch create inputs.json # Create batch from file
lmapp batch process job_id # Process batch
lmapp batch results job_id --json # Export results
# Plugins - Extend with custom functionality
lmapp plugin list # See installed plugins
lmapp plugin search "translation" # Find plugins
lmapp plugin install my-plugin # Add plugin to workflow
# Use command aliases for faster workflow (v0.2.3 feature)
lmapp c "What is AI?" # Shortcut for 'lmapp chat'
lmapp m list # Shortcut for 'lmapp models list'
lmapp s new "Python Help" # Create a new conversation session
lmapp config --set-prompt # Customize AI behavior
**Update:**
```bash
pip install --upgrade lmapp
Alternative installations:
# From Source
git clone https://github.com/nabaznyl/lmapp.git && cd lmapp && pip install .
See Installation Guide for more options.
Verify installation:
lmapp --version && lmapp status
โจ What's New in v0.2.6
๐ Web UI (Production Ready)
Start the web UI: lmapp web
Access: http://localhost:8000
Features:
- Dark theme inspired by GitHub Copilot
- Real-time streaming chat with WebSocket support
- Document upload and RAG search
- Plugin installation and management
- Settings panel with model configuration
- Responsive design (desktop + mobile)
Screenshot: [Coming soon]
๐ 8 Production Plugins
Official Plugins (v0.2.6):
- Dependency Auditor - Check Python dependencies for vulnerabilities
- Cache Manager - Optimize and manage cache files
- Document Chatbot - Summarize and Q&A on uploaded documents
- Code Refactoring Assistant - Static analysis and code improvements
- Knowledge Base Builder - Personal knowledge management with auto-tagging
- Translator - Multi-language translation
- Git Flow - Automated Git workflow commands
- Q&A Bot - Generate FAQ from documents
๐ New Documentation
- QUICKSTART.md - 5-minute getting started guide โญ Start here!
- DEPLOYMENT.md - Production deployment (Docker, K8s, nginx)
- API_REFERENCE.md - Complete REST API documentation
- TROUBLESHOOTING.md - Solutions for common issues
- PROJECT_STATUS_v0.2.6.md - Detailed project metrics
๐ v0.2.6 Metrics
- 531 tests passing (100% success rate)
- 12,985 lines of production code
- 6,977 lines of test code
- 8 plugins fully tested
- 17 API endpoints in web UI backend
- Zero regressions from v0.2.4
- Deployment ready (Docker, Kubernetes, Nginx)
๐ Documentation Map
| Document | Purpose |
|---|---|
| QUICKSTART.md | 5-minute setup guide (โญ start here!) |
| DEPLOYMENT.md | Production deployment instructions |
| API_REFERENCE.md | REST API endpoint documentation |
| TROUBLESHOOTING.md | Solutions for common problems |
| README.md | Project overview (you are here) |
| INSTALL.md | Installation methods |
| CONTRIBUTING.md | Developer guidelines |
| CHANGELOG.md | Release history |
| PLUGIN_DEVELOPER_GUIDE.md | Build your own plugins |
โ v0.2.6 Released - Web UI + 8 plugins | Install from PyPI | GitHub Releases
๐ก Who Is This For?
Developers & Power Users
- Want LLM access in your terminal workflow
- Need multi-backend flexibility (Ollama, llamafile)
- Prefer CLI over GUI
- Value privacy and local processing
- Want to understand how it works
Students & Researchers
- Need AI assistance for studying/research
- Want offline-first tool (no internet needed after setup)
- Appreciate well-documented code
- May want to contribute or fork
Professionals (Non-Technical)
- Need AI assistance but value privacy
- Want simple, elegant tool
- Prefer "just works" experience
- Don't want subscriptions or cloud dependencies
Anyone Who Wants Universal Access
- One tool that works on any Linux device
- Download once, use everywhere
- No vendor lock-in
- Open source = you own your data
โจ What Makes lmapp Different?
| Feature | lmapp | ChatGPT | Ollama | LM Studio |
|---|---|---|---|---|
| Setup Time | 30 seconds | 2 minutes | 5 minutes | 10 minutes |
| Privacy | โ 100% Local | โ Cloud | โ Local | โ Local |
| No Subscription | โ Free | โ Paid | โ Free | โ Free |
| Terminal Native | โ Built-in | โ Web | โ ๏ธ Manual | โ GUI only |
| Configuration | โ Simple CLI | โ UI Only | โ ๏ธ Complex | โ ๏ธ Complex |
| Multiple Backends | โ Yes | โ No | โ Single | โ Single |
| Error Recovery | โ Smart | โ Manual | โ ๏ธ Basic | โ ๏ธ Basic |
| Test Coverage | โ 100% | N/A | โ ๏ธ Partial | N/A |
The lmapp advantage: Built specifically for seamless, privacy-first, terminal-native AI access.
๐ฏ Real-World Use Cases
๐จโ๐ป Developer: Quick Code Explanations
$ lmapp chat
You: Explain this async/await in Python
AI: [Detailed explanation with examples]
You: /stats
Stats: 1 message, tinyllama, 0.7ยฐ, 23 seconds
๐ Student: Study Partner
$ lmapp chat
You: Summarize the French Revolution
AI: [Comprehensive summary]
You: Break that down into 3 key points
AI: [Simplified explanation]
๐ผ Professional: Research Assistant
$ lmapp chat
You: Analyze this market trend
AI: [Data-driven analysis]
You: What are the implications?
AI: [Strategic insights]
๐ง SysAdmin: Quick Documentation Lookup
$ lmapp chat
You: How do I configure nginx reverse proxy?
AI: [Step-by-step instructions]
๐ Core Features
๐ง Multi-Backend Support
- Ollama - Full integration, automatic detection
- llamafile - Single-file models support
- Mock - Testing & development mode
- Automatic Selection - Uses what's available
๐ฌ Simple Chat Interface
- Clean terminal UI (no GUI bloat)
- Real-time responses
- Command system:
/help,/stats,/clear,/history,/debug,/exit - Session context preserved
โ๏ธ Easy Configuration
lmapp config set model mistral # Change model
lmapp config set temperature 0.3 # Adjust creativity
lmapp config set debug true # Enable debug
lmapp config show # View all settings
๐ Helpful Statistics
You: /stats
Stats:
Messages: 12
Model: mistral
Temperature: 0.7
Session Duration: 5m 43s
๐ Smart Error Recovery
- Automatic retry on failure
- Falls back to available backends
- Helpful error messages
- Contextual debugging info
๐ Comprehensive Logging
- Auto-rotating logs (kept for 7 days)
- Debug mode for troubleshooting
- Stored in
~/.local/share/lmapp/logs/
๐ Usage
Backend Management
lmapp automatically detects and manages AI backends (Ollama or llamafile):
# Check backend status
lmapp status
# Install and start a backend (automatic detection)
lmapp install
# Start backend service
lmapp start
# Stop backend service
lmapp stop
Supported Backends:
- Ollama (Recommended for 8GB+ RAM) - Fast, efficient, well-maintained
- llamafile (Best for limited RAM) - Single-file, portable, runs anywhere
Start Chat
# Simple chat (uses default backend and model)
lmapp chat
# With specific model
lmapp chat --model tinyllama:latest
# With debug logging
lmapp --debug chat
# Enable debug via environment
LMAPP_DEBUG=1 lmapp chat
Model Management
# List available models
lmapp models list
# Download a specific model (Ollama)
ollama pull tinyllama:latest
ollama pull qwen2.5:0.5b
# For llamafile, models are downloaded automatically on install
Configure
lmapp config show # View all settings
lmapp config set key value # Change a setting
lmapp config validate # Check configuration
lmapp config reset # Reset to defaults
View Logs
tail -f ~/.local/share/lmapp/logs/lmapp.log
๐ System Requirements
Minimum
- OS: Debian, Ubuntu, Linux Mint (any APT-based Linux)
- Python: 3.8 or higher
- RAM: 4GB minimum
- Storage: 5-10GB free space
- Internet: Required for initial setup only
Recommended
- OS: Ubuntu 22.04 LTS or Debian 12
- Python: 3.11+
- RAM: 8GB or more
- Storage: 20GB+ free
- CPU: Modern multi-core preferred
๐ Project Quality
โ What's Included
- 2,627 lines of production code
- 128 tests passing (100% coverage)
- 0 flake8 errors (fully formatted)
- 0 mypy errors (type-safe)
- 1,000+ lines of documentation
- 6 comprehensive guides
- Enterprise-grade logging and recovery
- Automated environment management
โ What's Tested
- โ All backends (Ollama, llamafile, mock)
- โ Chat system (messages, commands, history)
- โ Configuration (persistence, validation)
- โ Error recovery (retries, fallbacks)
- โ CLI interface (all commands)
- โ System checks (diagnostics)
โ Production Ready
- โ Zero critical blockers
- โ Zero security issues
- โ 100% test passing rate
- โ Comprehensive documentation
- โ Professional error messages
๐ Documentation
| I Want To... | Read This |
|---|---|
| Get started in 5 minutes | Contributing Guide |
| Understand configuration | Configuration Guide |
| Troubleshoot issues | Troubleshooting Guide |
| Learn about the code | Architecture Guide |
| Contribute or modify | Contributing Guide |
| See what's next | Roadmap |
๐ Privacy & Security
- 100% Local Processing: Everything runs on your device
- No Cloud: No internet required after initial setup
- No Telemetry: We don't track anything
- No Subscriptions: Completely free, forever
- Open Source: You can review every line of code
- Your Data: You own everything
๐บ๏ธ Roadmap
v0.1.0 โ (Released)
- Multi-backend support
- Terminal chat interface
- Configuration management
- 100% test coverage
- Comprehensive documentation
v0.2.0 (Q2 2026)
- Chat history persistence
- Performance optimization
- LocalAI backend support
- Enhanced error messages
- Optional deployment automation
v0.3.0 (Q3 2026)
- Web UI option (complement to CLI)
- Multi-platform support (Fedora, macOS, Windows)
- Advanced features (RAG, plugins)
v0.4.0+ (Future)
- Mobile/Termux support
- Enterprise features
- Extended ecosystem
๐ค Contributing
Want to help improve lmapp?
- Contributing Guide - For developers who want to contribute code, fix bugs, or improve features
- Code of Conduct - Community standards
- Architecture Guide - Understand the codebase
All contributions welcome: bug fixes, features, documentation, tests, and ideas.
๐ฌ Support
- Found a bug? Open an Issue
- Questions? See Troubleshooting Guide
- Discussions? Use GitHub Discussions
โ๏ธ Troubleshooting
| Issue | Solution |
|---|---|
command not found |
Add ~/.local/bin to $PATH or use pipx install lmapp |
ModuleNotFoundError |
Reinstall: pip install --upgrade lmapp |
| Debian/Ubuntu issues | Use pipx install lmapp instead of pip |
See Troubleshooting Guide for more.
โ FAQ
Q: How do I install?
pip install lmapp
Q: How do I update?
pip install --upgrade lmapp
Q: Can I use commercially?
Yes! MIT License allows it. See LICENSE.
Q: Does it collect data?
No. 100% local, no telemetry.
More questions? See Troubleshooting Guide.
๐ Documentation
๐ License
MIT License - See LICENSE file
This means:
- โ Use commercially
- โ Modify and distribute
- โ Include in closed-source projects
- โ Just include the license
Third-Party Licenses
- Ollama: MIT License
- llamafile: Apache 2.0 License
- Pydantic: MIT License
- Pytest: MIT License
- AI Models: Various (see model documentation)
๐ Built With
- Ollama - LLM management platform
- llamafile - Portable LLM runtime
- Pydantic - Data validation
- Pytest - Testing framework
- Meta, Mistral, and other amazing AI model creators
โญ Show Your Support
If lmapp helps you, please:
- โญ Star this repository
- ๐ Report bugs and suggest features
- ๐ข Share with friends and colleagues
- ๐ค Contribute improvements
- ๐ Share your use cases
๐ Get Started Now
pip install lmapp
lmapp chat
Welcome to the future of local AI. ๐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lmapp-0.2.6.tar.gz.
File metadata
- Download URL: lmapp-0.2.6.tar.gz
- Upload date:
- Size: 154.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36a941f4a10347d4522736e0842a3f4cef8d98a903f3ce4f64d0287b4af090a1
|
|
| MD5 |
e26baac7028503a5c05faadb321e9a53
|
|
| BLAKE2b-256 |
da41e324eb2a24c596dc7beae582f9230922e933bad869e7f357229e6c5437c4
|
Provenance
The following attestation bundles were made for lmapp-0.2.6.tar.gz:
Publisher:
publish.yml on nabaznyl/lmapp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lmapp-0.2.6.tar.gz -
Subject digest:
36a941f4a10347d4522736e0842a3f4cef8d98a903f3ce4f64d0287b4af090a1 - Sigstore transparency entry: 760286881
- Sigstore integration time:
-
Permalink:
nabaznyl/lmapp@1f1bab3f95b888a95be7b750af3986e417de72f1 -
Branch / Tag:
refs/tags/v0.2.6 - Owner: https://github.com/nabaznyl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f1bab3f95b888a95be7b750af3986e417de72f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lmapp-0.2.6-py3-none-any.whl.
File metadata
- Download URL: lmapp-0.2.6-py3-none-any.whl
- Upload date:
- Size: 133.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a51c01f1babbb914d9d19a437c00b95afce674323317a9a4f1e729bbd469feaf
|
|
| MD5 |
a58365a3b896326fa4ab2eea8d72f99e
|
|
| BLAKE2b-256 |
e6be5feeb64c8a962fbf1a36357758c2fc0200ba7286df06d1b2e5375c534905
|
Provenance
The following attestation bundles were made for lmapp-0.2.6-py3-none-any.whl:
Publisher:
publish.yml on nabaznyl/lmapp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lmapp-0.2.6-py3-none-any.whl -
Subject digest:
a51c01f1babbb914d9d19a437c00b95afce674323317a9a4f1e729bbd469feaf - Sigstore transparency entry: 760286882
- Sigstore integration time:
-
Permalink:
nabaznyl/lmapp@1f1bab3f95b888a95be7b750af3986e417de72f1 -
Branch / Tag:
refs/tags/v0.2.6 - Owner: https://github.com/nabaznyl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f1bab3f95b888a95be7b750af3986e417de72f1 -
Trigger Event:
push
-
Statement type: