Giter VIP home page Giter VIP logo

react-mycroft-gui's Introduction

React-Mycroft-Gui

The React-Mycroft-Gui is an out-of-the-box solution for a GUI using the Mycroft open-source assistant, originally designed for the official 7 inch raspberry pi touch screen.

While it works without configuration for certain skills that currently have templates, it's easily extensible, and can be used with any Mycroft skill that outputs messages on the gui message bus.

Setup

Simply clone, install dependencies with 'npm install', and run with 'npm start'

Test

To test, you can use an existing gui template, run Mycroft and ask something like: "Wiki {query}"

Adding your own interfaces

All skills in the React-Mycroft-Gui are referenced from the skill_component_handler.jsx,
which resides in src < components < mycroft_messagebus_elements.
Here you can add a conditional that triggers when your desired skill runs.
This file then references skill components in the src < components < skill_components directory, where all skill related assets and components are kept.

To make your own skills you can either build the components from scratch, or otherwise use prebuilt functional components
in the src < components < skill_components directory.
These functional components utilize a state hook in the mycroft_message_bus.jsx that reset state if a page focus event happens, important for updating a component after render. If you do choose to make your own components from scratch, it's important to keep these event's in mind and make sure they are handled accordingly if they occur.


Big Shoutout to forslund at mycroft, his ideas on making a js gui solution were the basis of this project.

react-mycroft-gui's People

Contributors

alexisdiaz008 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.