InfiniGPT is a powerful AI chatbot for the Matrix chat protocol that can roleplay as almost anything you can imagine. It supports multiple providers — OpenAI, xAI, Google, Mistral, Anthropic — and optional local models via Ollama and LM Studio. Each user has a separate conversation history per room, with dynamic personalities and admin controls for models and resets.
Also available for IRC: https://github.com/h1ddenpr0cess20/infinigpt-irc
Ollama-only version at https://github.com/h1ddenpr0cess20/ollamarama-matrix
- Overview
- Getting Started
- Configuration
- Commands
- Tools & MCP
- Images Directory
- Docker
- CLI Reference
- Operations & E2E
- Architecture
- Ollama Setup
- LM Studio Setup
- Development
- Migration
- Legacy Map
- Security
- Not a Companion
- AI Output Disclaimer
- Dynamic personalities with quick switching
- Per‑user history, isolated per room and user
- Collaborative mode to talk across histories
- Multi‑provider LLMs with unified model selection
- Tool calling (builtin and MCP) for actions and lookups
- Admin controls for model switching and global resets
From source (installs CLI):
pip install .- Or use pipx:
pipx install .
From source without installing the package:
pip install -r requirements.txt- Run with:
python -m infinigpt --config config.json
After installation, use the infinigpt-matrix command.
- Create a Matrix account for the bot and note the server URL, username, and password.
- Choose providers. For cloud providers, set API keys via env or
config.json. For local models, install Ollama or LM Studio - Create
config.json. See Configuration for full schema - Run:
- Installed command:
infinigpt-matrix --config config.json - As module:
python -m infinigpt --config config.json
Common commands (see Commands for the full list):
| Command | Description | Example |
|---|---|---|
.ai <message> or BotName: <message> |
Chat with the AI | .ai Hello there! |
.x <user> <message> |
Continue another user's conversation | .x Alice What did we discuss? |
.persona <text> |
Change your personality | .persona helpful librarian |
.custom <prompt> |
Use a custom system prompt | .custom You are a coding expert |
.reset / .stock |
Clear history (default/stock prompt) | .reset |
.mymodel [name] |
Show/change personal model | .mymodel gpt-4o-mini |
| `.model [name | reset]` (admin) | Show/change model |
.clear (admin) |
Reset globally for all users | .clear |
.help |
Show inline help | .help |
- Works in encrypted Matrix rooms using
matrix-nio[e2e]with device verification. - Requires
libolmavailable to Python for E2E. If unavailable, you can run without E2E; see Operations and Verification. - Persist the
store/directory to retain device keys and encryption state.
- Code of Conduct: Code of Conduct
- Contributing: Contributing
- Security Policy: Security Policy
- Security Guide: Security Guide
AGPL‑3.0 — see License for details.