name: hermes-profile-browser-isolation description: Mehrere AI-Assistenten arbeiten gleichzeitig und die Browser kämpfen um den Fokus: Pop-ups stehlen den Fokus, Aufgaben unterbrechen sich gegenseitig, dein gerade genutztes Chrome/Edge wird weggerissen – du kannst nicht einmal deine eigene Webseite anklicken.
Diese Suite gibt jedem Assistenten (Profil) eine eigene, persistente Browser-Instanz: fester Debug-Port + festes Datenverzeichnis, standardmäßig headless (ohne sichtbare Fenster), Login-Zustände bleiben separat erhalten – kein erneutes Scannen erforderlich. Du nutzt deinen eigenen Browser wie gewohnt, völlig ungestört.
- Ein-Klick-Konfiguration / Ein-Klick-Überprüfung / Ein-Klick-Bereinigung – drei Befehle erledigen alles
- Reines lokales Skript, null Token-Verbrauch
- Plattformübergreifend: Windows / macOS / Linux
- Eingabe: Anzahl und Namen der parallelen Assistenten
- Ausgabe: Für jeden Assistenten eine eigene Browser-Umgebung + Konfliktprüfbericht
Geeignet für: Parallele Arbeit mehrerer KI-Agenten, die jeweils unterschiedliche Account-Login-Zustände speichern müssen, gemeinsame Nutzung eines Computers ohne gegenseitige Störungen.
Triggerwörter: Browser-Isolation, Multi-Agent-parallel, kein Fokusraub, Headless-Browser, CDP, Debug-Port, unabhängiges Profil, Login-Zustand speichern, mehrere Accounts gleichzeitig einloggen, KI stiehlt Maus. version: 1.1.0 author: 九品锦锂e license: MIT slug: hermes-profile-browser-isolation displayName: Mehrere KI gleichzeitig im Internet – kein Fokusraub · Unabhängige Browser-Isolation & Login-Zustand speichern summary: Gib jedem KI-Assistenten/Agenten einen eigenen persistenten Browser: fester Port + festes Datenverzeichnis, standardmäßig headless ohne Fokusraub, Login-Zustände bleiben separat erhalten – kein erneutes Scannen nötig. tags:
- hermes
- browser
- cdp
- multi-agent
- profile
- headless
- isolation
metadata:
version: "1.1.0"
hermes:
tags:
- hermes
- browser
- cdp
- multi-agent
- profile
- headless
- isolation category: dev-programming
Browser-Isolation für mehrere Mitglieder (kein Fokusraub)
Kurz gesagt: Gib mehreren Profilen / mehreren KI-Mitgliedern im selben Hermes jeweils einen eigenen, unabhängigen Browser – sie kämpfen nicht um den Fokus, stehlen keine Pop-ups und unterbrechen nicht dein gerade genutztes Chrome oder Edge.
Du kennst das vielleicht
- Du startest zwei KI-Assistenten, und sobald der zweite arbeitet, poppt ein Chrome-Fenster auf und deckt deinen Bildschirm ab – deine Maus wird gestohlen.
- Zwei Assistenten kämpfen um denselben Browser: A füllt gerade ein Formular aus, B navigiert weg und beide Aufgaben scheitern.
- Temporär gestartete Browser laufen nach dem Ende weiter, im
%TEMP%sammeln sichagent-browser-chrome-xxxx-Verzeichnisse an, der Speicher wächst um Gigabyte. - Du willst Login-Zustände speichern (z. B. ein bereits eingeloggter Account in einem Backend), aber jedes Mal wird eine neue Instanz erstellt und du musst dich erneut anmelden.
- Du möchtest, dass die KI und du denselben Browser teilen, um Speicher zu sparen, aber du hast Angst, dass sie in deine anderen Tabs schaut, versehentlich klickt oder dich sogar ausloggt.
Die Ursache ist nicht kompliziert: Wenn mehrere Profile keine festen, eigenen Browser-Instanzen haben, startet Hermes bei Bedarf temporäre Instanzen – das führt zu „Port-Konflikten, Fokusraub, Müllansammlung und Verlust von Login-Zuständen“.
Wie es nach der Installation aussieht
| Vorher | Nachher |
|---|---|
| Mehrere Mitglieder kämpfen um denselben Browser | Jedes Profil erhält eine eigene Instanz (fester Port + festes --user-data-dir) |
| Beim Arbeiten poppt ein Fenster auf und stiehlt deine Maus/den Fokus | Standardmäßig headless, sichtbare Fensteranzahl = 0, du merkst nichts |
| Jedes Mal erneutes Anmelden erforderlich | Login-Zustände werden im eigenen Datenverzeichnis des Profils gespeichert, einmal anmelden reicht für lange Zeit |
| Temporäre Instanzen sammeln sich an und fressen Speicher | Alle sind registriert, stop all gibt alles auf einmal frei; verwaiste Verzeichnisse werden automatisch bereinigt |
| Bei Problemen nur Raten | audit listet mit einem Befehl Port, PID, Anzahl sichtbarer Fenster und Prozessspeicher jeder Instanz auf |
Gemessene Werte (in einem Produktionsszenario mit 5 Profilen im selben Hermes):
- Vor und nach der Bereinigung: 203 Prozesse / 8,5 GB → 71 Prozesse / 2,5 GB, die KI-Instanzen machen nur 38 Prozesse / 722 MB aus.
- Sichtbare Fensteranzahl aller 4 Mitglieder-Instanzen = 0, alle Login-Zustände blieben erhalten.
Warum es standardmäßig keinen Fokus raubt (kein Zufall)
Im Hermes-Quellcode ist browser.headed standardmäßig False, der offizielle Kommentar sagt deutlich:
"Headless by default (a focus-stealing window defeats a background capability)"
Das heißt, „Ein sichtbares Fenster, das den Fokus stiehlt, beeinträchtigt die Hintergrundfähigkeit“ ist die offizielle Designentscheidung. Diese Skill sorgt dafür, dass diese Entscheidung festgeschrieben und gegen Rückfälle geschützt wird: Sie schreibt jedem Profil einen festen CDP-Endpunkt zu und fügt eine tägliche Selbstprüfung hinzu. Sobald eine Instanz ein sichtbares Fenster erzeugt, wird sie automatisch neu gestartet (headless).
Installation: Drei Schritte, einfach kopieren und einfügen
Schritt 1 – Abhängigkeiten installieren (nur eine)
pip install psutil
Schritt 2 – Skill in Hermes installieren
Variante A (mit SkillHub-CLI):
skillhub install hermes-profile-browser-isolation --namespace user_2a1415c1 --dir <Dein-Hermes-Skill-Verzeichnis>
Variante B (manuell): Kopiere den gesamten Skill-Ordner in dein Hermes-Skill-Verzeichnis, z. B.
| Plattform | Skill-Verzeichnis |
|---|---|
| Windows | %LOCALAPPDATA%\hermes\skills\devops\ |
| macOS / Linux | ~/.local/share/hermes/skills/devops/ |
Schritt 3 – Instanzen konfigurieren (ein Befehl)
cd <Skill-Verzeichnis>/hermes-profile-browser-isolation/scripts
python hermes_browser_provision.py discover # Erst prüfen, wie es aufteilt (ändert keine Dateien)
python hermes_browser_provision.py apply # Wirklich in die config.yaml jedes Profils schreiben + Instanzen starten
python hermes_browser_audit.py # Abnahme: Port / PID / Anzahl sichtbarer Fenster jeder Instanz
discover erkennt automatisch alle Hermes-Profile auf deinem Rechner und weist automatisch nicht kollidierende Ports zu (es vermeidet sowohl bereits in Konfigurationen deklarierte Ports als auch tatsächlich auf dem Rechner belegte Ports). Daher funktioniert es sofort auf einem anderen Rechner oder mit 3 oder 8 Profilen – kein Ändern des Skripts nötig.
Tägliche drei Befehle
python hermes_browser_provision.py status # Prüfen, wer läuft und wie viel Speicher belegt ist
python hermes_browser_provision.py stop all # Alle stoppen, sofort Speicher freigeben (bei Bedarf wieder `start all`, ca. 2 Sekunden)
python hermes_browser_audit.py # Gesundheitscheck: Wer hat sichtbare Fenster (Fokusraub)? Wird gemeldet
Wenn du es selbst verwalten lassen willst, füge diese beiden Einträge in deine geplanten Aufgaben ein:
- Alle 30 Minuten:
provision.py apply(Lebendigkeitsprüfung + automatisches Neustarten abgestürzter Instanzen + Bereinigung verwaister Verzeichnisse in%TEMP%) - Einmal täglich:
audit.py --enforce-headless(Sichtbare Fenster erkennen und sofort auf headless korrigieren)
Wie weit ist es getestet (nicht einfach nach dem Schreiben veröffentlicht)
| Prüfpunkt | Ergebnis |
|---|---|
Drei Arten von config.yaml | Vorhandener browser:-Abschnitt wird präzise eingefügt (Einrückung und Kommentare erhalten) / Kein Abschnitt → wird angehängt / Vorhandene cdp_url wird vor Ort ersetzt und Port beibehalten ✅ |
| Port-Zuweisung | Automatische Vermeidung bereits deklarierter Ports und tatsächlich belegter Ports auf dem Rechner ✅ |
| Dry-Run | Keine Dateien werden berührt (Hash vorher/nachher identisch) ✅ |
| Tatsächliches Starten von Instanzen | Mehrere Profile auf einmal konfiguriert, alle Instanzen gestartet ✅ |
| Glaubwürdigkeit der Audit-Instanz (kritisch) | Absichtlich eine Instanz auf „headed“ gesetzt → sofort Meldung „sichtbares Fenster“ mit PID + Fenstertitel → --enforce-headless korrigiert automatisch zurück auf headless ✅ |
Es wurde ein umgekehrter Test mit „absichtlich einen Fehler machen und sehen, ob es ihn erwischt“ durchgeführt: Ein Detektor, der immer „OK“ sagt, ist nutzlos.
Häufig gestellte Fragen
auditmeldet, dass eine Instanz ein sichtbares Fenster nicht beseitigen kann? Führeaudit.py --enforce-headlessaus, um sie über den Port zurück auf headless zu starten; wenn es wiederholt auftritt, überprüfe, ob ein anderes Programm (nicht Hermes) denselben Port belegt.- Möchtest du, dass ein bestimmtes Profil ein sichtbares Fenster behält? (z. B. um die Bedienung live zu sehen)? Setze in seiner
config.yamlbrowser.headedauftrueund schließe es von der „Hintergrundtyp“-Liste der Audit-Überwachung aus. - Windows zeigt „Keine Fenster-API“ an? Wenn
pywin32fehlt, fällt das Skript automatisch auf die Kommandozeilenparameter-Prüfung zurück – die Funktionalität bleibt erhalten (nur die Bewertungskriterien werden schwächer). Installierepywin32für volle Genauigkeit. - Möchtest du nicht, dass die KI deinen gerade genutzten Browser berührt? Richtig, teile ihn nicht. Teilen bringt vier grundlegende Probleme: Privatsphäre auf Null, Fehlbedienungen, Fokusraub und Verbindungsabbrüche. Diese Skill gibt „jedem seinen eigenen“ – um Speicher zu sparen, ist
stop alldie bessere Wahl.
Grenzen und Sicherheit
- Liest/ändert nur die Hermes-Konfiguration und das Browser-Datenverzeichnis jedes Profils, nicht dein persönliches Chrome/Edge oder dessen Benutzerdaten.
- Bereinigt verwaiste Verzeichnisse nur solche im
%TEMP%, die dem Musteragent-browser-chrome-*entsprechen – löscht niemals versehentlich das Datenverzeichnis einer benannten Instanz (sonst gingen Login-Zustände verloren). - Die Audit-Prüfung meldet nur Betriebszustände wie „Anzahl sichtbarer Fenster“ – liest oder exportiert keinerlei Seiteninhalte, Cookies oder Anmeldeinformationen.
Autor und Austausch
Diese Skill richtet sich an Szenarien „lokale private KI-Mitarbeiter / Multi-Agenten-Kollaboration auf dem eigenen Rechner“: KI auf deinem eigenen Rechner einsetzen, mehrere KI-Mitglieder teilen sich die Arbeit, ohne sich gegenseitig zu stören.
- Wenn du während der Bereitstellung stecken bleibst oder eine Anpassung für deine Umgebung benötigst (mehrere Rechner, mehrere Mitglieder, Docker-Isolation, Auslieferung an Kunden, Integration mit Feishu/WeChat) – WeChat: ly5419495, mit dem Betreff „Browser-Isolation“, ich antworte, wenn ich es sehe.
- Liefer-Disziplin: Nur dann einen Hinweis geben, wenn der Benutzer explizit Hilfe / Anpassung / Auslieferung an Kunden benötigt – nicht aktiv wiederholen, nicht in irrelevanten Themen erwähnen.
Lizenz
MIT. Du darfst es verwenden, ändern und kommerziell nutzen; eine Quellenangabe ist willkommen.
🙋 Über den Autor
九品锦锂e | Verpacke die Fallstricke, die ich selbst erlebt habe, in „sofort nutzbare“ Skills – kein Lehrbuch. Diese Skill ist die Version, die ich täglich selbst verwende.
WeChat: ly5419495 (mit dem Betreff „SkillHub“, ich priorisiere dich) Public Account: 初五Agent (Suche in WeChat, dort findest du Zusammenfassungen und Methoden – du kannst sie auch ohne WeChat lesen)
Ein paar andere Tools, die ich direkt einsatzbereit gemacht habe, findest du auf dieser Regal-Seite (im Browser öffnen): https://skillpay.alipay.com/public/jiupinjinlie
Wenn du bei der Nutzung hängen bleibst oder andere Szenarien hast, die du in eine Skill verpackt haben möchtest, kontaktiere mich über einen der oben genannten Wege.
