Architektur und Datenfluss
Laufzeit-Komponenten
Abschnitt betitelt „Laufzeit-Komponenten“Background
Abschnitt betitelt „Background“src/background/index.ts ist die Koordinationsstelle:
- initialisiert Default-Einstellungen bei Installation
- reagiert auf
bookmarks.onCreated - reagiert auch auf
onRemoved,onChangedundonMoved, um das Dashboard aktuell zu halten - verarbeitet Runtime-Messages aus Popup, Dashboard und Content Script
- akzeptiert Queue-Einträge und löst Re-Runs aus
- entfernt angenommene oder verworfene Queue-Einträge statt sie nur umzusetzen
Content Script
Abschnitt betitelt „Content Script“src/content/index.ts extrahiert:
document.title- Meta-Description
- Textauszug
- optional den vollständigen Text
Wenn kein passender offener Tab verfügbar ist, fällt die Pipeline auf serverseitiges fetch() der URL zurück.
popup: Status des aktuellen Tabs plus Recheck-Triggeroptions: vollständiges Dashboardui/app.tsx: modale Settings-Editoren, Bookmark-Root-Filter, Delete-Aktionen, Review-Queue und paginiertes Event-Log mit AI-Details
Pipeline-Ablauf
Abschnitt betitelt „Pipeline-Ablauf“Die Verarbeitung eines Lesezeichens erfolgt in src/lib/pipeline.ts.
- Einstellungen laden
- Lesezeichen-Summary auflösen
- Bookmark-Struktur lesen
- ausgeschlossene Quell- und Zielordner berücksichtigen
- bevorzugten Root-Ordner aus dem aktuellen Pfad ableiten
- Seitensnapshot extrahieren
- Provider-Entscheidung einholen
- Entscheidung anwenden oder Queue-Eintrag erzeugen
Ergebnisformen
Abschnitt betitelt „Ergebnisformen“Die Pipeline liefert vier Outcomes:
movedqueuedskippedfailed
Runtime-Messages
Abschnitt betitelt „Runtime-Messages“Die zentrale Message-Map ist in src/lib/types.ts definiert:
| Message | Zweck |
|---|---|
dashboard:get | kompletten Dashboard-Zustand laden |
settings:update | Einstellungen speichern und neuen Zustand zurückgeben |
bookmark:run | einzelnes Lesezeichen manuell verarbeiten |
bookmark:delete | einzelnes Lesezeichen löschen |
queue:accept | Queue-Vorschlag anwenden |
queue:dismiss | Queue-Eintrag verwerfen |
queue:rerun | Queue-Eintrag erneut analysieren |
popup:current-tab | Bookmark-Status des aktiven Tabs abfragen |
options:open | Dashboard-Seite öffnen |
content:extract | Seitendaten aus offenem Tab extrahieren |
Speicherung
Abschnitt betitelt „Speicherung“src/lib/storage.ts verwendet runtimeBrowser.storage.local mit vier relevanten Schlüsseln:
bookmark-sorter-settingsbookmark-sorter-review-queuebookmark-sorter-event-logbookmark-sorter-dashboard-revision
Event-Log
Abschnitt betitelt „Event-Log“Das Event-Log speichert strukturierte Objekte statt einfacher Strings. Neben Status und Scope können auch Provider, Klassifikation, Zielpfad sowie aiRequest und aiResponse abgelegt werden.