#ubibot A friendly little bot for simple use anywhere.
##tl;dr A modular framework for conversational user interfaces, without any AI.
This monorepo holds development tools, reference implementations and example packages.
Currently alpha code.
##installation
git clone https://github.com/numical/ubibot.git
cd ubibot
npm install
##introduction
Ubibot is to designed to hold very simple conversations within a strictly limited context.
It is not a general purpose, natural language interface.
It can run on both servers and edge devices, such as your phone.
####core interface
The Ubibot framework is a set of functionality wrapped around a core Bot
interface.
Were the project written in Typescript (it isn't, it's all plain javascript), this interface would be:
interface Bot {
hello(): Promise<String>;
respondTo:(s: String): Promise<String>;
getState?(): Promise<any>;
}
##getting started
The @numical/ubibot-tutorial is a good start.
It introduces the core interface and the libaries available to develop, publish and test implementations of that interface.
The framework's reference implementation of that interface is contained in @numical/ubibot-engine.
You can use this as the base for your own bot. For those who like the 'monkey see, monkey do' approach, use these projects as references:
- @numical/echobot: over-engineered echo functionality;
- @numical/bankbot: servicing a fictional personal current account.
##ubibot ecosystem This monorepo comprises:
- @numical/bankbot: example Ubibot implementation;
- @numical/echobot: example Ubibot implementation;
- @numical/ubibot-tutorial: tutorial introducing Ubibot;
- @numica/ubibot-cli: a command line runtime for ubibot;
- @numical/ubibot-engine: reference implementation;
- @numical/ubibot-natural: repackaging of the natural language library;
- @numical/ubibot-rest: a server-side runtime for multi-user Ubibot exposing an HTTP ReST interface;
- @numical/ubibot-test: system testing;
- @numical/ubibot-util: common artifacts used throughout the framework;
- @numical/ubibot-webapp: a dev tool to build a hosting web app for an Ubibot implementation;
- @numical/webbot: generic webbot for connecting to any remote Ubibot implementation.
##thanks Thanks for your interest!
numical June 2019