{"id":13393406,"url":"https://github.com/leon-ai/leon","last_synced_at":"2026-02-19T10:13:33.393Z","repository":{"id":37733962,"uuid":"169975410","full_name":"leon-ai/leon","owner":"leon-ai","description":"🧠 Leon is your open-source personal assistant.","archived":false,"fork":false,"pushed_at":"2026-02-18T17:02:26.000Z","size":23116,"stargazers_count":16992,"open_issues_count":103,"forks_count":1422,"subscribers_count":280,"default_branch":"develop","last_synced_at":"2026-02-18T17:44:04.385Z","etag":null,"topics":["ai","ai-assistant","artificial-intelligence","assistant","automation","bot","chatbot","flite","leon","nodejs","offline","personal-assistant","privacy","python","speech-recognition","speech-synthesis","speech-to-text","text-to-speech","virtual-assistant","voice-assistant"],"latest_commit_sha":null,"homepage":"https://getleon.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leon-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["louistiti"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"custom":null}},"created_at":"2019-02-10T12:25:12.000Z","updated_at":"2026-02-18T17:28:12.000Z","dependencies_parsed_at":"2023-02-16T20:31:32.836Z","dependency_job_id":"d43eb4d2-ccfc-459b-9078-8c4a5a0c17af","html_url":"https://github.com/leon-ai/leon","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/leon-ai/leon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-ai%2Fleon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-ai%2Fleon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-ai%2Fleon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-ai%2Fleon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leon-ai","download_url":"https://codeload.github.com/leon-ai/leon/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leon-ai%2Fleon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29609538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-assistant","artificial-intelligence","assistant","automation","bot","chatbot","flite","leon","nodejs","offline","personal-assistant","privacy","python","speech-recognition","speech-synthesis","speech-to-text","text-to-speech","virtual-assistant","voice-assistant"],"created_at":"2024-07-30T17:00:51.988Z","updated_at":"2026-02-19T10:13:33.387Z","avatar_url":"https://github.com/leon-ai.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://getleon.ai\"\u003e\u003cimg width=\"800\" src=\"https://getleon.ai/img/hero-animation.gif\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://getleon.ai\"\u003e\u003cimg width=\"96\" src=\"https://getleon.ai/img/logo.svg\" alt=\"Leon\"\u003e\u003c/a\u003e\u003cbr\u003e\n  Leon\n\u003c/h1\u003e\n\n_\u003cp align=\"center\"\u003eYour open-source personal assistant.\u003c/p\u003e_\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/leon-ai/leon/blob/develop/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg?label=License\u0026style=flat\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/leon-ai/leon/blob/develop/.github/CONTRIBUTING.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" /\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/leon-ai/leon/actions/workflows/build.yml\"\u003e\u003cimg src=\"https://github.com/leon-ai/leon/actions/workflows/build.yml/badge.svg?branch=develop\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/leon-ai/leon/actions/workflows/tests.yml\"\u003e\u003cimg src=\"https://github.com/leon-ai/leon/actions/workflows/tests.yml/badge.svg?branch=develop\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/leon-ai/leon/actions/workflows/lint.yml\"\u003e\u003cimg src=\"https://github.com/leon-ai/leon/actions/workflows/lint.yml/badge.svg?branch=develop\" /\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://discord.gg/MNQqqKg\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://getleon.ai\"\u003eWebsite\u003c/a\u003e ::\n  \u003ca href=\"https://docs.getleon.ai\"\u003eDocumentation\u003c/a\u003e ::\n  \u003ca href=\"http://roadmap.getleon.ai\"\u003eRoadmap\u003c/a\u003e ::\n  \u003ca href=\"https://github.com/leon-ai/leon/blob/develop/.github/CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e ::\n  \u003ca href=\"https://blog.getleon.ai/the-story-behind-leon/\"\u003eStory\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Important Notice (as of 2026-01-11)\n\n\u003e [!IMPORTANT]\n\u003e **Leon is currently undergoing a massive architectural rewrite.**\n\u003e\n\u003e The `develop` branch is highly experimental and may be unstable as I implement the new agentic core.\n\u003e \n\u003e - If you are looking for the legacy, stable version (pre-LLM), please use the `master` branch.\n\u003e - If you want to contribute to the future of Leon (LLMs, Agents, Automation), you are in the right place.\n\n### Outdated Documentation\n\nPlease note that the current documentation and this README are outdated regarding the technical architecture. We are moving away from simple classification toward a hybrid approach involving Local LLMs, Transformers, and Atomic Tools. Updated documentation will be released alongside the new core stability.\n\n### Project Evolution and Future Plans\n\n**I have been working on Leon since 2017**. While development has been inconsistent in the past, the current era of AI unlocks capabilities that were previously impossible. I'm now transitioning Leon from a standard assistant to a fully **autonomous personal AI assistant** designed to be used by technical hobbyists to non-tech users.\n\nI'm currently building the foundation for the next generation of Leon, focusing on 3 key milestones:\n\n**1. Workflow Architecture and Atomic Tools**\n\nWe are restructuring Leon around a robust flow: `Skills \u003e Actions \u003e Tools \u003e Functions (\u003e Binaries)`.\nInstead of monolithic scripts, Leon will use atomic components (e.g. compiled binaries using ONNX runtime) to execute complex workflows.\n\n- Example: a \"Video Translator\" skill won't just be a script; it will be a workflow where Leon orchestrates tools like vocal isolation, zero-shot voice cloning, ASR, audio gender recognition, etc. to achieve the result.\n\n**2. Autonomous Skill Generation (self-coding)**\n\nWe are developing a meta-skill capable of writing code for new skills automatically.\n\n- Leon will analyze a request, check if a skill exists, and if not, write the code itself following our strict architectural standards.\n- It will leverage existing tools and inject the new skill directly into its memory for future reuse.\n\n**3. Agentic Behavior (ReAct) and Local LLM Optimization**\n\nThe ultimate phase will be to adopt the ReAct (Reason + Act) approach.\n\n- Leon will be provided with low-level **tools** (organized in toolkits, e.g., `music_audio` containing FFmpeg).\n- Using Local LLMs, Leon will loop through thoughts and actions to solve problems dynamically.\n- Optimization: we are implementing strict context filtering to save tokens, reduce hallucinations, and ensure high performance on local hardware.\n\n**Get Involved**\n\n[Join us on Discord](https://discord.gg/MNQqqKg) to ask questions, or express interest in becoming an active contributor.\n\n- Check out [the roadmap](http://roadmap.getleon.ai/) for more information on our upcoming plans.\n- Watch a [preview of our last progress](https://www.youtube.com/watch?v=6CInSt6pTVA) to see what we've been working on.\n\n---\n\n### Why is there a small amount of contributors?\n\nI'm taking a lot of time to work on the new core of Leon due to personal reasons. I can only work on it during my spare time. Hence, I'm blocking any contribution as the whole core of Leon is coming with many breaking changes. Many of you are willing to contribute in Leon (create new skills, help to improve the core, translations and so on...), a big thanks to every one of you!\n\nWhile I would love to devote more time to Leon, I'm currently unable to do so because I have bills to pay. I have some ideas about how to monetize Leon in the future (Leon's core will always remain open source), but before to get there there is still a long way to go.\n\nUntil then, any financial support by [sponsoring Leon](http://sponsor.getleon.ai) is much appreciated 🙂\n\n---\n\n## Latest Release\n\nCheck out the [latest release blog post](https://blog.getleon.ai/binaries-and-typescript-rewrite-1-0-0-beta-8/).\n\n\u003ca href=\"https://blog.getleon.ai/binaries-and-typescript-rewrite-1-0-0-beta-8/\"\u003e\u003cimg width=\"400\" src=\"https://blog.getleon.ai/static/a0d1cbafd1968e7531dc17e229f8cc61/aa440/beta-8.png\" /\u003e\u003c/a\u003e\n\n---\n\n## 👋 Introduction\n\n**Leon** is an **open-source personal assistant** who can live **on your server**.\n\nHe **does stuff** when you **ask him to**.\n\nYou can **talk to him** and he can **talk to you**.\nYou can also **text him** and he can also **text you**.\nIf you want to, Leon can communicate with you by being **offline to protect your privacy**.\n\n### Why?\n\n\u003e 1. If you are a developer (or not), you may want to build many things that could help in your daily life.\n\u003e    Instead of building a dedicated project for each of those ideas, Leon can help you with his\n\u003e    Skills structure.\n\u003e 2. With this generic structure, everyone can create their own skills and share them with others.\n\u003e    Therefore there is only one core (to rule them all).\n\u003e 3. Leon uses AI concepts, which is cool.\n\u003e 4. Privacy matters, you can configure Leon to talk with him offline. You can already text with him without any third party services.\n\u003e 5. Open source is great.\n\n### What is this repository for?\n\n\u003e This repository contains the following nodes of Leon:\n\u003e\n\u003e - The server\n\u003e - Skills\n\u003e - The web app\n\u003e - The hotword node\n\u003e - The TCP server (for inter-process communication between Leon and third-party nodes such as spaCy)\n\u003e - The Python bridge (the connector between the core and skills made with Python)\n\n### What is Leon able to do?\n\n\u003e Today, the most interesting part is about his core and the way he can scale up. He is pretty young but can easily scale to have new features (skills).\n\u003e You can find what he is able to do by browsing the [skills list](https://github.com/leon-ai/leon/tree/develop/skills).\u003cbr\u003e\n\u003e Please do know that after the official release, we will build many skills along with the community. Feel free to [join us on Discord](https://discord.gg/MNQqqKg) to be part of the journey.\n\nSounds good to you? Then let's get started!\n\n## ☁️ Try with a Single-Click\n\nGitpod will automatically set up an environment and run an instance for you.\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/leon-ai/leon)\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) \u003e= 22.13.1\n- [npm](https://npmjs.com/) \u003e= 10.9.2\n- Supported OSes: Linux, macOS and Windows\n\nTo install these prerequisites, you can follow the [How To section](https://docs.getleon.ai/how-to/) of the documentation.\n\n### Installation\n\n```sh\n# Install the Leon CLI\nnpm install --global @leon-ai/cli\n\n# Install Leon (stable branch)\nleon create birth\n# OR install from the develop branch: leon create birth --develop\n```\n\n### Usage\n\n```sh\n# Check the setup went well\nleon check\n\n# Run\nleon start\n\n# Go to http://localhost:1337\n# Hooray! Leon is running\n```\n\n## 📚 Documentation\n\nFor full documentation, visit [docs.getleon.ai](https://docs.getleon.ai).\n\n## 🇫🇷 Documenting the Journey on YouTube\n\n[I'm documenting the journey on YouTube](https://www.youtube.com/@louisgyt) in developing our dear Leon. I also take you along in my daily life here in China.\n\nFor non-French speakers, translated English subtitles are available.\n\n## 📺 Video\n\n[Watch a demo](https://www.youtube.com/watch?v=p7GRGiicO1c).\n\n## 🧭 Roadmap\n\nTo know what is going on, follow [roadmap.getleon.ai](http://roadmap.getleon.ai).\n\n## ❤️ Contributing\n\nIf you have an idea for improving Leon, do not hesitate.\n\n**Leon needs open source to live**, the more skills he has, the more skillful he becomes.\n\n## 📖 The Story Behind Leon\n\nYou'll find a write-up on this [blog post](https://blog.getleon.ai/the-story-behind-leon/).\n\n## 🔔 Stay Tuned\n\n- [Twitter](https://twitter.com/grenlouis)\n- [Newsletter](https://newsletter.getleon.ai/subscription/form)\n- [Blog](https://blog.getleon.ai)\n- [GitHub issues](https://github.com/leon-ai/leon/issues)\n- [YouTube](https://www.youtube.com/channel/UCW6mk6j6nQUzFYY97r47emQ)\n- [#LeonAI](\u003chttps://twitter.com/search?f=live\u0026q=%23LeonAI%20(from%3Agrenlouis%20OR%20from%3Alouistiti_fr)\u0026src=typed_query\u003e)\n\n## 👨 Author\n\n**Louis Grenard** ([@grenlouis](https://twitter.com/grenlouis))\n\n## 👍 Sponsors\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\" width=\"128\"\u003e\n        \u003ca href=\"https://github.com/Appwrite\"\u003e\n          \u003cimg src=\"https://github.com/Appwrite.png?size=128\" /\u003e\n          Appwrite\n        \u003c/a\u003e\u003cbr\u003e\n        \u003csub\u003e\u003csup\u003e250 USD / month\u003c/sup\u003e\u003c/sub\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\" width=\"128\"\u003e\n        \u003cimg src=\"https://getleon.ai/img/anonymous.svg\" width=\"128\" /\u003e\n        Anonymous\n        \u003cbr\u003e\n        \u003csub\u003e\u003csup\u003e100 USD / month\u003c/sup\u003e\u003c/sub\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\" width=\"128\"\u003e\n        \u003ca href=\"https://github.com/herbundkraut\"\u003e\n          \u003cimg src=\"https://github.com/herbundkraut.png?size=128\" /\u003e\n          herbundkraut\n        \u003c/a\u003e\u003cbr\u003e\n        \u003csub\u003e\u003csup\u003e10 USD / month\u003c/sup\u003e\u003c/sub\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\" width=\"128\"\u003e\n        \u003ca href=\"http://sponsor.getleon.ai/\"\u003e\n          You?\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nYou can also contribute by [sponsoring Leon](http://sponsor.getleon.ai).\n\nPlease note that I dedicate most of my free time to Leon.\n\nBy sponsoring the project you make the project sustainable and faster to develop features.\n\nThe focus is not only limited to the activity you see on GitHub but also a lot of thinking about the direction of the project. Which is naturally related to the overall design, architecture, vision, learning process and so on...\n\n### Special Thanks\n\n\u003ca href=\"https://vercel.com/?utm_source=leon-ai\u0026utm_campaign=oss\"\u003e\n  \u003cimg src=\"https://i.imgur.com/S5olXWh.png\" alt=\"Vercel\" width=\"128\" /\u003e\n\u003c/a\u003e\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\n\u003ca href=\"https://www.macstadium.com/\"\u003e\n  \u003cimg src=\"https://getleon.ai/img/thanks/mac-stadium.svg\" alt=\"MacStadium\" width=\"128\" /\u003e\n\u003c/a\u003e\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\n\u003ca href=\"https://www.aoz.studio\"\u003e\n  \u003cimg src=\"https://getleon.ai/_next/image?url=%2Fimg%2Fthanks%2Faoz-studio.png\u0026w=384\u0026q=75\" alt=\"AOZ Studio\" width=\"128\" /\u003e\n\u003c/a\u003e\n\n## 📝 License\n\n[MIT License](https://github.com/leon-ai/leon/blob/develop/LICENSE.md)\n\nCopyright (c) 2019-present, Louis Grenard \u003clouis@getleon.ai\u003e\n\n## Cheers!\n\n![Cheers!](https://github.githubassets.com/images/icons/emoji/unicode/1f379.png 'Cheers!')\n","funding_links":["https://github.com/sponsors/louistiti"],"categories":["JavaScript","TypeScript","Personal Assistants","Install from Source","A01_文本生成_文本对话","HarmonyOS","Apps","Python","chatbot","Table of Contents","有趣项目","Tools","工具","📋 Contents"],"sub_categories":["Voice Assistants","大语言对话模型及数据","Windows Manager","AI","Assistant","工具","Video Conference","调试","🖥️ 12. User Interfaces \u0026 Self-hosted Platforms"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleon-ai%2Fleon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleon-ai%2Fleon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleon-ai%2Fleon/lists"}