Sbot
SBot the smart ChatDev bot
Install / Use
/learn @fredericlepied/SbotREADME
SBot the smart ChatDev bot
Introduction
SBot is designed to be a robotic member of a team of software developers. SBot can do actions and inform the team on events.
SBot interacts with members of the team on a chat. The idea is to let SBot do repetitive tasks that need human in the loop but can be partially automated. Usually these tasks need a human judgement to start them or a human to finish them. That is to complement tasks that can be fully automated in CI/CD systems.
Here are examples of such use cases:
- apply a Github PR as a patch to a package and update it when it is updated and remove it when it is merged.
- reproduce a CI error and let someone from the team debug it when it is reproduced.
- backport changes to stable branches when asked or a specific Github tag is set.
SBot is always connected to be able to interact all the time with its team. To do so when a configuration is changed or when its code is updated, it performs a hot reload without needing to restart to avoid losing the connection.
Getting started
SBot has been designed to run under Linux systems. Contributions are welcome to run it under other systems.
First, you need to install swi-prolog on the system hosting your
bot. Under Fedora 27, you just have to do dnf install pl. For other
Linux systems just follow the instructions here:
http://www.swi-prolog.org/download/stable .
Then install the irclient module by running the following command at
the Prolog prompt:
$ swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 7.4.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?- pack_install(irc_client).
Install irc_client@1.3.0 from https://github.com/eazar001/irc_client/archive/v1.3.0.zip Y/n?
...
Then copy the config.pl.ex into config.pl and edit it to suit your
needs.
Once your configuration is ready, you just have to issue ./bot.sh to
start the bot.
Alternatively, you can use our Ansible playbook to install what is needed. If you want to go this road, follow the instructions in the README.md file.
Modules
SBot has a modular design to allow teams to choose which modules to activate according to their needs.
A module is usually one Prolog file and a set of command line tools. This is designed this way to share tools beween the bot and the team.
github module
TBC
gerrit module
TBC
fun module
TBC
self module
TBC
admin module
TBC
autoupdate module
TBC
fedora module
TBC
trello module
TBC
dlrn module
TBC
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
