Gemma Gem – Chrome-Erweiterung, die Google-Gemma-4-Modelle vollständig on-device im Browser ausführt
(github.com/kessler)- Führt Googles Gemma-4-Modelle vollständig on-device auf Basis von WebGPU aus und nutzt sie als im Browser eingebetteten persönlichen KI-Assistenten
- Keine API-Schlüssel, keine Cloud, keine Übertragung externer Daten – die gesamte Inferenz wird lokal verarbeitet, und die Daten verlassen das Gerät nicht
- Unterstützt agentenartiges Verhalten wie das Lesen der aktuell besuchten Seite, das Klicken von Buttons, das Ausfüllen von Formularen, das Ausführen von JavaScript und Frage-Antwort-Interaktionen zu Websites
- Wahl zwischen zwei Modellen: Gemma 4 E2B (~500 MB) / E4B (~1.5 GB); nach dem ersten Start werden sie zwischengespeichert und wiederverwendet
- Unterstützt q4f16-Quantisierung und 128K Kontext (
onnx-community/gemma-4-E2B-it-ONNX,onnx-community/gemma-4-E4B-it-ONNX) - Bietet 6 integrierte Tools
read_page_content: Liest Seitentext/HTML oder Inhalte anhand eines CSS-Selektorstake_screenshot: Erfasst die sichtbare Seite als PNGclick_element/type_text/scroll_page: DOM-Manipulation auf Basis von CSS-Selektorenrun_javascript: Führt JS mit vollständigem DOM-Zugriff im Seitenkontext aus
- Dreischichtige Architektur aus Offscreen Document + Service Worker + Content Script
- Das Offscreen Document hostet das Modell mit
@huggingface/transformers+ WebGPU und führt die Agenten-Schleife aus - Der Service Worker übernimmt das Message-Routing sowie Screenshots und die Ausführung von JS
- Das Content Script injiziert das Gem-Symbol und ein Chat-Overlay im Shadow DOM
- Das Offscreen Document hostet das Modell mit
- In den Einstellungen werden Modellwechsel, Thinking-Umschaltung, Obergrenze für Tool-Call-Schleifen, Zurücksetzen des Gesprächsverlaufs und Deaktivierung pro Website unterstützt
- Das Verzeichnis
agent/ist abhängigkeitsfrei und kann auf Basis der InterfacesModelBackendundToolExecutorals unabhängige Bibliothek ausgegliedert werden - Erfordert Chrome mit WebGPU-Unterstützung / Lizenz Apache-2.0 / Implementiert in TypeScript
Noch keine Kommentare.