kschwank 2d659964a7 Add sender context mode for text generation (#104)
Add a per-room/global `sender_context_mode` setting that optionally
prefixes conversation messages with sender metadata before sending them
to the model provider.

This helps models distinguish between participants in multi-user rooms.
                                                                                                                                                                                                                                                             
Three modes are supported:
- `disabled` (default, no change)
- `matrix_user_id` (prefixes with `[sender=@user:server]`)
- `matrix_user_id_and_timestamp` (adds `send_at`; Example: `[sender=@user:server sent_at=<ISO 8601>]`)
                                                                                                                                                                                                                                                             
Sender context is applied to user and assistant text messages only,
skipping system prompts and non-text content.

Mixed-sender merged turns (something we intentionally do for Anthropic)
have their `sender_id` cleared to avoid misattribution.
2026-03-25 20:14:34 +02:00
2026-03-24 14:05:35 +02:00
2026-03-24 14:05:35 +02:00
2026-03-24 14:05:35 +02:00
…
…
…
…

baibot logo

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

🖼️ Screenshots

Introduction and general usage

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

Description
BaiBot, but with MCP added in (yes, it's vibecoded. womp womp)
Readme AGPL-3.0 4.4 MiB
Languages
Rust 97.6%
Just 2%
Shell 0.2%
Dockerfile 0.2%