Skip to main content

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.

License: MIT PyPI Version Python: 3.9+ Tests: 531/531 Passing Code Quality: Linting 0 errors Type Safety: mypy Clean Status: Production Ready

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 c for chat, lmapp m for 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):

  1. Dependency Auditor - Check Python dependencies for vulnerabilities
  2. Cache Manager - Optimize and manage cache files
  3. Document Chatbot - Summarize and Q&A on uploaded documents
  4. Code Refactoring Assistant - Static analysis and code improvements
  5. Knowledge Base Builder - Personal knowledge management with auto-tagging
  6. Translator - Multi-language translation
  7. Git Flow - Automated Git workflow commands
  8. Q&A Bot - Generate FAQ from documents

๐Ÿ“š New Documentation

๐Ÿš€ 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?

All contributions welcome: bug fixes, features, documentation, tests, and ideas.


๐Ÿ’ฌ Support


โš™๏ธ 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lmapp-0.2.6.tar.gz (154.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lmapp-0.2.6-py3-none-any.whl (133.6 kB view details)

Uploaded Python 3

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

Hashes for lmapp-0.2.6.tar.gz
Algorithm Hash digest
SHA256 36a941f4a10347d4522736e0842a3f4cef8d98a903f3ce4f64d0287b4af090a1
MD5 e26baac7028503a5c05faadb321e9a53
BLAKE2b-256 da41e324eb2a24c596dc7beae582f9230922e933bad869e7f357229e6c5437c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for lmapp-0.2.6.tar.gz:

Publisher: publish.yml on nabaznyl/lmapp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for lmapp-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a51c01f1babbb914d9d19a437c00b95afce674323317a9a4f1e729bbd469feaf
MD5 a58365a3b896326fa4ab2eea8d72f99e
BLAKE2b-256 e6be5feeb64c8a962fbf1a36357758c2fc0200ba7286df06d1b2e5375c534905

See more details on using hashes here.

Provenance

The following attestation bundles were made for lmapp-0.2.6-py3-none-any.whl:

Publisher: publish.yml on nabaznyl/lmapp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page