LastBrowser 3 ist eine modulare Python/PySide6-Desktop-App, die als stabile Basis für Plugin-basierte Sidekick-Funktionen, Hermes-Integration und Self-Repair-Workflows dient. Entwickelt mit Fokus auf Runtime-First-Architektur, Event-getriebener losen Kopplung und Erweiterbarkeit.
Status: Phase 5B.1 — Natives Hermes Plugin (kein WebView) · Python ≥ 3.11 · PySide6 · MIT License
| Attribut | Wert |
|---|---|
| Projekt | LastBrowser 3 |
| App-Name | LastBrowser Sidekick |
| Status | Phase 5B.1 — Natives Hermes Plugin |
| Python | ≥ 3.11 |
| GUI | PySide6 (Qt for Python) |
| Autor | Pup Cid |
| Lizenz | MIT |
| Phase | Name | Status |
|---|---|---|
| 1 | Basis (App Bootstrap, Config, Logging, Splash, MainWindow, QSS-Theming) | ✅ |
| 2 | Runtime Layer & Plugin Foundation (EventBus, Runtime-Manager, ManagedProcess, ServiceRegistry, HealthMonitor, Plugin-System, Command Palette) | ✅ |
| 3 | Plugin Runtime Maturity (Lifecycle-States, PluginWatchdog, UI-Injection, CommandRegistry, SettingsSchema, EventMonitor, Dependencies, Hot Reload) | ✅ |
| 4A | Plugin Manager, Distribution & Safety (Installer, PackageValidator, API-Versioning, Packager, Testsuite, Diagnostics, Failure Fixtures) | ✅ |
| 4B | Browser Features & Hermes Integration (Hermes WebUI Plugin, Store-System mit 6 Tabs, SourceManager, Self-Repair Readiness, Failure Mode Tests) | ✅ |
| 5A | Self-Repair Safety Core (8 Agenten: Backup, Rollback, Diff, Workspace, PatchValidator, GitAnalyzer, RepairRules, AllowedPaths + UI) | ✅ |
| 5B | Hermes Integration & Validation (8-State-HermesService, Hermes AI Bridge, Store-Integration, 21 Tests) | ✅ |
| 5B.1 | Natives Hermes Plugin (KEIN WebView — native QWidget-Panels, 52 Tests) | ✅ |
| Plugin | Beschreibung |
|---|---|
| Hermes | Natives Hermes-Plugin — Chat, Agents, Tasks, Tools, Memory, Runtime-Steuerung in 8 QWidget-Panels |
| Hermes WebUI | Legacy WebView-Plugin (ersetzt durch natives Hermes-Plugin, aber kompatibel) |
| Crypto Feeds | Echtzeit-Krypto-Marktdaten-Dashboard powered by FreeCryptoAPI |
| Sample Plugin | Minimales Beispiel-Plugin für Entwickler |
Das System folgt einer Runtime-first-Architektur mit EventBus als zentralem Rückgrat für lose Kopplung:
┌─────────────────────────────────────────────────────────────────┐
│ UI Layer │
│ Dashboard · Store (6 Tabs) · Self-Repair · Hermes (8 Panels) │
│ Event Monitor · Logs · Settings · WebView · Command Palette │
└───────────────────────┬─────────────────────────────────────────┘
│ EventBus (thread-safe Singleton)
┌───────────────────────▼─────────────────────────────────────────┐
│ Runtime Layer │
│ ┌──────────────┐ ┌────────────┐ ┌───────────────────┐ │
│ │RuntimeManager│ │ Service │ │ HealthMonitor │ │
│ │(Orchestrator)│ │ Registry │ │ (period. Checks) │ │
│ └──────┬───────┘ └────────────┘ └───────────────────┘ │
│ │ │
│ ┌──────▼───────┐ ┌────────────┐ ┌───────────────────┐ │
│ │ProcessManager│ │ Plugin │ │ Hermes Service │ │
│ │(ManagedProc) │ │ Registry │ │ (8-State-Machine) │ │
│ └──────────────┘ └────────────┘ └───────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Self-Repair Safety Core (Phase 5A) │ │
│ │ Backup · Rollback · Diff · Workspace · Validator │ │
│ │ Git Analyzer · Repair Rules · Allowed Paths │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
- EventBus — Globaler Publish/Subscribe-Bus (thread-safe Singleton) für lose Kopplung
- Plugin-System — BasePlugin-ABC mit 11-stufigem Lifecycle, Permission-Modell (11 Permissions), UI-Injection, Settings-Schema, Abhängigkeitsmanagement
- Self-Repair Safety Core — 8 Pure-Python-Module (kein Qt) für sicheres Backup/Rollback/Patch-Validierung — rein lesend, kein automatisches Apply
- Hermes AI Bridge — Loses Bridge-Interface zu Hermes als AI Provider (stdlib-only, kein Qt, headless-fähig)
- Store-System — Plugin-Verwaltung mit 6 Tabs (Installed, Browse, Updates, Sources, Developer, Diagnostics) und SourceManager
# 1. Repository klonen
git clone https://github.com/Loggableim/lastbrowser3.git
cd lastbrowser3
# 2. Virtuelle Umgebung erstellen
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
# 3. Abhängigkeiten installieren
pip install -e .
# 4. App starten
python -m lastbrowser| Paket | Zweck |
|---|---|
| PySide6 | Qt6-Bindings für Python (GUI-Framework) |
| platformdirs | Plattformunabhängige XDG-Verzeichnisse |
| psutil | System-Informationen (CPU, RAM, Disk) |
| rich | Strukturierte Konsolenausgabe (Dev-Hilfe) |
Optional:
| Paket | Zweck |
|---|---|
| PySide6-WebEngine | Chromium-basierte WebView |
| requests | HTTP-Healthchecks (HealthMonitor) |
lastbrowser3/
├─ pyproject.toml # Build & Package-Konfiguration
├─ README.md # Diese Datei
├─ KANBAN.md # Aufgabenverwaltung
├─ LICENSE # MIT License
├─ .gitignore / .gitattributes
├─ docs/ # Dokumentation (32 Dateien)
│ ├─ architecture.md
│ ├─ runtime-architecture.md
│ ├─ plugin-system.md
│ ├─ plugin-runtime.md
│ ├─ developer-mode.md
│ ├─ plugin-ui-system.md
│ ├─ settings-schema-system.md
│ ├─ plugin-distribution.md
│ ├─ plugin-api-versioning.md
│ ├─ plugin-testing.md
│ ├─ diagnostics.md
│ ├─ store-system.md
│ ├─ self-repair-safety.md
│ ├─ backup-rollback-system.md
│ ├─ diff-workspaces.md
│ ├─ repair-readiness.md
│ ├─ hermes-runtime.md
│ ├─ hermes-bridge.md
│ ├─ hermes-webui-plugin.md
│ ├─ hermes-troubleshooting.md
│ ├─ phase{1-5}*-plan.md # Phasenpläne
│ └─ reviews/ # Final Reviews
│
├─ src/lastbrowser/ # Haupt-App
│ ├─ __init__.py / __main__.py / _version.py
│ ├─ app.py # Application Bootstrap (QApplication, Splash, MainWindow)
│ ├─ config.py # Singleton-basiertes Config-Management (JSON)
│ ├─ logging_setup.py # Logging (RotatingFile + Console im Dev-Modus)
│ ├─ paths.py # XDG-konforme Pfade (Config, Logs, Runtime)
│ ├─ ports.py # TCP-Port-Management
│ ├─ health.py # Healthchecks (Phase 1)
│ ├─ supervisor.py # Prozess-Supervisor (Phase 1)
│ │
│ ├─ core/ # Foundations (Phase 2)
│ │ ├─ events.py # EventBus (thread-safe Singleton)
│ │ ├─ runtime_state.py # Runtime-Statusmaschine
│ │ ├─ command_registry.py # CommandRegistry (Phase 3)
│ │ ├─ developer_mode.py # Hot Reload & Developer Mode (Phase 3)
│ │ ├─ settings_schema.py # Settings Schema Engine (Phase 3)
│ │ └─ plugin_registry.py # Plugin-Registry (Singleton)
│ │
│ ├─ runtime/ # Runtime Layer (Phase 2+3)
│ │ ├─ runtime_manager.py # Runtime-Manager (Orchestrierung)
│ │ ├─ managed_process.py # ManagedProcess + ProcessManager
│ │ ├─ service_registry.py # ServiceRegistry (ServiceInfo, ServiceType)
│ │ ├─ health_monitor.py # HealthMonitor (periodische Checks)
│ │ └─ plugin_watchdog.py # PluginWatchdog (Phase 3)
│ │
│ ├─ plugins/ # Plugin System (Phase 2-4B)
│ │ ├─ base_plugin.py # BasePlugin (ABC) + PluginMetadata
│ │ ├─ plugin_context.py # PluginContext + PluginPermission
│ │ ├─ plugin_loader.py # PluginLoader (Discovery + dynamisches Laden)
│ │ ├─ plugin_manager_ui.py # PluginManager-Dialog (Qt-UI)
│ │ ├─ installer.py # PluginInstaller (Phase 4A)
│ │ ├─ package_validator.py # PackageValidator (Phase 4A)
│ │ ├─ api_version.py # API Versioning (Phase 4A)
│ │ ├─ plugin_packager.py # PluginPackager (Phase 4A)
│ │ ├─ test_runner.py # TestRunner (Phase 4A)
│ │ ├─ self_repair_readiness.py # SelfRepairReadiness (Phase 4B)
│ │ ├─ source_manager.py # SourceManager + CatalogPlugin (Phase 4B Store)
│ │ └─ manifests/ # Built-in Plugin-Manifeste
│ │
│ ├─ self_repair/ # Self-Repair Safety Core (Phase 5A, 8 Agenten)
│ │ ├─ allowed_paths.py # A1 — Path-Whitelist/Blacklist
│ │ ├─ repair_rules.py # A2 — Limits + Blocked Operations
│ │ ├─ diff_manager.py # A3 — Unified-Diffs (kein Apply)
│ │ ├─ backup_manager.py # A4 — Backup/Manifest/Validierung
│ │ ├─ rollback_manager.py # A5 — Rollback-Points/Preview
│ │ ├─ workspace_manager.py # A6 — Temporäre Workspaces
│ │ ├─ patch_validator.py # A7 — 7-stufige Patch-Validierung
│ │ └─ git_analyzer.py # A8 — Lesender Git-Status
│ │
│ ├─ release/ # Release-Tools (Phase 4A)
│ │ ├─ build_info.py # BuildInfo
│ │ └─ environment_check.py # EnvironmentChecker + Diagnostic Bundle
│ │
│ ├─ services/ # Service-Definitionen (Phase 2-5B)
│ │ ├─ hermes_service.py # HermesService (8-State-Machine, 1113 Zeilen)
│ │ └─ hermes_bridge.py # Hermes AI Bridge Interface (stdlib-only, headless)
│ │
│ └─ ui/ # UI-Komponenten
│ ├─ main_window.py # Hauptfenster mit Sidebar + Pages
│ ├─ splash.py # Splashscreen (QSplashScreen)
│ ├─ settings_page.py # Einstellungen-Seite
│ ├─ settings_renderer.py # Dynamischer Settings-Renderer
│ ├─ logs_page.py # Log-Anzeige (live aus Datei)
│ ├─ webview_page.py # WebView (QWebEngineView) oder Platzhalter
│ ├─ command_palette.py # Command Palette Ctrl+K (Phase 2+3)
│ ├─ theme_manager.py # Theme-Manager (Phase 3.1)
│ ├─ plugin_ui_registry.py # PluginUI Injection Registry (Phase 3)
│ ├─ widgets/
│ │ └─ service_status_widget.py
│ ├─ dialogs/
│ │ ├─ install_plugin_dialog.py
│ │ ├─ plugin_test_dialog.py
│ │ ├─ plugin_store_dialog.py
│ │ └─ repair_readiness_dialog.py
│ └─ pages/
│ ├─ event_monitor_page.py
│ ├─ store_page.py # 6-Tab Store Page (Phase 4B)
│ └─ self_repair_page.py # Self-Repair Dashboard (Phase 5A)
│
├─ user_plugins/ # Benutzer-Plugins
│ ├─ sample_plugin/ # Minimales Beispiel-Plugin
│ ├─ hermes_webui/ # Legacy Hermes WebView Plugin (Phase 4B)
│ ├─ hermes/ # ★ Natives Hermes Plugin (Phase 5B.1)
│ │ ├─ manifest.json # Plugin-Metadaten (11 Permissions)
│ │ ├─ plugin.py # HermesPlugin
│ │ ├─ hermes_runtime.py # HermesRuntime (7 States)
│ │ ├─ hermes_client.py # HermesAPIClient (stdlib urllib)
│ │ ├─ hermes_models.py # HermesAgent/Task/Memory/Tool/Health
│ │ ├─ settings_schema.json # 10 Settings-Felder
│ │ ├─ plugin-catalog-entry.json
│ │ ├─ ui/ # 8 QWidget-Panels (kein WebView!)
│ │ │ ├─ hermes_page.py # Hauptseite (QTabWidget)
│ │ │ ├─ chat_panel.py # Chat-Interface
│ │ │ ├─ agents_panel.py # Agenten-Liste
│ │ │ ├─ tasks_panel.py # Task-Übersicht
│ │ │ ├─ tools_panel.py # Tool-Registry
│ │ │ ├─ memory_panel.py # Memory-Browser
│ │ │ ├─ runtime_panel.py # Runtime-Steuerung
│ │ │ └─ logs_panel.py # Live-Logs
│ │ └─ docs/
│ │ └─ troubleshooting.md
│ └─ freecrypto_feeds/ # Crypto Market Data Dashboard
│ ├─ manifest.json
│ ├─ plugin.py
│ ├─ widgets.py
│ ├─ api_client.py
│ ├─ models.py
│ ├─ hermes_bridge.py
│ ├─ settings_schema.json
│ ├─ assets/icon.svg
│ └── docs/troubleshooting.md
│
├─ tests/
│ ├─ conftest.py
│ ├─ test_phase5a_self_repair.py # Self-Repair Unit-Tests
│ ├─ test_phase5a_integration.py # Phase 5A Integrationstests
│ ├─ test_phase5b_hermes.py # Hermes WebUI + Bridge (21 Tests)
│ ├─ test_phase5b1_native_hermes.py # Native Hermes Plugin (52 Tests)
│ └─ fixtures/broken_plugins/ # 14 Failure-Fixtures
│
└─ runtime/ # Runtime-Verzeichnisse (Phase 5A)
├─ backups/
├─ rollback_points/
├─ repair_sessions/
├─ patches/
└─ reports/
| Feature | Priorität |
|---|---|
| AI Patch Planner (strukturierte Repair-Pläne via HermesBridge) | 🔴 Hoch |
Patch-Anwendung (validierte git apply) |
🔴 Hoch |
Rollback aktivieren (_PHASE_5A = False) |
🔴 Hoch |
| Request Cancellation (echte HTTP-Cancellation) | 🟡 Mittel |
Report-System (JSON-Reports in runtime/reports/) |
🟡 Mittel |
CLI-Tool (lastbrowser repair) |
🟡 Mittel |
| Dashboard Integration (Repair-Status-Widget) | 🟢 Niedrig |
| Hermes Auto-Heal (Auto-Restart bei Crash) | 🟢 Niedrig |
Die vollständige Dokumentation liegt im docs/-Verzeichnis:
| Bereich | Dateien |
|---|---|
| Architektur | architecture.md, runtime-architecture.md |
| Plugin-System | plugin-system.md, plugin-runtime.md, plugin-ui-system.md, settings-schema-system.md, developer-mode.md |
| Plugin Distribution | plugin-distribution.md, plugin-api-versioning.md, plugin-testing.md, diagnostics.md, store-system.md |
| Self-Repair | self-repair-safety.md, backup-rollback-system.md, diff-workspaces.md, repair-readiness.md |
| Hermes | hermes-runtime.md, hermes-bridge.md, hermes-webui-plugin.md, hermes-troubleshooting.md |
| Pläne | phase{1-5}*-plan.md |
| Reviews | reviews/phase4a-final-review.md, …4b…, …5a…, …5b…, …5b1… |
MIT License — siehe LICENSE.
Copyright (c) 2025-2026 Pup Cid
- Pup Cid — Initialentwicklung und Architektur
Letzte Aktualisierung: 2026-05-14 · Phase 5B.1