Torna agli aggiornamenti
New releaseJul 27, 2026

peerd v0.2.8

Il primo harness per agenti AI nativo del browser. Un'estensione del browser che esegue un ciclo completo dell'agente dove già lavori: guida le tue schede, avvia calcoli in sandbox (notebook JS, VM Linux WASM, app lato client) e condivide ciò che costruisce peer-to-peer. BYOK, nessun backend, nessuna telemetria.

Condividi


peerd

CI License: Apache 2.0 Status: 0.x experimental Manifest V3 Security policy

peerd è un'estensione del browser che esegue un agente AI direttamente nel browser. Può lavorare con le schede, creare ambienti di calcolo isolati e costruire app browser locali. Scegli tu il fornitore del modello e fornisci l'eventuale chiave richiesta. peerd non ha account, backend di agenti ospitato o telemetria. Le richieste ai modelli vanno direttamente dall'estensione al fornitore che scegli.

Stato

peerd è una beta sperimentale 0.x. Sono probabili modifiche sostanziali. I formati di archiviazione e il comportamento del prodotto possono cambiare. Può pilotare pagine del browser e usare chiavi API, quindi rivedi il modello di sicurezza prima di utilizzarlo con dati sensibili.

Il codice è la fonte di verità per il comportamento attuale. Inizia da CLAUDE.md, poi leggi il modulo pertinente sotto extension/.

Cosa fa

  • Esegue un ciclo di agente in un'estensione Chrome o Firefox.
  • Legge e pilota le schede del browser tramite attori specifici per ambiente.
  • Esegue WebVM Linux, notebook JavaScript, app browser e script headless.
  • Supporta fornitori di modelli cloud e locali. L'elenco aggiornato è in extension/peerd-provider/registry.js.
  • Archivia i segreti dei fornitori in un vault locale crittografato.
  • Include una dweb peer-to-peer facoltativa nelle build di anteprima.

Le app e le WebVM attualmente girano solo su Chrome. Le app non hanno accesso di rete ambientale. Le risorse remote, i fetch, WebRTC, i moduli e la navigazione verso documenti esterni sono bloccati. I collegamenti HTTP e HTTPS esterni richiedono la conferma dell'utente.

Modello di sicurezza

peerd usa l'isolamento del browser, un'esposizione limitata degli strumenti, gate di policy del service worker e controlli espliciti di egress. L'agente principale delega il lavoro sugli ambienti ad attori senza chiavi. Su Chrome, i cicli di agente non orchestratori girano in heap worker separati. Firefox usa un fallback più limitato dove le API del browser non offrono le stesse funzionalità di isolamento.

Il comportamento di rete dipende dall'operazione. Le chiamate ai modelli, le letture web, i caricamenti di asset runtime, il traffico sandbox e il traffico dweb di anteprima usano percorsi e policy con scope diversi. Vedi SECURITY.md e il modello di minaccia per i confini attuali e le limitazioni note.

Installazione

Chrome da sorgente

  1. Clona il repository.
  2. Apri chrome://extensions.
  3. Attiva la Modalità sviluppatore.
  4. Scegli Carica estensione non pacchettizzata e seleziona la directory extension/.

Ricarica l'estensione da chrome://extensions dopo le modifiche al sorgente.

Firefox da sorgente

Firefox richiede un pacchetto specifico per Firefox. Non caricare il manifest di sviluppo Chrome presente nel repository.

bun run package -- --channel=preview --browser=firefox --no-sign

Apri about:debugging#/runtime/this-firefox, scegli Carica componente aggiuntivo temporaneo, e seleziona artifacts/peerd-preview-firefox.xpi. I componenti aggiuntivi temporanei devono essere ricaricati dopo il riavvio di Firefox. Le trasformazioni per browser e canale sono definite dagli script di pacchettizzazione.

Pacchetti delle release

Vedi GitHub Releases per gli artefatti correnti. Le build per store e anteprima differiscono. Le build per store omettono la dweb. Le build di anteprima la includono e possono abilitare funzionalità di automazione aggiuntive. Il codice di pacchettizzazione fa da autorità per ogni browser e canale.

Primo avvio

  1. Apri peerd dalla barra degli strumenti del browser.
  2. Crea e sblocca il vault locale. Lo sblocco con passphrase è sempre disponibile. Lo sblocco con passkey dipende dal supporto WebAuthn PRF nel browser e nel dispositivo.
  3. Apri Impostazioni, poi aggiungi una chiave del fornitore o scegli un fornitore locale supportato.
  4. Seleziona un modello e avvia una chat.

Solo i segreti del vault e i record di sicurezza protetti sono coperti dal confine di crittografia del vault. Altro stato locale dell'estensione segue le regole di archiviazione nella documentazione di sicurezza.

Architettura

L'estensione ha cinque moduli principali. Ogni modulo espone la sua API pubblica tramite il suo index.js.

ModuloRuolo
peerd-providerAdattatori di modello e formattazione delle risposte
peerd-egressVault, policy di rete, denylist e audit
peerd-engineEsecuzione WebVM, Notebook, App e headless
peerd-runtimeCiclo dell'agente, attori, strumenti, sessioni, memoria e permessi
peerd-distributedRete peer-to-peer e dwapp solo anteprima

Lo chassis dell'estensione vive in background/, offscreen/, sidepanel/, engine-tabs/, permissions/, shared/ e nelle directory di supporto correlate.

Sviluppo

L'estensione distribuita è JavaScript vanilla con moduli ES, senza bundling né transpilation. Bun è usato per test, generazione, pacchettizzazione e controlli di release.

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

Ci sono tre superfici di test:

  • Test Bun per la logica pura.
  • Test nel browser per l'integrazione di estensione e browser.
  • E2E live su Chrome e verifica visiva per i flussi completi.

Per le modifiche all'interfaccia, esegui bun run e2e:verify, ispeziona scripts/cdp/artifacts/result.json e controlla gli screenshot generati.

I file generati non devono essere modificati a mano. In particolare, extension/manifest.json e extension/shared/channel-config.js derivano dal manifest e dalle sorgenti di pacchettizzazione. La CI ne verifica la coerenza.

Leggi CONTRIBUTING.md prima di modificare il codice.

Documentazione

I record di design sotto docs/design/ sono proposte puntuali nel tempo. Spiegano decisioni passate e lavoro pianificato. Non prevalgono sul codice corrente.

Dipendenze e licenza

Le dipendenze runtime sono incluse sotto extension/vendor/. La loro origine, versione, licenza e i record di integrità si trovano nei file SOURCE.txt adiacenti e in extension/vendor/vendor.lock.json.

peerd è concesso in licenza sotto la Apache License 2.0. I componenti inclusi mantengono le proprie licenze. CheerpX è un runtime proprietario fornito da Leaning Technologies e non è coperto dalla licenza Apache di peerd.

Categorie