leon
leon copied to clipboard
"Modules" to "skills" new structure
Expected Behavior
Complete new modules structure and transition from "modules" to "skills".
Actual Behavior
The current modules structure depends on modules developers and the whole structure isn't scalable enough.
Proposal
As Leon plans to grow, I believe that having a specific folders/files structure is essential. Mainly the following reasons make me think like this:
- At the moment, Leon skills are developed in Python only. Soon, the JavaScript bridge will come so it'll be possible to develop skills using JavaScript too. So having a hierarchy between bridges will help to be consistent between every module.
- Some skills are small, some will be bigger. Some skills will require more business logic than others, so it is crucial to define a well organized and scalable structure.
Also, when we get to know about Leon, "modules" can means everything, it is too abstract. I think "skills" is more appropriate as it really means something and we may be more familiar with this word.
Leon NLP will be improved so we can build more powerful skills. Hence, a transition needs to be made from "packages" to "domains". These domains need to be defined, so skills developers don't need to create one, but just put their skills in the corresponding domain. Doing so will allow a better NLU accuracy.
- More details can be found in this roadmap card.
- The development can be followed via this branch.
It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities.
Is this the future ambition of the project ?
It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities.
Is this the future ambition of the project ?
That is interesting. At the moment upcoming modules can be seen on the roadmap. But the roadmap contains a lot of things, so yes I think something can be done there to centralize that. I will think about it.
But firstly, the official version (1.0.0) needs to be out so we can make sure we can finally start to grow Leon capabilities in terms of modules.
It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities. Is this the future ambition of the project ?
That is interesting. At the moment upcoming modules can be seen on the roadmap. But the roadmap contains a lot of things, so yes I think something can be done there to centralize that. I will think about it.
But firstly, the official version (1.0.0) needs to be out so we can make sure we can finally start to grow Leon capabilities in terms of modules.
Other projects do similar things like MyCroft or Olivia. In this kind of platform, you can retrieve 3 types of "modules", the officials (developped by the Leon Team), the trusted (created by the community but approved by the Leon Team ) and the 'unofficial' others...
I love your project, and I use a "custom" version of Leon in my house, I created my own modules for my own usages (house automation, cooking recipes integration with "Marmiton" etc...). But, I think it’s a big lack of not having the ability to "easily" share this modules with others.
I hope to see that soon.
It would be interesting to design, in parallel of this new structure, a collaborative platform where everyone could create and share their modules and download other modules, to involve the community and quickly grow Leon’s capabilities. Is this the future ambition of the project ?
That is interesting. At the moment upcoming modules can be seen on the roadmap. But the roadmap contains a lot of things, so yes I think something can be done there to centralize that. I will think about it. But firstly, the official version (1.0.0) needs to be out so we can make sure we can finally start to grow Leon capabilities in terms of modules.
Other projects do similar things like MyCroft or Olivia. In this kind of platform, you can retrieve 3 types of "modules", the officials (developped by the Leon Team), the trusted (created by the community but approved by the Leon Team ) and the 'unofficial' others...
I love your project, and I use a "custom" version of Leon in my house, I created my own modules for my own usages (house automation, cooking recipes integration with "Marmiton" etc...). But, I think it’s a big lack of not having the ability to "easily" share this modules with others.
I hope to see that soon.
Glad to see that you love Leon! A big revamp is coming up and many positive changes are going to happen in the way Leon is built and how we build modules.
I need to make sure that everything is well designed in a way modules are built, then such platform will happen.
Stay tuned 😉
It has been released. Everything is explained in this blog post.