Assitant consists of two main parts: processors/dispatchers and cards.
Processors take text commands and return results by putting them into the result channel. Processors get dispatched by a command name which is the first keyword entered. The result which is put into the channel has the content and information which card to use for display. Processors get registered into the system using register-dispatcher
function.
Cards are Om components that display results. There are several built-in cards: image-list-card
, list-card
, markdown-card
and info-card
. You can add your own card using register-card
function. You can also add custom CSS using register-css
.
Assistant is written in ClojureScript and is very extensible. It uses NW.js (previously known as node-webkit) to run as a desktop application.