No description
- Rust 97.6%
- Just 2%
- Shell 0.2%
- Dockerfile 0.2%
|
Some checks failed
CI (main and tags) / Unit testing and linting (push) Has been cancelled
CI (main and tags) / docker-clean-metadata (push) Has been cancelled
CI (main and tags) / docker-build (amd64, self-hosted) (push) Has been cancelled
CI (main and tags) / docker-build (arm64, ubuntu-24.04-arm) (push) Has been cancelled
|
||
|---|---|---|
| .github/workflows | ||
| docs | ||
| etc | ||
| src | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| Dockerfile | ||
| Dockerfile.ci | ||
| justfile | ||
| LICENSE | ||
| mise.toml | ||
| README.md | ||
| renovate.json | ||
| rust-toolchain.toml | ||
robbot
🤖 robbot is a Matrix bot focused on a small runtime surface and static OpenAI-compatible backends.
It is configured with a fixed list of named backends such as openrouter, ollama, or cerebras, and users can switch between those backend names at runtime with !bai model <backend-name>.
🌟 Features
- static named backends defined in config as
{ name, api_key?, model, url } - OpenAI-compatible API focus with
/v1/chat/completionsand/v1/models - text-first conversations in Matrix rooms and threads
- room-level backend switching plus thread-local backend overrides
- support for image inputs plus built-in PDF handling: direct text extraction, bounded OCR fallback, then page-image fallback
- encrypted Matrix communication and persisted room/global state
🚀 Getting Started
- For playbook installation, see Setting up robbot
- For local runs and hacking, see development documentation
- For runtime behavior, see usage and configuration
📚 Documentation
See the bot's documentation for the rest of the docs tree.
📜 Changes
See CHANGELOG.md for historical changes inherited from the fork and newer robbot-specific work.