LE

Leon

Open-source personal AI assistant you can self-host

Self-Hosted AI ★ 17.5k stars Medium setup MIT

Leon is an open-source personal assistant that runs on your own server and can perform tasks through skills. It supports speech-to-text and text-to-speech and is designed for privacy and extensibility.

Key features

  • Skill-based extensibility
  • Speech recognition and synthesis
  • Privacy focused
  • Self-hosted assistant

Pros & cons

Strengths

  • Privacy-focused design
  • Offline speech support
  • Extensible skills system

Trade-offs

  • Limited skill library
  • Slow release cadence

Leon replaces

Last reviewed Aug 26, 2026 · 808 words

Leon is a framework for building a personal assistant, not an assistant you install and start talking to. That distinction decides whether you end up happy. Out of the box it understands a modest set of built-in skills; the value arrives when you write your own, in Python or TypeScript, against a well-structured skill API. If you want "Alexa, but private" this afternoon, Home Assistant Assist gets you further with less effort. If you want to own the whole pipeline from microphone to action and shape it yourself, Leon is one of the cleaner places to start.

Skill-based means you are the skill library

A Leon skill is a folder holding a config that declares intents and example utterances, plus the code that runs when an utterance matches. The shipped set covers demo-friendly basics such as timers, small talk and a few utilities. The community library is thin, which the project itself acknowledges, and the release cadence is slow enough that a roadmap item can take a year to land. Treat the built-in skills as examples to copy rather than a catalogue to browse. The good news is that the skill contract is stable and documented, so a skill that calls your own HTTP endpoint, toggles a light through Home Assistant's REST API, or queries a local database is about an hour of work once the first one exists.

2 GB of RAM is the floor and a GPU is optional

The 2 GB minimum is honest for the core plus local speech models. Leon runs as a Node.js server with Python workers for the language and speech parts, which is why it needs both runtimes and why the source install pulls in more than a typical single-binary self-hosted app. It runs on a CPU-only mini PC; recognition with a small local model takes a few seconds per utterance rather than feeling instant, and synthesis is quicker. A GPU trims latency but is not required. Docker is supported, though the documentation and most issue threads assume the source route, so when something breaks you will be debugging a Node and Python environment rather than a container.

git clone https://github.com/leon-ai/leon.git && cd leon
npm install
npm run build
npm start

The web client is then served locally, on port 1337 by default, and the first thing to do is confirm text input works before touching a microphone.

Offline voice is real, and it sounds like it

Leon supports fully offline speech recognition and synthesis with local models, and can use cloud providers for either half instead. The privacy story is genuine: with local providers selected, nothing leaves the box, which is the entire reason to choose it over a commercial speaker. The trade-off is quality. Local synthesis voices are intelligible rather than natural, and recognition accuracy drops with accents and background noise in ways a cloud provider has trained away. Give it a decent USB microphone and a quiet room and it works. Expect it to compete with a phone's dictation, not with a smart speaker.

LLMs changed what an assistant framework is for

The ground moved after Leon's 2019 start: a local model served by Ollama now handles free-form questions and fuzzy intent matching better than any hand-written utterance list. Leon has been adding LLM-backed capabilities so skills can pass vaguer requests to a model, and that is the shape that makes sense in 2026: deterministic skills for actions that must be reliable (turn off the heating), a model for everything conversational. If all you want is a voice front end on a local model, Open WebUI has that with less setup. Leon's pitch is the action layer, and a self-hosted AI stack can hold both.

Where it sits against the alternatives

You wantPick
Voice control of smart-home devices with the least effortHome Assistant Assist plus a voice satellite
A hackable assistant framework with skills you writeLeon
A voice-first platform with a community skill storeOpenVoiceOS
To talk to a local LLM and nothing moreOpen WebUI plus Ollama

What I'd do

Install Leon only if writing 3 to 5 skills for your own house sounds like a fun weekend rather than a chore. Run it from source on a box with 4 GB free, keep speech fully local, wire the first skill to Home Assistant's API, and add an Ollama-backed fallback for open-ended questions. If that list reads as work you would rather not do, put the effort into Home Assistant Assist instead; it covers 80% of what most people mean by "assistant" and is maintained by a far larger crowd.

Compare Leon

1 head-to-head comparisons.

Similar self-hosted ai apps