// the find
leon-ai/leon
🧠 Leon is your open-source personal assistant.
Leon is a self-hosted personal AI assistant that's been running since 2019 and is mid-way through a full rewrite into an agentic system with tools, layered memory, and both controlled and agent-style execution modes. It supports local LLMs via llama.cpp alongside remote providers, and has a skill system with Node.js and Python bridges. The target user is a developer who wants a self-hosted, privacy-first assistant they can extend.
The Skills -> Actions -> Tools -> Functions hierarchy gives you a real execution model instead of just LLM-guessing at everything. Controlled skills follow deterministic paths; agent skills handle open-ended tasks — having both modes rather than one-size-fits-all is the right call. The dual Node.js/Python bridge is practical: AI/ML tooling lives in Python, and forcing everything through Node would be painful. Aurora, the custom component library for skill UIs, lets skills render interactive widgets rather than dumping plain text — rare for this category of project. Local LLM support via llama.cpp is genuine, not cosmetic; the bin/ directory shows they're actually managing the runtime stack.
The project is currently split across two branches with incompatible architectures and no docs for the new one — the README itself says to treat the repo as source of truth because the docs site is wrong. That's a real adoption risk; you're flying blind on the thing that's actively being developed. Requiring Node >= 24.0.0 for a developer-preview project will block a lot of people still on 20 LTS. The bin/ directory managing cmake, ninja, Python, PyTorch, llama.cpp, and more via version files suggests setup complexity that will break in non-obvious ways on edge-case machines. The layered memory system is described in prose but there's no clear spec for what backend stores it or how it survives process restarts — it may just be in-memory for now, which would make 'durable preferences' not actually durable.