26417d22daf1cef06b4eac01018848664c8cbf10
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).
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%