Mattermost: Agent-Kommunikation
Tools · 6 min
Mattermost ist ein self-hosted Messaging-Tool und dient als zentraler Kommunikationsbus für AI-Agenten. Webhooks, Bot-Integration, Thread-Support und DSGVO-konform — alles was ein Multi-Agent System für Koordination braucht.
Mattermost ist unser zentraler Kommunikationsbus für alle Agenten. Statt einzeln mit jedem Agent zu chatten, läuft alles über einen Nachrichtenkanal. Das macht Koordination einfach und schafft einen automatischen Audit-Trail.
Warum Mattermost?
- Open Source — alle Daten bleiben lokal
- Webhook-fähig — perfekt für Automation
- Thread-Unterstützung — Kontexte bleiben sortiert
- Markdown-Support — strukturierte Nachrichten
- DSGVO-konform — kein US-Cloud-Zwang
Unser Setup
| Channel | Zweck |
|---|---|
| #echo_log | Haupt-Channel für Agent-Tasks |
| #infra-alerts | Monitoring-Alerts |
| #shop-orders | Bestellungen, Stripe |
| #dev-deployments | Deploy-Status |
| #email-inbox | Eingehende E-Mails |
Docker Compose Setup
# docker-compose.yml
services:
mattermost:
image: mattermost/mattermost-enterprise-edition
ports:
- "8065:8065"
volumes:
- ./data:/mattermost/data
- ./config:/mattermost/config
environment:
- MM_SERVICESETTINGS_SITEURL=http://mattermost.local:8065
- MM_SERVICESETTINGS_LISTENADDRESS=:8065
- MM_TEAMSSETTINGS_SITENAME=Echo_log
restart: unless-stoppedNach dem Start: http://localhost:8065 — erster User wird Admin.
Agent-Polling
Jeder Agent hat ein Polling-Skript, das ständig den Channel überwacht:
# Python: Polling-Loop
import mattermostdriver
driver = Mattermost({
'url': 'mattermost.example.com',
'token': 'your-bot-token',
'team_name': 'echo_log'
})
async def poll_channel():
while True:
posts = driver.posts.get_posts_for_channel('channel-id')
for post in posts['posts'].values():
if not post.get('metadata'):
continue
if 'Developer-Agent' in post['message']:
task = parse_task(post['message'])
result = await execute(task)
post_response(post['root_id'], result)
await asyncio.sleep(10)
# Start polling
asyncio.run(poll_channel())Nachrichten-Format
# Task-Request
Developer-Agent Bitte deploye die neue Landing Page auf .99
# Response (durch Agent)
CEO Deployment abgeschlossen.
- Branch: feature/new-landing
- URL: https://ai-engineering.at
- Build: erfolgreich
- Dauer: 3min 22s
# Thread-Antwort (besser für Debugging)
CEO Ich schaue mir das mal an...
- Checking branch exists...
- Running docker build...
- Deploying to production...
✓ Fertig!Webhook-Integration
Mattermost Webhooks ermöglichen externe Integration:
# Outgoing Webhook (zu anderen Diensten)
curl -X POST -H "Content-Type: application/json" -d '{
"text": "Neue Bestellung: EUR 49",
"channel": "shop-orders",
"username": "stripe-bot",
"icon_emoji": ":moneybag:"
}' https://mattermost.example.com/hooks/xxx-webhook-id
# Incoming Webhook (von anderen Diensten)
# z.B. Stripe -> Webhook -> Mattermost
curl -X POST -H "Content-Type: application/json" -d '{
"text": "🚨 Payment Failed: Kunde #12345",
"attachments": [{
"color": "#FF0000",
"fields": [{"title": "Betrag", "value": "€49.00"}]
}]
}' https://mattermost.example.com/hooks/xxxBot erstellen
- Als Admin: Integration → Bot → "Bot erstellen"
- Token kopieren (wird nur einmal angezeigt)
- Bot zum Channel hinzufügen: Channel → Mitglieder → "Bot hinzufügen"
Best Practices
- • Immer @mention verwenden — sonst ignorieren Agents
- • Klare Struktur: Task → Kontext → Erwartetes Ergebnis
- • Antworten im Thread — Channel bleibt sauber
- • Fehler sofort posten — Transparenz
- • Status-Updates bei langen Tasks
Mattermost hat ein Limit von 4.000 Zeichen pro Nachricht. Bei laengeren Agent-Antworten muss der Text automatisch an Absatz-Grenzen gesplittet werden.
Zusammenfassung
Mattermost ist das Nervensystem unseres Agenten-Teams. Jede Kommunikation wird automatisch geloggt — gut für Audit und Debugging.
Quellen
- Mattermost — Offizielle Website
- Mattermost Developer Documentation — API, Webhooks, Bots
- GitHub: mattermost/mattermost — Source Code
- Mattermost API Reference — REST API v4
War dieser Artikel hilfreich?
Nächster Schritt: Workflows sauber in Betrieb bringen
Nutze bewährte n8n-Patterns, Templates und Integrationen für Workflows, die lokal, dokumentiert und auditierbar bleiben.
- Lokal und self-hosted gedacht
- Dokumentiert und auditierbar
- Aus eigener Runtime entwickelt
- Made in Austria