Systemdokumentation — Stand 18. März 2026
Ein Multi-Agent-System auf Basis von OpenClaw. Mehrere KI-Agenten mit eigenen Workspaces, Zuständigkeiten und Tools — koordiniert über zentrale Governance-Schichten.
Marvin hat KI-Agenten für verschiedene Lebensbereiche (Arbeit, Büro, Kalender, Tools, Projekte), die über WhatsApp/Telegram erreichbar sind und untereinander koordiniert werden.
11 spezialisierte Agenten mit eigenen Workspaces
Agenten-Governance: Rollen, Grenzen, Kontextverteilung
Tool-Governance: Inventar, Audit, Freigaben, Qualität
Autonome Projektabarbeitung per Cron
| Schicht | Zuständigkeit | Pfad |
|---|---|---|
| Gateway | Nachrichtenrouting, Heartbeat, Cron | OpenClaw Core |
| Agenten | Je ein Workspace pro Rolle/Chat | ~/.openclaw/workspace-* |
| WeAreOne | Agenten-Governance, Regeln, Rechte | ~/.openclaw/WeAreOne/ |
| WeHaveTools | Tool-Inventar, Audit, Freigaben | ~/.openclaw/shared/tools/ |
| Shared Tools | Cross-Agent-Tools | ~/.openclaw/shared/tools/<id>/ |
| Local Tools | Agent-spezifische Tools | workspace-*/tools/ |
| Runner | Autonome Projektabarbeitung | workspace/tools/runner.mjs |
Jeder Agent hat einen eigenen Workspace mit eigenen Startdateien (AGENTS.md, SOUL.md, TOOLS.md, LOCAL.md). Agenten sind über WhatsApp-Gruppen, Telegram oder direkte Chats erreichbar.
Generalist, Systembau, Admin, persönlicher Hauptchat
Festanstellung — HfMT, Novatime, Sciebo, Asimut
Private Büroorganisation mit Moni
Kalender-Extraktion und Terminpflege
Governance-Zentrale / WeAreOne Manager
Koordinierender privater Ralf
Tool-Wächter / Tool-Manager
Ordnungs-Wächter / Konventions-Wächter
Reporting-Agent / Statusbote
Eigener Agent (Kyra-Kontext)
Eigener Agent (Moritz-Kontext)
WeAreOne bestimmt die Governance (wer darf was).
WeHaveTools bestimmt die Tool-Freigabe im Rahmen dieser Governance (was gibt es, was taugt, wer bekommt es).
Keine Vermischung: WeAreOne schreibt keine Tool-Qualitätsregeln. WeHaveTools ändert keine Agent-Rollen.
| Klasse | Wo | Wer | Regel |
|---|---|---|---|
| Local | workspace-*/tools/ |
Nur der zuständige Agent | Nur wenn wirklich agent-spezifisch |
| Shared | ~/.openclaw/shared/tools/<id>/ |
Mehrere Agenten | Voller Mindeststandard, portabel, auditiert |
| Quarantine | shared/tools/_quarantine/ |
Niemand (gesperrt) | Kaputt, unklar oder abgelöst |
| Tool | Agent | Scope | Status | Zweck |
|---|---|---|---|---|
| runner.mjs | main | local | beta | Autonome Projektabarbeitung per Cron |
| wehavetools | wehavetools | shared | beta | Tool-Inventar, Audit, Freigaben |
| hfmt_novatime | work | local | aktiv | Zeiterfassung HfMT |
| hfmt_mail | work | local | aktiv | HfMT E-Mail (Exchange) |
| hfmt_asimut | work | local | aktiv | Raumverwaltung HfMT (read-only) |
| google (gog) | main/dinkel | local | aktiv | Gmail, Calendar, Drive, Contacts |
| lovetodo | ralfxprivate | local | experimental | Mindmap-/Selbstorganisation |
| openclaw_ops | main | local | beta | OpenClaw-Betriebshelfer |
Einziger kanonischer Weg, einen Plan autonom abarbeiten zu lassen. Kein Template, kein Copy-Paste.
Marvin beschreibt das Projekt im Chat — oder gibt einer externen KI den Prompt (runner prompt).
Enthält goal (unveränderliches Ziel), acceptance (Abnahmekriterien), constraints und steps (veränderbare Schritte).
runner validate prüft das Schema. runner start legt Cron-Jobs an und triggert den ersten Run.
Alle 2 Min ein Step. Runner darf recherchieren, improvisieren, Steps anpassen. Aber: goal + acceptance sind heilig.
Nach jedem Step kommt eine Nachricht. Watcher meldet alle 5 Min den Kurzstatus. Bei Blocker: präzise Meldung.
Jeder Runner-Turn bekommt RUNNER_CONTEXT.md injected — mit expliziten Workspace-Grenzen, geschützten Dateien und verbotenen Aktionen. Der Runner darf nur im eigenen Projektordner und im Main-Workspace arbeiten.
| Feld | Veränderbar? | Beschreibung |
|---|---|---|
| goal | ❌ Nein | Was am Ende existieren muss |
| acceptance | ❌ Nein | Prüfbare Abnahmekriterien |
| constraints | ❌ Nein | Was nicht passieren darf |
| steps | ✅ Ja | Aktueller Weg — darf angepasst werden |
| status | ✅ Ja | running → completed |
Agenten sind über verschiedene Messaging-Kanäle erreichbar. Jeder Chat ist einem Workspace zugeordnet.
| Chat/Kanal | Agent | Plattform | Wer darf reden |
|---|---|---|---|
| 1:1 mit Marvin | main (Ralf) | Marvin | |
| Stille Post | main (Ralf) | Marvin | |
| Fräulein Dinkel | dinkel | WhatsApp-Gruppe | Marvin, Moni |
| Kalender-Chat | kalender | Marvin, Kyra | |
| WeAreOne Manager | agentur/work | WhatsApp-Gruppe | Marvin |
| WeHaveTools | wehavetools | WhatsApp-Gruppe | Marvin |
| lovetokolf.it | moe | Marvin, Moritz | |
| Telegram (privat) | diverse | Telegram | Marvin |
Jedes Tool muss diesen Standard erfüllen — damit Menschen UND KIs es bedienen können.
Zweck in 1-2 Sätzen, alle Befehle, Optionen, 1-3 Beispiele. Kein Insider-Wissen nötig.
Prüft Dependencies, Credentials, Grundfunktion. Läuft auch ohne Credentials und sagt was fehlt.
Zweck, Installation, Konfiguration, Beispiele, Owner/Status, Einschränkungen.
0 = Erfolg, 1 = Fehler. Keine stillen Fehler.
Was ging schief? Warum? Was tun? Keine kryptischen Codes.
Maschinenlesbarer Output als Option. Mensch bleibt Default.
| Stufe | Bedeutung | Freigabe |
|---|---|---|
| experimental | Funktioniert teilweise, Standard nicht voll erfüllt | Nur Owner |
| beta | Standard erfüllt, noch nicht auditiert | Nach Prüfung |
| active | Standard erfüllt, auditiert, freigegeben | Laut Freigabeliste |
| deprecated | Abgelöst, Nachfolger dokumentiert | Nicht mehr freigeben |
| quarantine | Kaputt, unklar oder problematisch | Gesperrt |
Das System wächst. Hier die wichtigsten Ecken an denen noch gearbeitet werden muss: