Skip to content
Jordi Cabot edited this page Mar 24, 2020 · 18 revisions

Model your bot once, deploy everywhere

Xatkit has been created to reduce boilerplate code, complex API understanding, and platform-specific deployment of your bots. Xatkit helps you focus on what really matters: the conversation logic you want to embed in your chatbot.

To do so, we have baked a chatbot-specific modeling language to specify user intentions, receive events, and bind them to computable actions. The produced chatbot specification is handled by the Xatkit Runtime Engine, which automatically manages its deployment and execution.

Overview

Quick Start

1- Build the latest version of Xatkit

2- Setup the environment variable

Windows

Execute xatkit/install-windows.bat with administrative rights

Ubuntu

Execute xatkit/install-linux.sh

3- Navigate to xatkit/bin and start the example digital assistant

The example assistant is a basic web-based bot that greets users, it is defined in xatkit/examples/GreetingsBot.

Windows

./start-xatkit-windows.sh ../examples/GreetingsBots/GreetingsBot/GreetingsBot.properties

Ubuntu

./start-xatkit-linux.sh ../examples/GreetingsBots/GreetingsBot/GreetingsBot.properties

The console will log some initialization information, and after a few seconds you should see the following message:

You can test your chatbot here http://localhost:5000/admin (note that the bots behavior can be slightly different on the test page than when it is deployed on a server)

Open your browser and navigate to http://localhost:5000/admin to test your deployed web-based bot! Remember this bot is just a greetings bot to test your installation so beyond saying 'Hi', the bot will respond to everything else with the default answer!. Also, to simplify its configuration, this sample bot just uses regular expression to match your intent but you could easily configure it to use a real NLP such as DialogFlow

Greetings Bot Chatbox

What are the supported platforms?

Xatkit supports 11 platforms (and counting) such as Slack, Github, React ... You can find the full list of supported platform in our wiki.

There are also additional platforms built and supported by the community, you can find them on this dedicated article.

If you have created your own Xatkit platform we will be happy to add it to the list, just drop us an email with a link to your awesome work!

What's next?

Congratulations, you just started your first Xatkit digital assistant!

You can now have a look at the tutorial to learn how assistants are defined with the Xatkit language, or if you are already familiar with it you can take a look at the documentation for additional information on Xatkit capabilities.

Build

You can build your local version of Xatkit using the following commands:

1 - Clone this repository and initialize its submodules

git clone https://github.com/xatkit-bot-platform/xatkit.git
git submodule update --init --recursive

2 - Run the installation script

# Linux users
./install-linux.sh
# Windows users: execute the following bat file with administrative rights
./install-windows.bat

3 - Run the build script

./build.sh --all --skip-tests --product

Your local version of Xatkit is built in the build directory, you can install it and run the Greetings bot by following these instructions.

Note: the git submodule command will initialize Xatkit submodules with the latest stable version of Xatkit. If you want to use the development version, or if you need advanced configuration in your build you can check this detailed article from our wiki.

Troubleshooting

If you experience any issue with Xatkit you can open an issue on our tracker and we will be happy to help you! Note that we may move your issue to a different repository based on the impacted components.

Contributing

You want to contribute to Xatkit? We would love to hear from you and provide all the assistance we can! Any contribution is appreciated. And it doesn't even need to be a code contribution, just spreading the word and/or starring and watching this repo will be useful!.

Feel free to reach out to share with us any idea you may have (e.g. creating a new platform).

And don't forget to let us know if you're using Xatkit. We are always very interested in knowing how people are using Xatkit and how we can better serve them.

Clone this wiki locally