There are a lot of personal assistants around like Google Assistant, Apple’s Siri, Windows’ Cortana, Amazon’s Alexa, etc. What is then special about SUSI.AI which makes it stand apart from all the different assistants in the world? SUSI is different as it gives users the ability to create their own skills in a Wiki-like system. You don’t need to be a developer to be able to enhance SUSI. And, SUSI is an Open Source personal assistant which can do a lot of incredible stuff for you, made by you.
So, let’s say you want to create your own Skill and add it to the existing SUSI Skills. So, these are the steps you need to follow regarding the same –
- The current SUSI Skill Development Environment is based on an Etherpad. An Etherpad is a web-based collaborative real-time editor. https://dream.susi.ai/ is one such Etherpad. Open https://dream.susi.ai/ and name your dream (in lowercase letters).
- Define your skill in the Etherpad. The general skill format is
Patterns in query can be learned easily via this tutorial.
- Open any SUSI Client and then write dream <your dream name> so that dreaming is enabled for SUSI. Once dreaming is enabled, you can now test any skills which you’ve made in your Etherpad.
- Once you’ve tested your skill, write ‘stop dreaming’ to disable dreaming for SUSI.
- If the testing was successful and you want your skill to be added to SUSI Skills, send a Pull Request to susi_skill_data repository providing your dream name.
How do you modify an existing skill?
To edit any skill, you need to follow these steps –
- Login to SUSI Skill CMS website using your email and password (or Sign Up to the website if you haven’t already).
- Click on the skill which you want to edit and then click on the “edit” icon.
- You can edit all aspects of the skill in the next state. Below is a preview:
Make the changes and then click on “SAVE” button to save the skill.
What’s happening Behind The Scenes in the EDIT process?
- SkillEditor.js is the file which is responsible for keeping a check over various validations in the Skill Editing process. There are certain validations that need to be made in the process. Those are as follows –
- Check whether User has logged in or not
- Check whether Commit Message has been entered by User or not
- Check to ensure that request is sent only if there are some differences in old values and new values
- After doing the above validations, a request is sent to the Server and the User is shown a notification accordingly, whether the Skill has been uploaded to the Server or there has been some error.
- If the User is notified with a Success notification, then to verify whether the Skill has been added or not, the User can go to susi_skill_data repo and see if he has a recent commit regarding the same or not.
- Notifications – https://ant.design/components/notification/
- Material UI – https://www.material-ui.com/#/
- Tutorials for Skill Development – https://github.com/fossasia/susi_skill_cms/blob/master/docs/Skill_Tutorial.md
- Relevant Blogs –