-
-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Welcome to the Sapphire Assistant Framework wiki!
- Works fully offline/locally
- Easy to make applications modules and apps for
- Free and Open Source
- Highly modular and customizable
The Assistant Framework runs as a foreground service, which binds and manages other services, launches applications, pipes data over sockets, and aggregates data. Modules can be installed to augment and increase the functionality, and any feature of the framework can be modified to suit the users needs.
The core module is the central app that ties all other modules together. It manages apps and services that implement the framework, and exposes framework features to other apps and the user.
This is an offline speech to text module that exposes its services to apps that may need it.
This module receives text input, and breaks it down to determine what skill or module the text relates to, and it extracts entities that are important for operating that skill or module
The Calendar Skill Module illustrates how a skill can interact with the framework, and be used to perform useful actions for the user.
Module names and types are subject to change as the project goes through it's alpha and beta stages. These names and types are intended to offer a starting point and common vocabulary between developers
Core Modules are the anchors of the framework. Only one Core module can be set to default, but there is potential to use other cores as intermediate modules in a pipeline. They serve to manage environmental variables, coordinate modules and skills, expose functionality, and maintain the UI/foreground service. Q: Does it rely on Google Play services The app does not rely on any Google Play services.
Processor modules are modules that are designed to transform the data in some way. The processor module in SAF is meant to take a spoken word or typed sentence, extract variables and entities, and match it to a route. It is possible to run multiple processor Modules concurrently using the Multiprocess module, and then weigh the outcomes to make a decision. Using this method, the SAF can integrate Alexa, Google, Mycroft, Bixby, and SAF skills all in one assistant
Input modules are any module that sends starting data to the Core module for handling. The default input module in the SAF is the Vosk speech to text module. Using an upgraded processor module, input modules could be extended to take any binary data from network streams to pictures or video
Any module that sits at the end of a route is a terminating module. Often times these are skills or actions the user wants performed, but it could just as well be a chatbot or some other module
Modules that don't fit in to any other category. When designing the SAF, generic module concepts were used to create a design that could grow past the original design intentions. What kind of modules will you create.