GithubHelp home page GithubHelp logo

tobey-ai / tobey-core Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 74 KB

Tobey Core - The main component of this open source smart assistant powered by .NetCore and running on Windows IOT

License: Apache License 2.0

csharp netcore smartassistant opensource nlp-engine skills nuget visual-studio netstandard-libraries speech-recognition

tobey-core's Introduction

Tobey PRs Welcome

Tobey is an open source smart assistant completely implemented in .Net Core. It runs everywhere, on Desktops, Mobiles and also on a Raspberry Pi running Windows IOT.

Architecture

Tobey solution is organized into two main components.

Core (tobey-core)

This is the main component which handles the STT functionality and orchestrates the interaction with the TTS engine, the NLP Engine and all skills registered into the system. Core is implemented as a UWP app, which can potentially be extended to offer some additional UI capabilities to the app.

Foundation (tobey-foundation)

This is the component which exposes the NLP Engine and all other Common methods and functionalities shared across all other components. This is a .Net Standard library, hence why it needs to be packed into a NuGet package in order to be used.

Skills

Each skill needs to be implemented as a separate .Net Standard library to be referenced in the Core project as an additional Nuget package. There is a set of preconfigured Skills already activated in the Core; Skills like Date and time, Weather, Search, are all pre-loaded into the Core component.

Building the DEV environment

The first thing to do to get Tobey on your local dev environment, is to clone/dowload the Core solution. All dependancies that Core has, have been implemented as .NetStandard libraries that can be cloned/downloaded from GitHub as well. At the current moment, you need to compile any dependancy manually before being able to compile Core.

Please follow these steps to get your DEV environment up and running:

  • Create a local Nuget feed. To do so, You can follow this simple steps from this Official Visual Studio article.

  • Clone and compile the Foundation solution. This is an isolated component which doesn't have explicit dependancies with any other project, hence why it will compile without any issue.

  • Pack Foundation and push the Nuget package into your local Nuget feed. This step is needed to share the library with all other components.

  • Clone and compile the default Skills which are: tobey-skill-datetime, tobey-skill-weather, tobey-skill-search, tobey-skill-greetings. Keep in mind that each skill project has a dependancy with Foundation.

Make sure to pack these libraries and store the resulting Nuget packages in your selected local Nuget feed.

  • Now you can finally restore the packages in the Core project and build it.

Tools needed

  • Visual Studio 2017
  • .Net Core SDK 1.4 +
  • Github Tools for Visual Studio

Contributing

If you would like to help and be part of this project, Tobey is 100% open source which means you can start contributing right now. Just please follow the Contributing Guide we prepared for you.

tobey-core's People

Contributors

tobeyai avatar

Watchers

 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.