Skip to main content

Matrix chatbot powered by Ollama

Project description

ollamarama-matrix

License: Apache 2.0 Python 3.8+ Matrix Protocol Ollama GitHub

Ollamarama is a powerful AI chatbot for the Matrix chat protocol powered by the Ollama Chat API. Transform your Matrix rooms with an AI that can roleplay as virtually anything you can imagine — privately and locally.

Documentation

Features

  • Dynamic personalities with quick switching
  • Per‑user history, isolated per room and user
  • Collaborative mode to talk across histories
  • Admin controls for model switching and resets
  • Custom system prompts for specialized tasks

Related Projects

Installation

Options depending on how you prefer to run it:

  • From source (installs CLI):
    • Clone this repo, then run: pip install .
    • Or use pipx for isolation: pipx install .
  • From source without installing the package:
    • pip install -r requirements.txt
    • Run with: python -m ollamarama --config config.json

After installation, use the ollamarama-matrix command. For E2E encryption, ensure libolm is installed; see Operations & E2E.

Quick Start

Prerequisites

Install and familiarize yourself with Ollama to run local LLMs.

curl -fsSL https://ollama.com/install.sh | sh

Pull at least one model (recommended):

ollama pull qwen3

For deeper setup and verification steps, see Ollama Setup.

1) Install dependencies

pip install -r requirements.txt

2) Configure

Create or edit config.json at the repo root. See Configuration for a minimal example, full schema, and validation guidance.

3) Run

Preferred (installed command):

ollamarama-matrix --config config.json

Fetch models from the server (ignores ollama.models in config):

ollamarama-matrix --config config.json --server-models

Short form:

ollamarama-matrix -S --config config.json

Alternatively, run as a module:

python -m ollamarama --config config.json

4) Try It

  • The bot logs in and joins configured rooms
  • Send .ai hello or BotName: hello in a joined room
  • The bot replies and maintains per‑user history

Usage Guide

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
.model [name] (admin) Show/change model .model qwen3
.clear (admin) Reset globally for all users .clear
.help Show inline help .help
.verbose [on,off,toggle] (admin) Control inclusion of brevity clause for new conversations .verbose on
.thinking [on,off,toggle] (admin) Show or hide the thinking placeholder while generating .thinking off

Encryption Support

  • Works in encrypted Matrix rooms using matrix-nio[e2e] with device verification.
  • Requires libolm available to Python for E2E. If unavailable, you can run without E2E; see Getting Started (Install Dependencies).
  • Persist the store/ directory to retain device keys and encryption state.

Community & Policies

License

Apache-2.0 — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ollamarama_matrix-1.4.1.tar.gz (57.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ollamarama_matrix-1.4.1-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

Details for the file ollamarama_matrix-1.4.1.tar.gz.

File metadata

  • Download URL: ollamarama_matrix-1.4.1.tar.gz
  • Upload date:
  • Size: 57.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ollamarama_matrix-1.4.1.tar.gz
Algorithm Hash digest
SHA256 746582703e0441df374922d34012ae27b43a4249742e1dc1cce68206410eb8f9
MD5 0a84e203ba06b6c0366a7fee24c06718
BLAKE2b-256 5693f21a82de3c210f6c48219af0893d689b5b4fdda13d196a7da6d8072b0d56

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollamarama_matrix-1.4.1.tar.gz:

Publisher: pypi-publish.yml on h1ddenpr0cess20/ollamarama-matrix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollamarama_matrix-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ollamarama_matrix-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a407cba2b22009602a7b02db508a65ad53c767d7f9d5bf2742e97524053f0832
MD5 7ee24b3fd127e84d427f030df60cba81
BLAKE2b-256 a377244ac7615a140c707077eafb67a73f4df0367c5bfa8b5c06a5892f4f5097

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollamarama_matrix-1.4.1-py3-none-any.whl:

Publisher: pypi-publish.yml on h1ddenpr0cess20/ollamarama-matrix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page