2026-06-17 01:47:37 +02:00

Mattermore

AI chat agent for Mattermost — powered by Ollama.

Ask questions, draft content, and get AI assistance directly in your Mattermost channels using /ai slash commands. All inference runs on your own Ollama server — no data leaves your infrastructure.

Status: Pre-implementation. Design is in DESIGN.md.


Features

  • /ai <prompt> — Chat with the default model
  • /ai model <name> <prompt> — Use a specific model
  • /ai new — Reset conversation context
  • /ai model list — List available models
  • /ai help — Show usage help
  • Configurable Ollama endpoint, model, system prompt, rate limits
  • Streaming responses updated live in ephemeral posts
  • Per-channel per-user conversation context (configurable retention)

Prerequisites

  • Mattermost Server v8.x (Community Edition)
  • Ollama running and reachable from the Mattermost server
  • Go ≥ 1.21 (for building)

Quick Start

# Clone the repository
git clone https://gitea.forkless.com/forkless/mattermore.git
cd mattermore

# Build the plugin
make dist

# Upload via Mattermost System Console → Plugins → Upload Plugin
# Or via API:
curl -X POST $MM_URL/api/v4/plugins \
  -H "Authorization: Bearer $MM_TOKEN" \
  -F "plugin=@dist/com.forkless.mattermore-0.1.0.tar.gz"

Configuration

Configure via Mattermost System Console → Plugins → Mattermore:

Setting Description Default
Ollama Server URL Base URL of the Ollama API http://localhost:11434
Default Model Model used when none specified llama3:latest
System Prompt Prepended to every conversation You are a helpful assistant.
Max Response Tokens Max tokens per response (0 = model default) 2048
Rate Limit Requests/minute/user (0 = unlimited) 10
Allowed User IDs Comma-separated user IDs (empty = all users) (empty)

Local Testing

A disposable Mattermost + PostgreSQL rig is provided in dev/docker-compose.yml:

# Start the test server (background)
docker compose -f dev/docker-compose.yml up -d

# Wait for health check (~45s first time)
docker compose -f dev/docker-compose.yml ps

# Upload your built plugin
curl -X POST http://localhost:8065/api/v4/plugins \
  -H "Authorization: Bearer $TOKEN" \
  -F "plugin=@dist/com.forkless.mattermore-0.1.0.tar.gz"

# Tear down (wipes DB + config)
docker compose -f dev/docker-compose.yml down

# Full reset (also removes volumes)
docker compose -f dev/docker-compose.yml down -v

Build Targets

make dist         # Build all platform binaries and package plugin
make check        # Lint + test
make clean        # Remove build artifacts

Documentation

File What it covers
DESIGN.md Functional design, architecture, data flow, open decisions
PROJECT.md Project structure, key files, dependencies
DECISIONS.md Rationale behind architectural choices
CHANGES.md Per-release changelog

License

MIT (to be confirmed — see LICENSE once added).

S
Description
AI chat agent for Mattermost — powered by Ollama. Ask questions, draft content, and get AI assistance directly in your Mattermost channels using /ai slash commands. All inference runs on your own Ollama server — no data leaves your infrastructure.
Readme
436 KiB
Languages
Go 93.1%
Makefile 4.7%
Shell 2.2%