This project is a lightweight, Dockerized AI chatbot that listens to your personal Signal messages via a prefix (!ai, !img, !code, !weather) and routes them to an LLM via a Cloudflare AI Worker.
- 🔒 Private: Uses your personal Signal number securely.
- 💬 Prefix Parsing: Responds to commands like
!ai,!img,!code,!weather. - 🌩️ Fast & Cheap: Cloudflare Worker with AI Gateway.
- 🐳 Fully Dockerized using
docker-compose. - ⚙️ Minimal: Built in Go for performance and small footprint.
my-ai-signal-bot/
├── bot/
│ ├── main.go
│ ├── go.mod
│ └── .env
├── worker/
│ └── Cloudflare Worker code for routing AI requests
├── docker-compose.yml
└── README.md
git clone https://github.com/youruser/my-ai-signal-bot.git
cd my-ai-signal-bot
cp bot/.env.example bot/.env # then fill it outdocker-compose run signalbot signal-cli link -n my-signal-bot-nameThis should generate a url that you need to generate a QR code for. Scan the QR code using your Signal app.
docker-compose up -dcd worker
npm install
npx wrangler deploy- The Go bot uses
signal-clito receive messages. - Supported commands:
!ai <prompt>→ LLM completionqq <prompt>→ LLM completion🤖 <prompt>→ LLM completion
- Replies are returned and sent via Signal.
| Message | Bot Response |
|---|---|
hello |
Ignored |
!ai What is AI? |
LLM response |
GPLv3