Multi-Agent Chrome-Orchestrator
Starte 1-5 parallele Claude Code-Agenten, jeder mit einem eigenen Chrome-Browser, um Browseraufgaben gleichzeitig auszuführen.
Wann verwenden
- Kontaktformulare auf einer Liste von Websites einreichen
- Bewerbungen auf mehreren Plattformen ausfüllen
- JS-gerenderte Seiten scrapen, die echte Browserinteraktion benötigen
- Jede repetitive Browseraufgabe, bei der sequentielle Ausführung zu langsam ist
Architektur
Business workspace (orchestrator)
├── active/multi-chrome-agent/
│ ├── chat.md # Gemeinsame Koordinationsdatei
│ ├── launch_chrome.sh # Startet Chrome-Instanzen auf Ports 9223-9227
│ ├── kill_chrome.sh # Beendet alle Chrome-Instanzen
│ ├── chrome-agent-1/ # Arbeitsbereich für Agent 1
│ │ ├── .mcp.json # Chrome DevTools auf Port 9223
│ │ └── CLAUDE.md # Anweisungen zum Agentenverhalten
│ ├── chrome-agent-2/ # Port 9224
│ ├── chrome-agent-3/ # Port 9225
│ ├── chrome-agent-4/ # Port 9226
│ └── chrome-agent-5/ # Port 9227
Schritt-für-Schritt-Orchestrierung
1. Bestimmen, wie viele Agenten benötigt werden
Betrachte die Aufgabe. Wenn 10 Kontaktformulare auszufüllen sind, sind 3-5 Agenten gut. Wenn es 3 sind, verwende 2-3. Überprovisioniere nicht.
2. Chrome-Instanzen starten
bash /Users/nicksaraev/Business/active/multi-chrome-agent/launch_chrome.sh [ANZAHL]
Dies startet ANZAHL Chrome-Instanzen auf Ports 9223+. Warte auf die "READY"-Bestätigung für jede.
3. Chat-Datei zurücksetzen
Leere die Chat-Datei und schreibe Aufgabenverteilungen:
# Multi-Chrome-Agent Chat
## Orchestrator
[2026-03-05 14:30] Starte 3 Agenten für Kontaktformular-Einreichung.
### Agent 1 Aufgaben
1. Gehe zu https://example1.com/contact -> Formular ausfüllen: Name: "Nick Saraev", E-Mail: "[email protected]", Nachricht: "Hallo, ich interessiere mich für..."
2. Gehe zu https://example2.com/contact -> gleiches Formular ausfüllen
### Agent 2 Aufgaben
1. Gehe zu https://example3.com/contact -> Formular ausfüllen
2. Gehe zu https://example4.com/contact -> Formular ausfüllen
### Agent 3 Aufgaben
1. Gehe zu https://example5.com/contact -> Formular ausfüllen
2. Gehe zu https://example6.com/contact -> Formular ausfüllen
## Agent 1
## Agent 2
## Agent 3
4. Claude Code-Agenten starten
Öffne für jeden Agenten ein neues Terminal und führe aus:
cd /Users/nicksaraev/Business/active/multi-chrome-agent/chrome-agent-N && claude
Wobei N 1-5 ist. Jeder Agent wird:
- Seine CLAUDE.md (Browser-Worker-Anweisungen) aufnehmen
- Sich mit seiner Chrome-Instanz über seine lokale .mcp.json verbinden
- chat.md für seine Aufgabenverteilungen lesen
- Aufgaben ausführen und den Status zurück in chat.md melden
Programmatischer Start über osascript: Claude Code blockiert verschachtelte Sitzungen über die Umgebungsvariable CLAUDECODE. Um Agenten programmatisch aus einer bestehenden Sitzung zu starten, verwende osascript mit env -u, um die blockierenden Umgebungsvariablen zu entfernen:
for i in 1 2 3 4 5; do
osascript -e "tell application \"Terminal\" to do script \"cd /Users/nicksaraev/Business/active/multi-chrome-agent/chrome-agent-$i && env -u CLAUDECODE -u CLAUDE_CODE_ENTRYPOINT -u CLAUDE_AGENT_SDK_VERSION -u CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING -u CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS claude --dangerously-skip-permissions -p 'Du bist Agent $i. Lies /Users/nicksaraev/Business/active/multi-chrome-agent/chat.md, finde deine Aufgaben unter Agent $i und führe sie aus. Verwende das Chrome DevTools MCP, um Websites zu durchsuchen, Listings zu suchen und Daten zu sammeln. Schreibe deine Ergebnisse als Markdown-Tabelle zurück in chat.md unter dem Abschnitt Agent $i. Markiere dich als [WORKING] während der Arbeit und als [DONE] wenn fertig.'\""
sleep 2
done
Dies öffnet separate Terminal.app-Fenster, die jeweils eine unabhängige Claude Code-Sitzung mit eigenem Chrome DevTools MCP ausführen.
Manueller Fallback: Wenn osascript nicht funktioniert, sage dem Benutzer, er solle N Terminal-Tabs öffnen:
Tab 1: cd ~/Business/active/multi-chrome-agent/chrome-agent-1 && claude
Tab 2: cd ~/Business/active/multi-chrome-agent/chrome-agent-2 && claude
...
5. Fortschritt überwachen
Lese die Chat-Datei regelmäßig, um den Agentenstatus zu prüfen:
cat /Users/nicksaraev/Business/active/multi-chrome-agent/chat.md
Achte auf [DONE], [ERROR] oder [WORKING]-Tags von jedem Agenten.
6. Herunterfahren
Wenn alle Agenten [DONE] melden:
bash /Users/nicksaraev/Business/active/multi-chrome-agent/kill_chrome.sh
Chat-Protokoll
Agenten kommunizieren über die gemeinsame chat.md-Datei:
| Tag | Bedeutung |
|---|---|
[WORKING] | Agent bearbeitet aktiv eine Aufgabe |
[DONE] | Agent hat alle zugewiesenen Aufgaben abgeschlossen |
[ERROR] | Agent ist auf ein Hindernis gestoßen (CAPTCHA, Timeout usw.) |
[WAITING] | Agent ist im Leerlauf und wartet auf neue Aufgaben |
Port-Zuordnung
| Agent | Chrome-Port | Arbeitsbereich |
|---|---|---|
| 1 | 9223 | chrome-agent-1/ |
| 2 | 9224 | chrome-agent-2/ |
| 3 | 9225 | chrome-agent-3/ |
| 4 | 9226 | chrome-agent-4/ |
| 5 | 9227 | chrome-agent-5/ |
Port 9222 ist für das Haupt-Chrome-DevTools-MCP (nicht parallel) reserviert.
Edge Cases
- CAPTCHA: Agent meldet
[ERROR] CAPTCHA auf https://...im Chat. Der Orchestrator kann neu zuweisen oder überspringen. - Ratenbegrenzung: Wenn eine Website nach N Anfragen blockiert, verteile die URLs auf mehr Agenten, so dass jeder die Website seltener aufruft.
- Anmeldung erforderlich: Authentifiziere dich vor der Aufgabenverteilung in jeder Chrome-Instanz oder füge Anmeldeschritte zur Aufgabenliste hinzu.
- Langlaufende Aufgaben: Agenten lesen chat.md alle 30 Sekunden. Wenn der Orchestrator abbrechen muss, schreibe
[ABORT]in den Orchestrator-Abschnitt.