So as already discussed on other topics and github, I have lately been working on a prototype for some kind of skill marketplace / registry. As of now, I have a fully working chain from installing skills to rhasspy training.
The skill registry is currently working on conjunction with the
hss-server skill server and its command line tool
hss-cli. However, the registry is designed as generic server, which could host other skill technologies as well.
Maybe a picture could best illustrate it:
As said, the architecture assumes an installation of
The registry provides both a website frontend as well as a basic REST API which allows to access it using command line tools. The registry does not host the skills, but instead only keeps a set of meta infos about each skill, especially its real git repo URL.
The API currently contains the following features:
- register new account
- delete account
- publish skill
- unpublish skill
- get single skill
- search all skills
I have documented with more details on the github page of
hss-server Link, so I don’t want to go into much more details here.
Link to the registry’s web frontend: https://hss-registry.herokuapp.com
The current state of development is the following
hss-serversupports python- and Node.JS skills, both of which are supported by the registry
hss-clitool is able to browse the registry, and install skills listed on the registry (direct URL installing also possible)
- Upon installation,
hss-cliqueries the registry for the repo URL, and then proceeds installing
- When installing,
hss-clichecks whether or not the skill provides its own sentences/slots. If so, they are registered at
rhasspyusing the rhasspy (2.4) HTTP API, and afterwards training is triggered.
I am no web developer, thus the website of the registry is really basic and of poor design. Also, it is lacking user preferences and similar functionality, which is due to the current state of development.
The registry is currently hosted on a free heroku account.
Feedback & suggestions are highly welcome.