Xatkit - The easiest way to build powerful bots and chatbots
Get your own smart chatbot. Design your bot once, deploy it everywhere.
Xatkit has been created to reduce boilerplate code, complex API understanding, and technical details to facilitate the definition and 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 definition language to specify user intentions, receive events (your bots can also be proactive!), and bind them to computable actions following powerful state machine semantics. Our chatbot language is implemented as a Java Fluent Interface combining the low-code benefits of using a dedicated chatbot Internal DSL with the full power of Java when you need to write complex bot behaviours.
This chatbot specification is then handled by the Xatkit Runtime Engine, which automatically manages its deployment and execution. Reuse the existing platforms (or add your own) to make your bot talk with external services (Slack, GitHub, Telegram, websites,...).
Xatkit's philosophy is not to reinvent the wheel. Look at Xatkit as a chatbot orchestration platform that will help you integrate the best NLP components in your ideal chatbot.
1- Build the latest version of Xatkit
2- Navigate to
xatkit-examples/GreetingsBots/GreetingsBot and start the example digital assistant (a basic web-based bot that greets users)
mvn clean compile mvn exec:java -Dexec.mainClass="com.xatkit.example.GreetingsBot"
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.
You can see a more complete online demo by talking to our ecommerce chatbot demo, freely accessible from our home page.
Create your first bot
Congratulations, you just started your first Xatkit digital assistant!
You can now have a look at the tutorial to learn how bots 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.
You can also kickstart the process thanks to our pre-configured Xakit Bot Template.
What platforms are available in Xatkit?
Your bot will be able to use any of the over a dozen platforms (and counting) available in Xatkit such as Slack, Telegram, WhatsApp, Github, web ... You can find the full list of supported platform in our wiki.
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.
Feel free to reach out by mail or ping us in social media.
You can also chat with us on our public Slack workspace.
Do you want to contribute to Xatkit? We would love to hear from you. Remember that there are many ways to support open source projects beyond committing code!. Talking about Xatkit, writing documentation, contributing examples,... all are great ways to help us.
When contributing code, please first discuss the change you wish to make with us. Start by opening a descriptive issue so that we can advise on the best way to proceed with your bug fix or new feature idea. Then, once done, create the pull request on the specific repository you changed and we'll start a code review process with you.
Take a look at all the people that it's already part of our Xatkit community!
Made with contributors-img.
Thanks for reading until the end! If you like what you see, don't forget to star/watch this repository, thanks!