Browser: Agent arbeitet im unsichtbaren agent-browser statt im Panel; 0.5.x-Fixes (Binary-Guard, System-Prompt, scrollIntoView) #218
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/iris-plugins#218
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund (22.10., Chat „eBay-Suche: RTX 4090")
Nutzer: „Es wird kein neuer Tab geöffnet." Rekonstruktion aus
state.db(73 Messages) +agent.log:browser.mjsauf: erst das nicht existierendeiris-browser-CLI, dann fand er~/.hermes/tools/agent-browser-0.26.0-darwin-arm64— den eingebauten Hermes-Browser — und trieb ihn: eigene Suche öffnen,tab newauf den PNY-Link, Listing lesen. Das t2 existierte also — in einem separaten headlessen Chrome mit Temp-Profil, für den Nutzer unsichtbar. Im Panel-Browser (Plugin) stand t1 die ganze Zeit auf/sch/.Ursachen
disables_hermes_toolsets(0.4.1) meldet nur die Tool-Registrierung ab; das Binary bleibt im Hermes-Tool-Store und ist per Terminal erreichbar. Hermes-Startup prüft nur „Ordner existiert" (pm/install.py: „startup keeps its cheap facts check") → ein Umbenennen des Binaries bleibt haften, kein Re-Download.skill_view-Dedup (Turn 2:content_returned: false) plus kleines lokales Modell ließ die Aufruf-Formel verloren gehen.humanClickLoc(0.5.0) macht keinscrollIntoViewIfNeeded(0.4.xloc.click()scrollte automatisch) → Klicks auf Elemente unterhalb des Folds gehen ins Leere.Umsetzung (0.5.1)
hooks/guard-builtin-browser.sh(neu): benennt dieagent-browser-Binaries im Tool-Store um (…disabled-by-iris-browser),disableidempotent,enablestellt wieder her;post_installruftdisableauf,pre_uninstall(neu)enable.system_prompt.md+SKILL.md: genau ein Browser,agent-browser/~/.hermes/tools/*nie; Tab-Zustände erst melden, wenn--tabses zeigt.humanClickLoc:scrollIntoViewIfNeededvorboundingBox(0.4.x-Verhalten zurück).Geprüft: Befund per
state.db/agent.log/ps(Schatten-Chrom lief noch, PID 10322, beendet); Guard idempotent über Smoke; Repro--new-tab+ Klick im warmen Profil (Chat diag-202, danach geschlossen).Nicht geprüft: Langzeit-Effekt des Binary-Guards gegen Hermes-Updates, die Turn-3-Halluzination (Modellsache, nur System-Prompt-Dämpfung).
PR #220 gemergt: fix(browser): Schatten-Browser: Binary-Guard, Folds-Klick, Ein-Browser-Regel (0.5.1) (#218)
#220
Commits:
Stand
Befund (rekonstruiert aus
state.db+agent.log): Der Agent des Chats „eBay-Suche: RTX 4090" hat im zweiten Turn niebrowser.mjsaufgerufen, sondern den eingebauten Hermes-Browser (~/.hermes/tools/agent-browser-*/bin/) getrieben — dessen Toolset ist zwar abgemeldet, das Binary blieb im Tool-Store und war per Terminal erreichbar. Das t2 und das PNY-Listing existierten dort — in einem headlessen Chrome mit Temp-Profil (lief bis zu diesem Stand, PID 10322, jetzt beendet). Im Plugin-Browser (Seitenpanel) geschah nichts. Im dritten Turn („Es ist kein Tab geöffnet worden") meldete der Agent „diesmal über einen echten Klick" bei null Tool-Aufrufen (Halluzination, Modellswift-1.5-iq3_xxs).Geändert (0.5.1):
hooks/guard-builtin-browser.sh(neu): benennt die agent-browser-Binaries im Hermes-Tool-Store um (…disabled-by-iris-browser);disableidempotent,enablestellt wieder her, ohne Store no-op.post_installruftdisableauf,pre_uninstall(neu, Manifest ergänzt)enable. Hermes führt beim Start nur den Existenzcheck aus, kein Byte-Vergleich — das Umbenennen bleibt haften, kein Re-Download. Das.js-Wrapper-Skript wird nicht angerührt; es startet das native Binary und scheitert damit eigenständig.human.mjs:scrollIntoViewIfNeededvorboundingBoxinhumanClickLoc(0.4.x-Verhalten zurück; ohne es gingen Klicks auf Elemente unterhalb des Folds ins Leere und meldeten ok).SKILL.md+system_prompt.md: Ein-Browser-Regel (niemalsagent-browser/~/.hermes/tools/*) +--tabs-Verifikation vor Tab-Berichten.tests/smoke.sh: Klick auf Deep-Link unterhalb des Folds (4000-px-Spacer), Guard gegen temporären Store (disable/idempotent/enable/no-op), Cleanup wartet auf den Chromium-Exit statt zu rennen. Dazustore/changelog.md,PLAN.md(Sektion + drei Lessons Learned),plugin.json(0.5.1).Geprüft: Befundskette (73 Messages in
state.db, Tool-Aufrufe, agent.log,ps— Schatten-Chrom war nachweislich am Leben); kompletter Smoke-Test grün (exit 0, inkl. neuer Guard- und Folds-Checks); Guard-Glob gegen den echten Store-Layout gelesen;--new-tab+ Klick im warmen Profil in einem separaten Chat reproduziert (diag-202, danach geschlossen; die diag-Tabs sind weg, der Schatten-Chrom beendet).Nicht geprüft: Ob ein Hermes-Upgrade das Tool explizit neu publiziert und damit das Binary zurückbrächte (in dem Fall würde der Guard beim nächsten Plugin-Install/Update erneut laufen — das Risiko bleibt, ist aber seltener und lauter als heute); die Turn-3-Halluzination (Modellsache, nur per System-Prompt gedämpft); die eBay-Verhaltens-Schicht im Langzeitbetrieb (separate Front, #202).
Offen: Das installierte Plugin auf 0.5.1 aktualisieren — der Guard läuft erst beim Installieren. Danach im Alltag ein eBay-Chat (der Fall, der den Vorfall auslöste). Issue bleibt
status/zu-testen, bis der Nutzer es gegengeprüft hat.PR #223 gemergt: fix(browser): Binary-Guard fehlte im Paket — alle Hooks packen, laute Warnung (0.5.2) (#218)
#223
Commits:
Stand (0.5.2 — Paket-Fehler)
Befund (22.10., zweiter Vorfall, Chat 18:00):
build-irisplugin.shkopierte nurhooks/post_install.sh(hart verdrahtet),guard-builtin-browser.shundpre_uninstall.shblieben aus dem Paket;|| echo WARNschluckte den Fehlschlag. Binary im Tool-Store unangetastet, zusätzlicher überlebender agent-browser-Wrapper-Prozess (PID 10318, aus dem Vormittags-Vorfall — jetzt beendet).state.db, keine Tool-Zeile zwischen 17:59:59 und 18:00:11; Daemon-Zustand: 1 Tab,next: 2). Der Schatten-Browser war diesmal irrelevant; entscheidend ist das Modell, das handeln sollte und nur sprach.Geändert (0.5.2):
build-irisplugin.shkopiert jetzt allehooks/*.sh(Build-Test: Paket enthält alle drei Dateien);post_installmeldet einen nicht neutralisierten agent-browser mit deutlicher Fehlerzeile. Inhaltlich identisch zu 0.5.1.Geprüft: Build gegen
/tmp, Paketinhalt perunzip -l(alle Hooks drin); Paketinhalt von 0.5.1 nachträglich geprüft (nurpost_install.sh— der Fehler bestätigt).Nicht geprüft: Installation von 0.5.2 auf dem Mac (wartet auf Veröffentlichung + Update); Modellverhalten bei Tab-Aufträgen (liegt nicht am Plugin; System-Prompt-Regel besteht, Modell ignorierte sie).
Offen: 0.5.2 veröffentlichen und auf dem Mac aktualisieren; evtl. einmaliges Umbenennen des Binaries als Sofort-Schutz (Nutzer-Entscheidung); Gegenmaßnahmen zur Halluzination (größeres Modell für solche Jobs und/oder Hermes-seitige Verifikation) sind ein separates Thema.