1
1
mirror of https://github.com/leon-ai/leon.git synced 2024-12-19 14:52:21 +03:00
🧠 Leon is your open-source personal assistant.
Go to file
2023-05-14 08:51:52 +08:00
.github feat(bridge/nodejs): release process 2023-04-30 23:39:39 +08:00
.husky chore: re-enable linter on commit 2023-04-03 22:29:21 +08:00
app refactor(server): HTTP server; brain entries; STT parsers; TTS synthesizers (WIP) 2023-02-03 00:14:23 +08:00
bin chore: remove DeepSpeech binary folder; add Coqui binary folder to gitignore 2022-01-31 14:11:48 +08:00
bridges style(bridge/nodejs): memory exception/error renaming 2023-05-14 08:51:52 +08:00
core feat(bridge/nodejs): first draft 2023-05-02 23:53:41 +08:00
downloads chore: init 2019-02-10 20:26:50 +08:00
hotword refactor: from superagent to axios 2022-10-23 10:55:03 +08:00
logs chore: init 2019-02-10 20:26:50 +08:00
scripts refactor(scripts): explicit Node.js bridge npm packages install 2023-05-13 00:30:15 +08:00
server/src fix(server): pre-check add process.cwd() to all constant paths 2023-05-14 00:06:43 +08:00
skills feat(bridge/nodejs): improvements to memory 2023-05-14 00:39:30 +02:00
tcp_server refactor: check script according to binaries changes 2022-10-19 00:22:37 +08:00
test refactor(server): HTTP server; brain entries; STT parsers; TTS synthesizers (WIP) 2023-02-03 00:14:23 +08:00
.changelogrc chore: init 2019-02-10 20:26:50 +08:00
.dockerignore fix(docker): issues with SSL 2022-10-23 12:37:36 +02:00
.editorconfig chore: add Python config in EditorConfig 2021-04-04 12:41:25 +08:00
.env.sample feat(server): kick off telemetry 2023-04-10 22:35:37 +08:00
.eslintrc.json style: fix linting 2023-04-02 19:18:15 +02:00
.gitignore feat(bridge/nodejs): Prisma SQLite setup 2023-05-11 23:26:42 +08:00
.gitpod.yml chore: improve Gitpod usage (using current source code) (#398) 2022-07-30 17:20:40 +08:00
.lintstagedrc feat: lint-staged config 2022-09-03 20:56:15 +08:00
.npmrc chore: add save-exact npm option to install exact packages version 2023-02-11 19:35:15 +08:00
.nvmrc chore: create .nvmrc with latest LTS version 2021-03-28 13:21:32 +08:00
.prettierrc.json feat: basic Prettier setup 2022-09-03 18:37:56 +08:00
CHANGELOG.md build: release 1.0.0-beta.8 2023-05-01 10:09:29 +08:00
docker-compose.dev.yml fix(docker): install Python binaries from postinstall script 2022-10-13 22:59:39 +02:00
docker-compose.yml fix(docker): usage of Ubuntu base image with pyenv and nvm (#408) 2022-08-23 20:59:09 +08:00
Dockerfile fix(docker): issues with SSL 2022-10-23 12:37:36 +02:00
jsconfig.json chore: use jsconfig instead of IDE config 2022-01-25 20:20:49 +08:00
LICENSE.md chore: change email address 2022-08-23 23:01:46 +08:00
nodemon.json feat: complete Prettier setup 2022-09-03 19:12:41 +08:00
package.json refactor(scripts): explicit Node.js bridge npm packages install 2023-05-13 00:30:15 +08:00
README.md style: fix linting 2023-05-07 21:44:55 +02:00
tsconfig.json fix(bridge/nodejs): build error 2023-05-06 13:55:43 +02:00

Leon
Leon

Your open-source personal assistant.



Website :: Documentation :: Roadmap :: Contributing :: Story


Current State

Why is there a small amount of contributors?

I'm taking a lot of time to work on the new core of Leon due to personal reasons. I can only work on it after work and on weekends. Hence, I'm blocking any potential 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!

I wish one day I could work on Leon full time, but it's not possible at the moment as I need to pay my bills. 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.

Until then, any financial support by sponsoring Leon is much appreciated 🙂

How about large language models and Leon?

Since AI gained in popularity and large language models are getting more and more traction, many of you joined our community. A huge welcome to all of you! 🤗

At the moment, Leon's NLU will remain intents first with his own model without relying on an LLM. It is important that Leon can run 100% offline and I'm confident that with the downsizing techniques such as quantization Leon will sooner or later work with LLMs at his core and still be able to run on edge.

Here is how LLMs may help Leon in the future:

  • Intent fallback: when an utterance cannot match an intent, then rely on an LLM to provide results.
  • New named entity recognition engine: provide a better solution to extract entities from utterances such as fruits, numbers, cities, durations, persons, etc.
  • Skill features: let skills leverage LLMs to provide out-of-the-box NLP features such as summarization, translation, sentiment analysis and so on...
  • Skill building: LLMs can help to develop skills such as paraphrasing utterance samples, translate answers, convert code from our Python bridge to the upcoming JavaScript bridge and vice versa, etc.
  • More...

What's Next?

Once the new core released, we'll work on the community aspect of Leon. For example, better organize our Discord, planify regular calls, work on skills together, etc. It is very important for Leon to have a real community. At that moment, the skills platform will already be online, so it'll be easier to sync our progress and publish new skills.

  • Feel free to check out the Git development branches and our next major milestones.
  • And the detailed roadmap.
  • Many exciting things are coming up, hence no new documentation and test are going to be written until the official release of Leon.

Latest Release

Check out the latest release blog post.


👋 Introduction

Leon is an open-source personal assistant who can live on your server.

He does stuff when you ask him to.

You can talk to him and he can talk to you. You can also text him and he can also text you. If you want to, Leon can communicate with you by being offline to protect your privacy.

Why?

  1. If you are a developer (or not), you may want to build many things that could help in your daily life. Instead of building a dedicated project for each of those ideas, Leon can help you with his Skills structure.
  2. With this generic structure, everyone can create their own skills and share them with others. Therefore there is only one core (to rule them all).
  3. Leon uses AI concepts, which is cool.
  4. Privacy matters, you can configure Leon to talk with him offline. You can already text with him without any third party services.
  5. Open source is great.

What is this repository for?

This repository contains the following nodes of Leon:

  • The server
  • Skills
  • The web app
  • The hotword node
  • The TCP server (for inter-process communication between Leon and third-party nodes such as spaCy)
  • The Python bridge (the connector between the core and skills made with Python)

What is Leon able to do?

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). You can find what he is able to do by browsing the skills list.
Please do know that after the official release, we will build many skills along with the community. Feel free to join us on Discord to be part of the journey.

Sounds good to you? Then let's get started!

☁️ Try with a Single-Click

Gitpod will automatically set up an environment and run an instance for you.

Open in Gitpod

🚀 Getting Started

Prerequisites

  • Node.js >= 16
  • npm >= 8
  • Supported OSes: Linux, macOS and Windows

To install these prerequisites, you can follow the How To section of the documentation.

Installation

# Install the Leon CLI
npm install --global @leon-ai/cli

# Install Leon (stable branch)
leon create birth
# OR install from the develop branch: leon create birth --develop

Usage

# Check the setup went well
leon check

# Run
leon start

# Go to http://localhost:1337
# Hooray! Leon is running

Docker Installation

# Install Leon
leon create birth --docker

# Run
leon start

# Go to http://localhost:1337
# Hooray! Leon is running

📚 Documentation

For full documentation, visit docs.getleon.ai.

📺 Video

Watch a demo.

🧭 Roadmap

To know what is going on, follow roadmap.getleon.ai.

❤️ Contributing

If you have an idea for improving Leon, do not hesitate.

Leon needs open source to live, the more skills he has, the more skillful he becomes.

📖 The Story Behind Leon

You'll find a write-up on this blog post.

🔔 Stay Tuned

👨 Author

Louis Grenard (@grenlouis)

👍 Sponsors

Appwrite
250 USD / month
Anonymous
100 USD / month
herbundkraut
10 USD / month
You?

You can also contribute by sponsoring Leon.

Please note that I dedicate most of my free time to Leon.

By sponsoring the project you make the project sustainable and faster to develop features.

The 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...

Special Thanks

Vercel       MacStadium       AOZ Studio

📝 License

MIT License

Copyright (c) 2019-present, Louis Grenard louis@getleon.ai

Cheers!

Cheers!