Orchestrateur Multi-Agent Chrome
Lancez 1 à 5 agents Claude Code en parallèle, chacun avec son propre navigateur Chrome, pour effectuer des tâches de navigation simultanément.
Quand l'utiliser
- Soumettre des formulaires de contact sur une liste de sites Web
- Remplir des candidatures sur plusieurs plateformes
- Scraper des pages rendues par JS qui nécessitent une interaction réelle avec le navigateur
- Toute tâche de navigation répétitive où l'exécution séquentielle est trop lente
Architecture
Business workspace (orchestrateur)
├── active/multi-chrome-agent/
│ ├── chat.md # Fichier de coordination partagé
│ ├── launch_chrome.sh # Génère des instances Chrome sur les ports 9223-9227
│ ├── kill_chrome.sh # Détruit toutes les instances Chrome
│ ├── chrome-agent-1/ # Espace de travail pour l'Agent 1
│ │ ├── .mcp.json # Chrome DevTools sur le port 9223
│ │ └── CLAUDE.md # Instructions de comportement de l'agent
│ ├── chrome-agent-2/ # Port 9224
│ ├── chrome-agent-3/ # Port 9225
│ ├── chrome-agent-4/ # Port 9226
│ └── chrome-agent-5/ # Port 9227
Orchestration étape par étape
1. Déterminez le nombre d'agents nécessaires
Examinez la tâche. S'il y a 10 formulaires de contact à remplir, 3 à 5 agents suffisent. S'il y en a 3, utilisez 2 à 3. Ne sur-allouez pas.
2. Lancez les instances Chrome
bash /Users/nicksaraev/Business/active/multi-chrome-agent/launch_chrome.sh [NOMBRE]
Cela génère NOMBRE instances Chrome sur les ports 9223+. Attendez la confirmation "PRÊT" pour chacune.
3. Réinitialisez le fichier de chat
Effacez le fichier de chat et écrivez les affectations de tâches :
# Chat Multi-Agent Chrome
## Orchestrateur
[2026-03-05 14:30] Lancement de 3 agents pour la soumission de formulaires de contact.
### Tâches de l'Agent 1
1. Aller sur https://example1.com/contact -> remplir nom : "Nick Saraev", email : "[email protected]", message : "Bonjour, je suis intéressé par..."
2. Aller sur https://example2.com/contact -> même remplissage de formulaire
### Tâches de l'Agent 2
1. Aller sur https://example3.com/contact -> remplir le formulaire
2. Aller sur https://example4.com/contact -> remplir le formulaire
### Tâches de l'Agent 3
1. Aller sur https://example5.com/contact -> remplir le formulaire
2. Aller sur https://example6.com/contact -> remplir le formulaire
## Agent 1
## Agent 2
## Agent 3
4. Générez les agents Claude Code
Pour chaque agent, ouvrez un nouveau terminal et exécutez :
cd /Users/nicksaraev/Business/active/multi-chrome-agent/chrome-agent-N && claude
Où N est 1 à 5. Chaque agent va :
- Récupérer son CLAUDE.md (instructions de travail du navigateur)
- Se connecter à son instance Chrome via son .mcp.json local
- Lire chat.md pour ses affectations de tâches
- Exécuter les tâches et signaler l'état dans chat.md
Lancement programmatique via osascript : Claude Code bloque les sessions imbriquées via la variable d'environnement CLAUDECODE. Pour lancer des agents programmatiquement depuis une session existante, utilisez osascript avec env -u pour supprimer les variables d'environnement bloquantes :
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 'Vous êtes l\"Agent $i. Lisez /Users/nicksaraev/Business/active/multi-chrome-agent/chat.md, trouvez vos tâches sous Agent $i et exécutez-les. Utilisez Chrome DevTools MCP pour parcourir les sites Web, rechercher des listes et collecter des données. Écrivez vos résultats sous forme de tableau Markdown dans chat.md sous la section Agent $i. Marquez-vous comme [WORKING] pendant l\"activité et [DONE] une fois terminé.'\""
sleep 2
done
Cela ouvre des fenêtres Terminal.app séparées, chacune exécutant une session Claude Code indépendante avec son propre Chrome DevTools MCP.
Solution de repli manuelle : Si osascript ne fonctionne pas, dites à l'utilisateur d'ouvrir N onglets de terminal :
Onglet 1 : cd ~/Business/active/multi-chrome-agent/chrome-agent-1 && claude
Onglet 2 : cd ~/Business/active/multi-chrome-agent/chrome-agent-2 && claude
...
5. Surveillez la progression
Lisez périodiquement le fichier de chat pour vérifier l'état des agents :
cat /Users/nicksaraev/Business/active/multi-chrome-agent/chat.md
Recherchez les balises [DONE], [ERROR] ou [WORKING] de chaque agent.
6. Nettoyage
Lorsque tous les agents signalent [DONE] :
bash /Users/nicksaraev/Business/active/multi-chrome-agent/kill_chrome.sh
Protocole de Chat
Les agents communiquent via le fichier partagé chat.md :
| Balise | Signification |
|---|---|
[WORKING] | L'agent est en train de traiter activement une tâche |
[DONE] | L'agent a terminé toutes les tâches assignées |
[ERROR] | L'agent a rencontré un obstacle (CAPTCHA, timeout, etc.) |
[WAITING] | L'agent est inactif, en attente de nouvelles tâches |
Tableau des Ports
| Agent | Port Chrome | Espace de travail |
|---|---|---|
| 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/ |
Le port 9222 est réservé au Chrome DevTools MCP principal (non parallèle).
Cas particuliers
- CAPTCHA : L'agent signale
[ERROR] CAPTCHA sur https://...dans le chat. L'orchestrateur peut réassigner ou ignorer. - Limitation de débit : Si un site bloque après N requêtes, répartissez les URL sur plus d'agents afin que chacun atteigne le site moins de fois.
- Connexion requise : Pré-authentifiez dans chaque instance Chrome avant d'assigner des tâches, ou incluez les étapes de connexion dans la liste des tâches.
- Tâches longues : Les agents vérifient chat.md toutes les 30 secondes. Si l'orchestrateur doit annuler, écrivez
[ABORT]dans la section Orchestrateur.