Local LLM Made Simple - Consumer-friendly AI assistant
Project description
LMAPP
Local LLM CLI โ AI everywhere. Easy, simple, and undeniable.
Online or offline. The future is yours to command.
v0.3.0-beta - Production Ready. Fully Featured. Free.
See Demo & Features for examples and use cases.
๐ Quick Start
Full installation and setup: see QUICKSTART.md. Customize your AI's behavior: see Roles & Workflows Guide.
Everyday commands:
lmapp chat # Start chatting locally
lmapp status # Check backend/model status
lmapp config show # View current configuration
More examples and demos: see DEMO.md.
๐ฏ Features
๐ฌ Chat
$ lmapp chat --model mistral
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Chat with Mistral (Local) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
You: Explain quantum computing in simple terms
AI: Quantum computers use quantum bits (qubits) instead of regular bits.
While regular bits are 0 or 1, qubits can be both at once (superposition).
This lets them solve certain problems exponentially faster...
You: What are the use cases?
AI: Key use cases include:
โข Drug discovery (molecular simulation)
โข Finance (portfolio optimization)
โข Cryptography (breaking encryption)
โข Machine learning (optimization)
๐ RAG (Semantic Search)
$ lmapp rag index ~/my_docs
๐ Indexing documents...
โ Processed: README.md (1,234 tokens)
โ Processed: GUIDE.pdf (5,678 tokens)
โ Processed: NOTES.txt (892 tokens)
โ Index created: 7,804 tokens in 12 documents
$ lmapp rag search "how to optimize python code"
๐ Search Results (3 matches):
1. GUIDE.pdf - Line 45 (score: 0.92)
"Optimization techniques include: list comprehensions,
caching, and using built-in functions instead of loops"
2. NOTES.txt - Line 12 (score: 0.88)
"Profile code with cProfile before optimizing"
3. README.md - Line 89 (score: 0.81)
"Performance tips for production code"
$ lmapp chat --with-context
You: Summarize the best Python optimization tips from my docs
AI: Based on your documents, here are the key optimization tips:
1. Use list comprehensions instead of loops
2. Profile with cProfile before optimizing
3. Leverage built-in functions (map, filter, etc.)
4. Implement caching for expensive operations
๐ฆ Batch Processing
$ lmapp batch create inputs.json
Processing 5 queries in batch...
[โโโโโโโโโโโโโโโโโโโโ] 100% (5/5)
Job created: batch_20250211_143022
Estimated time: 45 seconds
$ lmapp batch results batch_20250211_143022 --json
{
"job_id": "batch_20250211_143022",
"status": "completed",
"results": [
{"input": "Explain AI", "output": "AI is..."},
{"input": "What is ML?", "output": "Machine learning..."},
...
],
"completed_at": "2025-02-11T14:30:47Z"
}
๐ Plugins
$ lmapp plugin list
Available Plugins:
โ translator - Real-time translation (8 languages)
โ summarizer - Extract key points from long text
โ code-reviewer - Analyze code and suggest improvements
โ sql-generator - Write SQL queries from descriptions
โ regex-helper - Build and test regex patterns
โ json-validator - Validate and format JSON
โ git-helper - Explain git commands and operations
โ api-tester - Test REST APIs interactively
$ lmapp plugin install translator
Installing translator plugin...
โ Downloaded (245 KB)
โ Installed successfully
Ready to use: lmapp translate --help
$ lmapp translate --text "Hello World" --to spanish
Translation (Spanish):
"ยกHola Mundo!"
โ๏ธ Configuration
$ lmapp config show
Current Configuration:
Model: mistral (7B)
Temperature: 0.7
Max Tokens: 2048
Context Size: 4096
System Prompt: You are a helpful AI assistant
$ lmapp config set temperature 0.3
โ Configuration updated
$ lmapp config --set-prompt
Enter your custom system prompt:
> You are a Python expert. Help with code, explain concepts clearly.
โ System prompt saved
$ lmapp status
Status Report:
โ Backend: Ollama (running)
โ Model: mistral (7.4B)
โ Memory: 6.2 GB / 16 GB
โ Performance: 45 tokens/sec
๐ก Who Is This For?
Perfect Fit
- Developers - Code explanations, debugging, documentation, CLI workflows
- Students & Researchers - Study partner, research assistance, offline-first
- SysAdmins - Command lookups, automation scripts, system analysis
- Professionals - Writing, analysis, research, note-taking
- Privacy-Conscious Users - Want AI without cloud dependencies
- Anyone who values control over convenience
๐ Basic Usage
# Start chat
lmapp chat
# Use specific model
lmapp chat --model mistral
# Check status
lmapp status
# View configuration
lmapp config show
Supported Backends: Ollama, llamafile (auto-detected). Extensible architecture supports custom backends.
See QUICKSTART.md for complete usage guide.
โ Quality & Features
- ๐งช 587 tests (100% coverage)
- ๐ 100% private (no cloud, no tracking)
- โก Fast & lightweight (<200ms startup)
- ๐ 8 production plugins
- ๐ RAG system (semantic search)
- ๐ฆ Batch processing
- ๐พ Session persistence
- ๐ Web UI (optional)
๐ Privacy & Security
- 100% Local - Everything runs on your device
- No Cloud - No internet after setup
- No Telemetry - Zero tracking
- Open Source - MIT licensed
- Your Data - You own it all
๐บ๏ธ Roadmap
v0.3.0 (Current) - Production ready
v0.4.0+ - Mobile/desktop apps, team features, enterprise tier
๐ค Contributing
Help wanted! See Contributing Guide for code contributions, bug reports, or feature ideas.
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
๐ Documentation Map
| Document | Purpose |
|---|---|
| QUICKSTART.md | 5-minute setup guide โญ Start here |
| docs/installation.md | Installation methods for all platforms |
| docs/CONFIGURATION.md | Configuration, environment, and settings |
| docs/development.md | Developer workflow and tips |
| TROUBLESHOOTING.md | Solutions for common issues |
| SECURITY.md | Security policy and vulnerability reporting |
| CHANGELOG.md | Release history |
| CONTRIBUTING.md | Contribution guidelines |
| CODE_OF_CONDUCT.md | Community standards |
| LICENSE | License terms |
| DEMO.md | Live examples and feature tour |
| API_REFERENCE.md | Lightweight CLI + HTTP API reference |
Additional references:
- docs/ERROR_DATABASE.md - Known errors and fixes
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.3.1.tar.gz.
File metadata
- Download URL: lmapp-0.3.1.tar.gz
- Upload date:
- Size: 169.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a121f39ce9c01496ce8e2cbacbb686bfb0f3a6cfa540baff4f6cf8f0c8b7211
|
|
| MD5 |
ac94d848960d6dbe672982a01c409dd6
|
|
| BLAKE2b-256 |
4a55f12696dfd0cc1fc99c79fc3b2f9f85407fa32762823a6236f786265faa20
|
Provenance
The following attestation bundles were made for lmapp-0.3.1.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.3.1.tar.gz -
Subject digest:
3a121f39ce9c01496ce8e2cbacbb686bfb0f3a6cfa540baff4f6cf8f0c8b7211 - Sigstore transparency entry: 761387111
- Sigstore integration time:
-
Permalink:
nabaznyl/lmapp@01c8f8c96d62c6b796cda0fc2236b91021feb4c3 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/nabaznyl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@01c8f8c96d62c6b796cda0fc2236b91021feb4c3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lmapp-0.3.1-py3-none-any.whl.
File metadata
- Download URL: lmapp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 149.5 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 |
db7ccfe7c5862911abf12030cdf55e49465a1e4c05ec56c885de66c562254bdf
|
|
| MD5 |
01f7a768226cabba6cd5c2d16ee954f9
|
|
| BLAKE2b-256 |
23c1218c187b3897f0b929e4b40672cd95daa9c750c054c04943004aaa2fc908
|
Provenance
The following attestation bundles were made for lmapp-0.3.1-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.3.1-py3-none-any.whl -
Subject digest:
db7ccfe7c5862911abf12030cdf55e49465a1e4c05ec56c885de66c562254bdf - Sigstore transparency entry: 761387112
- Sigstore integration time:
-
Permalink:
nabaznyl/lmapp@01c8f8c96d62c6b796cda0fc2236b91021feb4c3 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/nabaznyl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@01c8f8c96d62c6b796cda0fc2236b91021feb4c3 -
Trigger Event:
push
-
Statement type: