80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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.2` |
|
|
| 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) |
|
|
|
|
## Build Targets
|
|
|
|
```bash
|
|
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).
|