Cici Matrix Bot is highly customizable Matrix chat bot that lets users interact with LLMs directly within a Matrix room.
- Python 100%
| config | ||
| src | ||
| bot.py | ||
| README.md | ||
| requirements.txt | ||
Cici Matrix Bot
Cici Matrix Bot is an AI chat interface bot for the Matrix chat platform that lets users interact with LLMs directly within a Matrix room.
Features
- Supports all LLM providers with OpenAI compatible API endpoints (e.g.: Google Gemini, Alibaba Cloud, OpenRouter, Ollama, ChatGPT, etc.)
- Real-time chat with the LLM of your choice in unencrypted Matrix rooms
- Prompt settings to customize LLM personality and behavior
- Optional granular control over model settings: temperature, max_tokens, top_p, reasoning_effort, etc.
- Supports image input in case a vision capable model is used. Image output is not supported.
- Fetch message context from the reply chain
Prerequisites
- Python 3.10+
- Matrix user account dedicated for the bot
- API key provided by your choice of LLM provider
Installation
- Clone the repository
https://git.blackruby.hu/blackruby/cici-matrix-bot.git - Install dependencies using
pip install -r requirements.txt - Configure the bot by editing
config/settings.yaml
Usage
Run the bot with python bot.py
Interacting with the bot
- Invite the bot to your room, it will join automatically
- To chat with the bot, tag it in your message
- To continue the conversation, keep replying to the bot's message
- To ask the bot to analyze an image, upload it or reply to the message containing the image while tagging the bot
Using tools
When mentioning the bot, in your message you can provide a set of supported instructions to have the bot execute them.
- Ping: ask the bot to ping a specific IP address or domain
- Traceroute: ask the bot to perform a traceroute to a specific IP address or domain
- Time: ask the current time in any timezone, the bot will look it up and tell you
- Matrix last mentioned: ask the bot to find who mentioned you last and provide you with a link to that message.
- Web search: when asking about specific topics, the bot will automatically search for them on the web and provide you an answer based on the search results.