matrix-sdk 0.17.0 brings a few breaking API changes that we adapt to: - Drop the `native-tls` feature on matrix-sdk; it was removed upstream in 2026-04 (matrix-sdk now hardwires rustls). The previous workaround comment referencing rust-mxlink issue #1 is no longer relevant. - `Relation::Reply` is now a tuple variant wrapping a `Reply` struct; pattern matches updated to bind through `reply.in_reply_to.event_id`. Also bumps the Rust toolchain from 1.93.0 to 1.95.0 (closes #85, which proposed the Dockerfile bump in isolation). rustc 1.94+ trips a query-depth overflow when computing async layouts in the matrix-sdk timeline future graph; matrix-rust-sdk PR #6489 raises the limit, but \`recursion_limit\` is per-crate, so we repeat \`#![recursion_limit = "256"]\` on this crate root. Bumps the mxlink floor to 1.14.0, which carries the matching adapter. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
baibot
🤖 baibot is an AI (Large Language Model) bot for Matrix built by etke.cc (managed Matrix servers).
The name is pronounced 'bye'-bot and is a play on AI, referencing the fictional character 🇧🇬 Bai Ganyo.
It's designed as a more private and featureful alternative to matrix-chatgpt-bot. It's influenced by chaz, but does not use the AIChat CLI tool and instead does everything in-process, without forking.
🌟 Features
-
🎨 Encourages provider choice (Anthropic, Groq, LocalAI, OpenAI and ☁️ many more) as well as mixing & matching models:
-
Supports different use purposes (depending on the ☁️ provider & model):
- 💬 text-generation: communicating with you via text (though certain models may "see" images as well). The OpenAI provider also supports 🛠️ built-in tools (web search, code interpreter)
- 🦻 speech-to-text: turning your voice messages into text
- 🗣️ text-to-speech: turning bot or users text messages into voice messages
- 🖌️ image-generation: creating and editing images based on instructions
-
🪄 Supports seamless voice interaction (turning user voice messages into text, answering in text, then turning that text back into voice)
-
🦻 Supports transcribe-only mode (turning user voice messages into text, without doing text-generation)
-
🗣️ Supports text-to-speech-only mode (turning user text messages into voice, without doing text-generation)
-
🔒 Supports encryption for Matrix communication and Account-Data-stored configuration
-
♻️ Supports context-management handling on some models (automatically adjusting the message history length, etc.)
-
🛠️ Allows customizing much of the bot's configuration at runtime (using commands sent via chat)
-
👥 Actively maintained by the team at etke.cc
🖼️ Screenshots
You can find more screenshots on the 🌟 Features and other 📚 Documentation pages, as well as in the docs/screenshots directory.
🚀 Getting Started
🗲 For a quick experiment, you can refer to the 🧑💻 development documentation which contains information on how to build and run the bot (and its various dependency services) locally.
For a real installation, see the 🚀 Installation documentation which contains information on 🐋 Running in a container and 🖥️️️️️ Running a binary.
📚 Documentation
See the bot's 📚 documentation for more information on how to use and configure the bot.
💻 Development
See the bot's 🧑💻 development documentation for more information on how to develop on the bot.
📜 Changes
This bot evolves over time, sometimes with backward-incompatible changes.
When updating the bot, refer to the changelog to catch up with what's new.
🆘 Support
-
Matrix room: #baibot:etke.cc
-
GitHub issues: etkecc/baibot/issues
