Multi-Agent-Routing
Betreibe mehrere isolierte Agenten auf einem einzigen Gateway fuer Arbeit/Privat-Trennung, Familien-Sharing oder verschiedene KI-Persoenlichkeiten.
1.Was ist Multi-Agent-Routing?
Multi-Agent-Routing ermoeglicht es dir, mehrere isolierte KI-Agenten auf einem einzigen OpenClaw Gateway zu betreiben. Jeder Agent hat seine eigene Identitaet, seinen eigenen Speicher und seine eigene Konfiguration - teilt aber dieselbe Infrastruktur.
Jeder Agent hat:
Eigene Identitaet
Separater Name, Persoenlichkeit und System-Prompt
Isolierter Speicher
Unabhaengiger Gespraechsverlauf und Kontext
Eigene Tools
Unterschiedliche Tool-Berechtigungen pro Agent
Kanal-Bindungen
Bestimmte Kanaele zu bestimmten Agenten leiten
Haeufige Anwendungsfaelle
Arbeit/Privat-Trennung
Halte Arbeits-Slack getrennt von persoenlichem Telegram. Verschiedene Persoenlichkeiten, verschiedene Erinnerungen.
Familien-Sharing
Jedes Familienmitglied bekommt seinen eigenen Agenten mit personalisierten Antworten und privatem Speicher.
Verschiedene Persoenlichkeiten
Ein professioneller Assistent fuer E-Mail, ein lockerer Freund fuer Discord, ein kreativer Schreiber fuer Brainstorming.
Mehrere Konten
Verwalte mehrere WhatsApp-Nummern oder Telegram-Konten mit isolierten Agenten.
2.Kernkonzepte
Jeder Agent lebt in einem 'Arbeitsbereich' - einem Verzeichnis, das seine Konfiguration, seinen Speicher und seine Dateien enthaelt.
~/openclaw/agents/work/ âââ AGENTS.md # Define sub-agents and their specialties âââ SOUL.md # Agent personality and communication style âââ USER.md # Information about the user âââ skills/ # Agent-specific skills
- soul.mdâ Agent-Persoenlichkeit und System-Prompt
- user.mdâ Benutzerpraeferenzen und Kontext
- memory/â Gespraechsverlauf und Fakten
- skills/â Benutzerdefinierte Skills fuer diesen Agenten
Wichtig
Agenten teilen sich denselben Gateway-Prozess und dieselben API-Schluessel. Fuer echte Isolation (separate API-Schluessel, separate Prozesse), betreibe mehrere Gateway-Instanzen.
- - Rate-Limits werden von allen Agenten geteilt
- - API-Kosten werden zusammengefasst
- - Ein Absturz betrifft alle Agenten
Bindungen leiten eingehende Nachrichten basierend auf Kanal, Benutzer oder Gruppe an den richtigen Agenten.
// Example: Route WhatsApp business account to work agent
{
"bindings": [{
"agent": "work",
"channel": "whatsapp",
"accountId": "business-account-id"
}]
}3.Schritt-fuer-Schritt-Einrichtung
Neuen Agenten erstellen
Erstelle ein Arbeitsbereich-Verzeichnis fuer deinen neuen Agenten:
openclaw agents add work
Dies erstellt einen neuen Agenten mit seinem eigenen Arbeitsbereich-Verzeichnis.
Arbeitsbereich konfigurieren
Erstelle die Persoenlichkeits- und Benutzerdateien des Agenten:
soul.md - Agent-Persoenlichkeit:
# Work Assistant Soul You are a professional work assistant. Be formal, concise, and focused on productivity. Avoid casual language. ## Communication Style - Use professional language - Be direct and efficient - Focus on actionable items - Respect work-life boundaries
user.md - Benutzerkontext:
# User Profile - Work Context - Role: Software Engineer at Acme Corp - Working hours: 9 AM - 6 PM PST - Key projects: Project Alpha, Customer Portal - Slack workspace: acme-corp.slack.com
Kanal-Bindungen einrichten
Leite Kanaele zu deinem neuen Agenten in openclaw.json:
{
"agents": {
"default": {
"workspace": "~/openclaw/agents/default",
"agentDir": "~/openclaw/state/default"
},
"work": {
"workspace": "~/openclaw/agents/work",
"agentDir": "~/openclaw/state/work"
}
},
"bindings": [
{
"agent": "work",
"channel": "whatsapp",
"accountId": "work-phone-id"
},
{
"agent": "work",
"channel": "slack",
"teamId": "T123ACMECORP"
}
],
"defaultAgent": "default"
}Bindungen teilen OpenClaw mit, welcher Agent Nachrichten von jedem Kanal verarbeiten soll.
Sicherheit konfigurieren (Optional)
Setze Sandbox-Modus und Tool-Einschraenkungen fuer den Agenten:
{
"agents": {
"work": {
"workspace": "~/openclaw/agents/work",
"agentDir": "~/openclaw/state/work",
"sandbox": "all",
"tools": {
"allow": ["calendar", "email", "notes"],
"deny": ["shell", "browser"]
}
},
"home": {
"workspace": "~/openclaw/agents/home",
"agentDir": "~/openclaw/state/home",
"sandbox": "non-main",
"tools": {
"allow": ["*"],
"deny": []
}
}
}
}Einrichtung ueberpruefen
Starte OpenClaw neu und teste deine Multi-Agent-Einrichtung:
openclaw agents list
openclaw agents test --channel whatsapp --from +1234567890
4.Konfigurationsbeispiele
Leite verschiedene WhatsApp-Nummern zu verschiedenen Agenten:
{
"agents": {
"personal": { "workspace": "~/.openclaw/personal" },
"business": { "workspace": "~/.openclaw/business" }
},
"bindings": [
{ "channel": "whatsapp:+1234567890", "agent": "personal" },
{ "channel": "whatsapp:+0987654321", "agent": "business" }
]
}Verwende GPT-4 fuer Arbeit, Claude fuer Privat:
{
"agents": {
"work": {
"workspace": "~/.openclaw/work",
"model": "gpt-4o"
},
"personal": {
"workspace": "~/.openclaw/personal",
"model": "claude-3-5-sonnet-20241022"
}
}
}Verschiedene Agenten fuer verschiedene Discord-Server oder Slack-Arbeitsbereiche:
{
"bindings": [
{ "channel": "discord", "guild": "gaming-server-id", "agent": "gaming-buddy" },
{ "channel": "discord", "guild": "work-server-id", "agent": "work-assistant" },
{ "channel": "slack", "workspace": "company-workspace", "agent": "work-assistant" }
]
}Jedes Familienmitglied bekommt seinen eigenen Agenten ueber die Telegram-Benutzer-ID:
{
"agents": {
"dad": { "workspace": "~/.openclaw/dad" },
"mom": { "workspace": "~/.openclaw/mom" },
"kids": { "workspace": "~/.openclaw/kids", "sandbox": "all" }
},
"bindings": [
{ "channel": "telegram", "userId": "123456", "agent": "dad" },
{ "channel": "telegram", "userId": "789012", "agent": "mom" },
{ "channel": "telegram", "userId": "345678", "agent": "kids" }
]
}5.Binding-Prioritaet
Wenn mehrere Bindungen passen koennten, verwendet OpenClaw die spezifischste:
- 1
Benutzerspezifisch
Bindungen mit userId haben Vorrang
{ "channel": "telegram", "userId": "123", "agent": "personal" } - 2
Gruppenspezifisch
Bindungen mit group/guild/workspace kommen als zweites
{ "channel": "discord", "guild": "abc", "agent": "gaming" } - 3
Kanalspezifisch
Nur-Kanal-Bindungen kommen zuletzt
{ "channel": "telegram", "agent": "default" }
Beispiel
Wenn du Bindungen fuer 'telegram' (Standard) und 'telegram + userId:123' (persoenlich) hast, gehen Nachrichten von Benutzer 123 an 'personal', alle anderen an 'default'.
6.Sicherheit & Sandboxing
Steuere, was jeder Agent mit Sandbox-Modi und Tool-Richtlinien tun kann.
Beschraenke Agent-Faehigkeiten basierend auf Vertrauensstufe:
"sandbox": "off"VollzugriffAgent kann alle Tools verwenden. Fuer vertrauenswuerdige persoenliche Agenten.
"sandbox": "non-main"EingeschraenktDatei-/Shell-Zugriff nur auf Arbeitsbereich-Verzeichnis beschraenken.
"sandbox": "all"StrengKein Dateisystem- oder Shell-Zugriff. Nur Chat und Web.
Feingranulare Kontrolle darueber, welche Tools ein Agent verwenden kann:
{
"agents": {
"restricted": {
"workspace": "~/openclaw/agents/restricted",
"agentDir": "~/openclaw/state/restricted",
"tools": {
// Only allow these specific tools
"allow": ["calendar", "notes", "reminders"],
// Explicitly block dangerous tools
"deny": ["shell", "filesystem", "browser", "email"]
}
},
"trusted": {
"workspace": "~/openclaw/agents/trusted",
"agentDir": "~/openclaw/state/trusted",
"tools": {
// Allow everything except...
"allow": ["*"],
"deny": ["shell"] // Still block shell for safety
}
}
}
}Standardmaessig koennen Agenten nur auf Dateien innerhalb ihres Arbeitsbereich-Verzeichnisses zugreifen. Dies verhindert, dass ein Agent den Speicher oder die Dateien eines anderen lesen kann.
{
"agents": {
"work": {
"workspace": "~/openclaw/agents/work",
"agentDir": "~/openclaw/state/work",
"filesystem": {
// Only allow access to these directories
"allowedPaths": [
"~/Documents/Work",
"~/Projects",
"/tmp"
],
// Block access to sensitive areas
"blockedPaths": [
"~/.ssh",
"~/.aws",
"~/Documents/Personal"
]
}
}
}
}Multi-Agent bereit!
Du hast jetzt isolierte Agenten fuer verschiedene Anwendungsfaelle.
Fragen? Discord beitreten oder GitHub-Issue oeffnen