fix: Chat-Isolation, Tab-Besitz und eigene Seiten für Einstellungen/Verlauf
Ereignisse landeten im falschen Chat: der Broker markiert jedes Ereignis mit chatId, das Panel filtert aber auf sessionId — handleBrokerMessage reichte die Nachricht unverändert weiter, der Filter griff also nie und alles landete im gerade sichtbaren Chat. chatId wird jetzt beim Weiterreichen übersetzt. Tab-Isolation war reine Optik — die Gruppen wurden nirgends durchgesetzt: - getActiveTab() nahm sich den gerade sichtbaren Tab (auch den eines anderen Chats oder einen losen Tab des Nutzers) und zog ihn in die eigene Gruppe. Fremde Tabs werden jetzt nie adoptiert; der Chat öffnet sich einen eigenen. - browser_tabs_create legte den neuen Tab in die Gruppe der SICHTBAREN statt der aufrufenden Konversation (sessionId fehlte). - browser_tabs_select/close prüften den Besitz gar nicht — der Agent konnte jeden Tab übernehmen oder schließen, auch die des Nutzers. - browser_tabs_list zeigte jeden offenen Tab; Tabs anderer Chats sind jetzt unsichtbar, Nutzer-Tabs klar als "nicht anfassen" markiert. Besitz wird über Chromes Tab-Gruppen bestimmt — überlebt einen Neustart des Service Workers, anders als reiner Speicher. Session wird explizit durch runTool/dispatchTool/getActiveTab gereicht. Der bisherige Trick, activeSessionId kurz umzubiegen, hielt nur ohne Parallelität: zwischen Setzen und Zurücksetzen liegt ein await. Einstellungen und Verlauf nehmen dem Chat keinen Platz mehr weg: Einstellungen sind eine eigene Seite (vorher ausklappbar bis 45vh), der Verlauf ein Overlay über dem Header-Knopf. Abschnitte als eigene Module mit Icon und Akzentkante. Nebenbei repariert: nach der Umbenennung .settings -> .settings-panel zeigten mehrere Regeln ins Leere. Kimi K2.5, GLM-5 und Gemini 3.1 Flash Lite im Nexus-Katalog; Kimi/GLM laufen über /moonshot bzw. /zai statt über den Azure-Deployment-Pfad. Ollama als lokaler Anbieter wählbar (kein Key nötig). Enthält außerdem ältere, noch nicht committete Arbeit, die nicht von diesem Durchgang stammt und sich nicht sauber abtrennen ließ: kräftigerer Glow mit Farbverlauf (spotlight.ts), Raster-Overlay für Screenshots (computer.ts) und ein Ein/Aus-Schalter für CDP (cdp.ts).
This commit is contained in:
+2
-1
@@ -1,12 +1,13 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Nexus Browser Pilot",
|
||||
"version": "1.0.0",
|
||||
"version": "1.2.0",
|
||||
"minimum_chrome_version": "116",
|
||||
"description": "Bedient den Browser wie ein Mensch – echter Mauszeiger, echte Tastatur, echte Events. Handelt selbstständig; Rückfragen nur im zuschaltbaren Nachfrage-Modus.",
|
||||
"permissions": [
|
||||
"activeTab",
|
||||
"tabs",
|
||||
"tabGroups",
|
||||
"scripting",
|
||||
"storage",
|
||||
"sidePanel",
|
||||
|
||||
Reference in New Issue
Block a user