This actually fixes 2 issues. Fixes https://github.com/etkecc/baibot/issues/14 Fixes https://github.com/etkecc/baibot/issues/17 When people enable transcribe-only mode and the bot replies outside of a thread, messages will no longer look like this: `> 🦻 Transcribed text`. Instead, they will: - look like this: `Transcribed text` - get an emoji reaction (🦻) sent by the bot itself, to indicate that the message is a transcription --------------------------------------- As https://github.com/etkecc/baibot/issues/14 discusses, the `> 🦻` prefixing of messages also served the purpose of indicating to the bot that this is not its own message, but rather something it "heard" from a user. Given that out-of-thread replies no longer include this, they could be mistaken for bot messages. Because transcribed messages are posted as notice messages, we can easily tell them apart from regular text-generated messages by the bot itself, so we can (and do) treat them differently. Thankfully, the bot does not yet support building a text-generation conversation from arbitrary messages (something discussed in https://github.com/etkecc/baibot/issues/15), so these out-of-thread replies having the wrong owner are not an issue for now. If we do land support for this, we'll probably need to make the bot inspect such notice messages posted by it, inspect their reactons and attribute them properly (🦻 -> user message).
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
- 🦻 speech-to-text: turning your voice messages into text
- 🗣️ text-to-speech: turning bot or users text messages into voice messages
- 🖌️ image-generation: generating 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 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
