Skip to content

gasolin/saihubot

Repository files navigation

Saihubot

lerna

🤖 Frontend Framework to build 💬 message/chat bots ops in the 🌐 Browser, no server required.

Module Version Description
saihubot npm version core module
saihu npm version Command line Sample
Web samples Online Demo
Adapters Version Description
saihubot-html-adapter npm version HTML
saihubot-cli-adapter npm version Command Line
Adapters Version Description
saihubot-skill-search npm version Search engines
saihubot-skill-diagnostics npm version ping, echo, current time

You can add new skills to bot via skills and extend its ability via addons. All with plain javascript. 👏

The saihubot skills currently work for 🌐 Browser and Command line.

Saihubot's API is inspired by hubot's API, so a developer who has learned hubot-plugins could learn saihu-skills very quickly. ⚡

Check Online Demo

Features

  • Chatbot works in your browser, without server setup.
  • Written in plain Javascript, compatible with modern browsers
  • Structure was inspired by hubot
    • Regex based message matching
    • Could write adapter to fully cooperate with your web UI
    • Could swap brain to support different backends
    • Provide skills(pluginn) architecture that able to expand functions
    • Can extend bot functionality by import addons
  • Tiny size, easy to learn (the init version has just 80 lines that bundle with three skills)
  • Each message can be customized with any HTML elements
  • Reference chat UI style is included
  • Plugin callbacks are extremely flexible; You can control in-page elements, execute the local command, fetch remote data, trigger remote actions...

How to use

Try Saihubot samples online

If you just want to try how the saihubot looks like, Check Online Demo

Try Saihubot locally

Clone the project with command

git clone https://github.com/gasolin/saihubot.git

Then run

npm start

or

npx http-server .

now you have a working bot in the browser!

Try Saihubot on Github

Fork the project, edit index.html with Github editor, save it and see the result on https://[yourname].github.io/saihubot

Saihubot also provide Search skills, you can include it via skillsFile: ['skills/saihubot-search.js']

Check the Search Demo.

🔎 Google Search skill:

me: g saihubot
bot: Search saihubot via Google
me: google saihubot
bot: Search saihubot via Google
me: search saihubot
bot: Search saihubot via Google

Want to learn more?

Check the docs section.

What Saihu means?

Saihu(師傅) means master in Taiwanese, which people used to call the artisans. Saihubot's origin goal is to provide a code sample that makes learning hubot and its ES6 variant Webbybot easier; then I found Saihu is a great way to embed bot into anywhere browser can live with.

License

Saihubot use MIT License

ChangeLog

Check ChangeLog