Introduction
Leon is a self-hosted personal AI assistant designed to live on your own server. Unlike cloud-based assistants, Leon processes everything locally, keeping your data private. It uses a modular skill system to handle tasks like checking the weather, managing to-do lists, speed-testing your network, and more.
What Leon Does
- Processes natural language commands through a local NLU engine
- Executes modular skills (packages) for various tasks
- Supports voice input via speech-to-text integration
- Responds with text-to-speech for a conversational experience
- Runs entirely on your own hardware with no cloud dependency
Architecture Overview
Leon consists of a Node.js server that handles HTTP/WebSocket communication and a Python skills engine that processes NLU and executes actions. The NLU pipeline classifies user intent and extracts entities, then dispatches to the appropriate skill module. Skills are isolated Python or Node scripts with their own dependencies. A TCP bridge connects the Node.js core with the Python NLU/skills layer.
Self-Hosting & Configuration
- Requires Node.js 20+ and Python 3.11+ on the host machine
- Use the CLI to scaffold and start the server in minutes
- Configure STT (speech-to-text) and TTS providers in settings
- Add or develop custom skill packages for your specific needs
- Deploy with Docker for a containerized self-hosted setup
Key Features
- Fully offline operation with no data leaving your server
- Modular skill system for extensible functionality
- Multi-language NLU with support for English and French
- Voice interaction via integrated STT and TTS engines
- Active development with a roadmap toward LLM-enhanced reasoning
Comparison with Similar Tools
- Home Assistant — focuses on IoT/home automation; Leon targets personal task assistance
- Mycroft — similar concept but project was discontinued; Leon is actively maintained
- Alexa/Siri/Google — cloud-dependent and closed; Leon is private and self-hosted
- OpenAI Assistants — API-dependent; Leon runs entirely locally
- Jan — focuses on LLM chat; Leon emphasizes actionable skills and automation
FAQ
Q: Can Leon work completely offline? A: Yes, it can run fully offline using local NLU models and local TTS/STT engines.
Q: What programming language are skills written in? A: Skills are primarily written in Python, with Node.js support for certain integrations.
Q: Is there a mobile app? A: Leon is accessed via a web interface that works on any device with a browser, including mobile.
Q: Can I add custom skills? A: Yes, the skill SDK allows you to create custom packages with their own NLU training data and action logic.