fossasia / labs.fossasia.org

Projects Website for FOSSASIA http://labs.fossasia.org
1.67k stars 247 forks source link

Integrate SUSI.AI bots with SUSI.AI Smart Speaker #366

Closed ThatDNS closed 8 months ago

ThatDNS commented 5 years ago

In order to allow SUSI.AI smart speaker to be used as a personal home assistant, we need to integrate private skills in it. Private skill is a skill that can be edited, modified and deleted only by the person who created it. These skills don't apply directly to the SUSI.AI web client like public skills, rather they apply only to a single bot. So, private skills are bots. Currently, you can create a bot using SUSI botbuilder and add it to your website. Responses for private skills are fetched by making GET request to the same endpoint as public skills, https://api.susi.ai/susi/chat.json?q=<query>. The only difference is that you need to pass two more parameters: privateskill=1 and userid=<user_id_of_skill_creator>. User id is unique for each user. Checkout this JS file to see how chatbots work: susi-chatbot.js We can integrate SUSI.AI bots with SUSI.AI smart speaker in a similar way. There are APIs to fetch, edit, use and delete bots. If support for bots is integrated into SUSI.AI smart speaker then users would be able to create a custom skill specific to their own needs and use it on the smart speaker. Further, templates of few of most common use cases like home assistant can be added to further assist users in creating a bot.

harsh-jindal commented 5 years ago

@DNS-404 @mariobehling I would like to work on this. I have the followings things I would like to implement : 1) Add private mode to Raspberry Pi which will allow usage of private skills on it. 2) Allow enable/disable of public skill. 3) Create chatbot using already existing public skills as template. 4) Have a hotword to initialise the private skill. 5) General Templates for Smart Home to turn on/off lights, fans, AC’s, lock doors, know room temperature etc.

ThatDNS commented 5 years ago

Nice. Please write a proposal on the same and submit the draft for review. Feel free to contact me if you need any help.