
peerd v0.2.8
Der erste KI-Agent, der nativ im Browser arbeitet. Eine Browsererweiterung, die einen vollständigen Agentenloop dort ausführt, wo Sie bereits arbeiten: Sie steuert Ihre Tabs, startet Sandbox-Compute (JS-Notebooks, WASM-Linux-VMs, clientseitige Apps) und teilt, was sie erstellt, Peer-to-Peer. BYOK, kein Backend, keine Telemetrie.
Der browser-native Agenten-Harness
peerd führt Allzweck-Agenten in Ihrem eigenen Chrome oder Firefox aus.
Es arbeitet mit den Tabs, angemeldeten Sitzungen, Web-Apps und der im Browser enthaltenen Rechenleistung, die Sie bereits haben. Sie wählen einen unterstützten Cloud- oder lokalen Modellanbieter aus. Weder ein Peerd-Konto noch ein gehosteter Browser ist erforderlich, und aktuelle Builds senden keine Produkttelemetrie an Peerd.
Lokale Agenten können auf Ihren gesamten Computer zugreifen. Remote-Agenten leben auf dem Computer eines anderen. peerd läuft in Ihrem Browser.
Installation · peerd.ai · Architektur · Sicherheit
Warum browser-nativ
Ihr Browser verfügt bereits über Ihre Anwendungen, Sitzungen, Identität, Netzwerk, Schnittstelle und nützliche lokale Rechenleistung. Er verfügt außerdem über Grenzen, die für feindselige Seiten gebaut wurden.
peerd nutzt diese Grenzen. Seitenarbeit geht an separate Akteure, die nur die Werkzeuge für diesen Tab oder diese Umgebung haben. Anmeldedaten, Netzwerkregeln, Bestätigungen und Audit bleiben bei der Erweiterung. Dieses Defense-in-Depth-Design geht davon aus, dass unsichere Inhalte irgendwann einen Filter passieren.
Was peerd anders macht
- Ihr Browser ist der Arbeitsbereich. Der Agent arbeitet mit den Tabs, Apps, Sitzungen und Seiteninhalten, die bereits vor Ihnen liegen.
- Seitenarbeit bleibt getrennt. Web-, WebVM-, Notebook-, App- und Preview-dweb-Akteure erhalten jeweils Werkzeuge für ihre eigene Umgebung.
- Site-Wissen ist wiederverwendbar. Der Web-Akteur kann einen adaptiven Client für eine Site erstellen und ihn bei späteren Aufgaben erneut verwenden.
- Berechnungen bleiben in den Browser-Grenzen. peerd kann Skripte, versiegelte JavaScript-Notebooks, kompilierte WASI-Werkzeuge, Browser-Apps und Linux-WebVMs auf Chromium ausführen.
- Sie wählen das Modell. Das aktuelle Anbieterverzeichnis ist in
registry.jsdefiniert, einschließlich BYOK-Cloud-Adaptern und schlüssellosen lokalen Optionen. - P2P ist optional. Preview-Builds fügen signierte Identität, Browser-zu-Browser-Erkennung, Dwapps und Agent-zu-Agent-Kommunikation über WebRTC hinzu; Store-Pakete entfernen es vollständig.
Status
peerd ist eine experimentelle 0.x-Beta. Breaking Changes sind wahrscheinlich. Speicherformate und Produktverhalten können sich ändern. Es kann Browser-Seiten steuern und API-Schlüssel verwenden. Überprüfen Sie daher das Sicherheitsmodell, bevor Sie es mit sensiblen Daten verwenden.
Chromium ist das primäre Produktziel. Die Firefox-Unterstützung ist experimentell. Es führt Akteure in dedizierten Workern aus und verwendet sichtbare Notebooks für JavaScript-Berechnungen. Funktionen, die den Offscreen-Document-Host von Chrome benötigen, werden vor der Verwendung aus den Firefox-Steuerelementen und Modellwerkzeugen entfernt. Das Firefox-Preview-Paket lässt dweb ebenfalls aus, bis Firefox einen Mesh-Host hat.
Der Code ist die maßgebliche Quelle für das aktuelle Verhalten. Beginnen Sie mit CLAUDE.md und lesen Sie dann das relevante Modul unter extension/.
Was es tut
- Führt eine Agentenschleife in Chrome und einem experimentellen Firefox-Paket aus.
- Liest Browser-Tabs und steuert sie über umgebungsspezifische Akteure.
- Führt Linux-WebVMs, JavaScript-Notebooks, Browser-Apps und, wo der Laufzeit-Host sie unterstützt, Headless-Skripte aus.
- Unterstützt Cloud- und lokale Modellanbieter. Die aktuelle Liste befindet sich in
extension/peerd-provider/registry.js. - Speichert Anbieter-Geheimnisse in einem lokalen verschlüsselten Tresor.
- Enthält ein optionales Peer-to-Peer-dweb in Preview-Builds.
Apps und WebVMs laufen derzeit nur in Chrome. Apps haben keinen Zugriff auf das umgebende Netzwerk. Remote-Ressourcen, Fetches, WebRTC, Formulare und externe Dokumentnavigation sind blockiert. Externe HTTP- und HTTPS-Links erfordern eine Benutzerbestätigung.
Sicherheitsmodell
peerd nutzt Browser-Isolation, eine schmale Werkzeugfreigabe, Service-Worker-Richtliniengates und explizite Egress-Kontrollen. Der Hauptagent delegiert Umgebungsarbeit an schlüssellose Akteure. In Chrome und Firefox laufen Nicht-Orchestrator-Agentenschleifen in separaten dedizierten Worker-Heaps. Wenn der Browser diese Grenze nicht nachweisen kann, wird die Akteursanfrage nicht ausgeführt und verrichtet keine Arbeit an ihrem Ziel.
Das Netzwerkverhalten hängt von der Operation ab. Modellaufrufe, Web-Lesezugriffe, Ladevorgänge von Laufzeit-Assets, Sandbox-Datenverkehr und Preview-dweb-Datenverkehr verwenden unterschiedliche bereichsbezogene Pfade und Richtlinien. Siehe SECURITY.md und das Bedrohungsmodell für die aktuellen Grenzen und bekannten Einschränkungen.
Installation
Chrome aus dem Quellcode
- Klonen Sie das Repository.
- Öffnen Sie
chrome://extensions. - Aktivieren Sie den Entwicklermodus.
- Klicken Sie auf Entpackt laden und wählen Sie das Verzeichnis
extension/aus.
Laden Sie die Erweiterung nach Quellcode-Änderungen über chrome://extensions neu.
Firefox aus dem Quellcode
Firefox benötigt ein Firefox-spezifisches Paket. Laden Sie nicht das eingecheckte Chrome-Entwicklungsmanifest. Verwenden Sie eine Firefox-Version, die mindestens dem im Kanal-Patch unter manifests/ deklarierten Minimum entspricht. Diese Untergrenze folgt der dokumentgebundenen Scripting-Unterstützung, die von den Browser-Werkzeugen verwendet wird.
bun run package -- --channel=preview --browser=firefox --no-sign
Öffnen Sie about:debugging#/runtime/this-firefox, wählen Sie Temporäres Add-on laden und wählen Sie artifacts/peerd-preview-firefox.xpi aus. Temporäre Add-ons müssen nach einem Neustart von Firefox erneut geladen werden. Browser- und Kanaltransformationen werden von den Paketierungsskripten definiert.
Release-Pakete
Aktuelle Artefakte finden Sie in den GitHub Releases. Store- und Preview-Builds unterscheiden sich. Store-Builds lassen dweb aus. Preview-Builds enthalten es und können zusätzliche Automatisierungsfunktionen aktivieren. Der Paketierungscode ist die maßgebliche Referenz für jeden Browser und Kanal.
Erster Start
- Öffnen Sie peerd über die Browser-Symbolleiste.
- Erstellen und entsperren Sie den lokalen Tresor. Die Passphrase-Entsperrung ist immer verfügbar. Die Passkey-Entsperrung hängt von der WebAuthn-PRF-Unterstützung in Browser und Gerät ab.
- Schließen Sie das kurze Profil-Onboarding ab.
- Öffnen Sie die Einstellungen und fügen Sie dann einen Anbieterschlüssel hinzu oder wählen Sie einen unterstützten lokalen Anbieter.
- Wählen Sie ein Modell und starten Sie einen Chat.
Nur Tresor-Geheimnisse und geschützte Sicherheitsdatensätze fallen unter die Verschlüsselungsgrenze des Tresors. Anderer lokaler Erweiterungszustand folgt den Speicherregeln in der Sicherheitsdokumentation.
Architektur
Die Erweiterung besteht aus fünf Hauptmodulen. Jedes Modul stellt seine öffentliche API über seine index.js bereit.
| Modul | Rolle |
|---|---|
peerd-provider | Modell-Adapter und Antwortformatierung |
peerd-egress | Tresor, Netzwerkrichtlinie, Denylist und Audit |
peerd-engine | WebVM-, Notebook-, App- und Headless-Ausführung |
peerd-runtime | Agentenschleife, Akteure, Werkzeuge, Sitzungen, Speicher und Berechtigungen |
peerd-distributed | Nur-Preview-Peer-to-Peer-Netzwerk und Dwapps |
Das Erweiterungs-Chassis befindet sich in background/, offscreen/, sidepanel/, engine-tabs/, permissions/, shared/ und verwandten Support-Verzeichnissen.
Entwicklung
Die ausgelieferte Erweiterung ist Vanilla-JavaScript mit ES-Modulen, ohne Bündelung oder Transpilierung. Bun wird für Tests, Generierung, Paketierung und Release-Prüfungen verwendet.
bun install
bun run gen:dev
bun test ./tests
bun scripts/cdp/run-inbrowser-tests.mjs
bun run typecheck
bun run lint
bun run e2e:verify
bun run preflight
Es gibt drei Testbereiche:
- Bun-Tests für reine Logik.
- In-Browser-Tests für die Erweiterungs- und Browser-Integration.
- Live-Chrome-E2E- und visuelle Verifikation für vollständige Abläufe.
Führen Sie bei UI-Änderungen bun run e2e:verify aus, prüfen Sie scripts/cdp/artifacts/result.json und untersuchen Sie die generierten Screenshots.
Generierte Dateien dürfen nicht von Hand bearbeitet werden. Insbesondere stammen extension/manifest.json und extension/shared/channel-config.js aus den Manifest- und Paketierungsquellen. CI prüft sie auf Drift.
Lesen Sie CONTRIBUTING.md, bevor Sie Code ändern.
Dokumentation
CLAUDE.md: Projektstruktur, Konventionen und aktueller StandSECURITY.md: Sicherheitsrichtlinie und Meldungdocs/security/THREAT-MODEL.md: Vertrauensgrenzen und Restrisikendocs/security/LIFECYCLE-CONTRACT.md: Unterbrechungsverhalten und Wiederherstellungsgrenzendocs/security/RED-TEAM-RESULTS.md: Red-Team-Abdeckungdocs/store/: Store-Paketierung, Berechtigungen, Datenschutz und Reviewer-Notizenscripts/cdp/GALLERY.md: E2E- und visuelle Zustände
Design-Datensätze unter docs/design/ sind zeitpunktbezogene Vorschläge. Sie erklären vergangene Entscheidungen und geplante Arbeiten. Sie überschreiben nicht den aktuellen Code.
Abhängigkeiten und Lizenz
Laufzeitabhängigkeiten sind unter extension/vendor/ eingebettet. Ihre Quell-, Versions-, Lizenz- und Integritätsdatensätze befinden sich in den angrenzenden SOURCE.txt-Dateien und in extension/vendor/vendor.lock.json.
peerd ist unter der Apache-Lizenz 2.0 lizenziert. Eingebettete Komponenten behalten ihre eigenen Lizenzen. CheerpX ist eine proprietäre Laufzeit, die von Leaning Technologies bereitgestellt wird, und ist nicht von der Apache-Lizenz von peerd abgedeckt.