
브라우저에 네이티브로 내장된 최초의 AI 에이전트 하네스. 사용자가 이미 작업 중인 환경에서 전체 에이전트 루프를 실행하는 브라우저 확장 프로그램으로, 탭을 제어하고 샌드박스 처리된 컴퓨팅 환경(JS 노트북, WASM Linux VM, 클라이언트 측 앱)을 가동하며, 만든 결과물을 피어투피어(peer-to-peer)로 공유합니다. BYOK, 백엔드 없음, 텔레메트리 없음.
peerd는 Workers, origins, 샌드박싱, OPFS, WASM/WASI, WebRTC, WebAuthn, WebExtensions 등 브라우저 프리미티브 위에 직접 구축된 최초의 범용 에이전트 런타임입니다. Chrome과 Firefox 내부에서 완전히 실행되며, 사용자의 탭, 로그인된 세션, 웹 앱, 로컬 컴퓨팅을 활용합니다.
에이전트 플랫폼들이 브라우저를 하네스 안으로 끌어들이려 하는 동안, peerd는 하네스를 브라우저 안으로 끌어들입니다.
실제 추론을 위해 지원되는 호스팅 모델 제공업체, localhost를 사용하는 로컬 모델을 선택하거나, 로컬 WebGPU 모델에 대한 예비 지원을 확인할 수 있습니다(WebNN도 주시하고 있습니다).
peerd 계정, 호스팅 브라우저, 또는 툴 서버 연결이 필요하지 않습니다. 현재 빌드는 peerd에 제품 원격 측정(telemetry)을 전송하지 않습니다.
registry.js에 정의되어 있으며, BYOK 클라우드 어댑터와 키리스 로컬 옵션을 포함합니다.로컬 에이전트는 사용자의 전체 컴퓨터에 접근할 수 있습니다. 원격 에이전트는 다른 사람의 컴퓨터에 존재합니다. 브라우저는 대안입니다: 30년 이상 강화된 보안 경계 뒤의 로컬 기능입니다.
peerd는 이러한 경계를 사용합니다. 페이지 작업은 해당 탭이나 환경에 대한 도구만 가진 별도의 액터로 이동합니다. 자격 증명, 네트워크 규칙, 확인, 감사는 확장 프로그램에 유지됩니다. 그 방어 심층 설계는 안전하지 않은 콘텐츠가 결국 필터를 통과할 것이라고 가정합니다.
peerd는 Chromium과 Firefox를 지원합니다. Firefox는 전용 워커에서 액터를 실행하고 JavaScript 컴퓨팅에 가시적인 Notebook을 사용합니다. Chrome의 오프스크린 문서 호스트가 필요한 기능은 사용 전에 Firefox 컨트롤과 모델 도구에서 제거됩니다. Firefox 프리뷰 빌드는 Firefox에 메시 호스트가 생길 때까지 dweb을 생략합니다.
App과 WebVM은 Chrome에서 실행됩니다. App은 주변 네트워크 접근이 없습니다. 원격 리소스, fetch, WebRTC, 양식, 외부 문서 탐색이 차단됩니다. 외부 HTTP 및 HTTPS 링크는 사용자 확인이 필요합니다.
구체적인 브라우저 기능 격차, 관련 업스트림 이슈, 각 가드를 제거하는 데 필요한 테스트는 docs/BROWSER-COMPATIBILITY.md에 추적됩니다.
코드가 현재 동작의 진실의 원천입니다. CLAUDE.md에서 시작한 다음 extension/ 아래의 관련 모듈을 읽으십시오.
peerd는 브라우저 격리, 좁은 도구 노출, 서비스 워커 정책 게이트, 명시적 이그레스(egress) 제어를 사용합니다. 메인 에이전트는 환경 작업을 키리스 액터에 위임합니다. Chrome과 Firefox에서 오케스트레이터가 아닌 에이전트 루프는 별도의 전용 워커 힙에서 실행됩니다. 브라우저가 해당 경계를 증명할 수 없으면 액터 요청은 실행되지 않으며 대상에 대해 어떤 작업도 수행하지 않습니다.
네트워크 동작은 작업에 따라 다릅니다. 모델 호출, 웹 읽기, 런타임 자산 로드, 샌드박스 트래픽, 프리뷰 dweb 트래픽은 서로 다른 범위의 경로와 정책을 사용합니다. 현재 경계와 알려진 제한 사항은 SECURITY.md와 위협 모델을 참조하십시오.
chrome://extensions를 엽니다.extension/ 디렉터리를 선택합니다.소스 변경 후 chrome://extensions에서 확장 프로그램을 다시 로드합니다.
Firefox에는 Firefox 전용 패키지가 필요합니다. 체크인된 Chrome 개발 매니페스트를 로드하지 마십시오. manifests/ 아래 채널 패치에 선언된 최소 버전 이상의 Firefox 버전을 사용하십시오. 해당 최소 버전은 브라우저 도구가 사용하는 문서 바인딩 스크립팅 지원을 추적합니다.
bun run package -- --channel=preview --browser=firefox --no-sign
about:debugging#/runtime/this-firefox를 열고 임시 부가 기능 로드를 선택한 다음 artifacts/peerd-preview-firefox.xpi를 선택합니다. 임시 부가 기능은 Firefox를 다시 시작한 후 다시 로드해야 합니다. 브라우저 및 채널 변환은 패키징 스크립트에 의해 정의됩니다.
현재 아티팩트는 GitHub Releases를 참조하십시오. 스토어 빌드와 프리뷰 빌드는 다릅니다. 스토어 빌드는 dweb을 생략합니다. 프리뷰 빌드는 이를 포함하며 추가 자동화 기능을 활성화할 수 있습니다. 패키징 코드가 각 브라우저와 채널의 권위자입니다.
볼트 암호화 경계는 볼트 비밀과 보호된 보안 기록만 포함합니다. 다른 로컬 확장 프로그램 상태는 보안 문서의 저장 규칙을 따릅니다.
확장 프로그램에는 다섯 개의 주요 모듈이 있습니다. 각 모듈은 index.js를 통해 공개 API를 노출합니다.
| 모듈 | 역할 |
|---|---|
peerd-provider | 모델 어댑터 및 응답 형식 |
peerd-egress | 볼트, 네트워크 정책, 차단 목록, 감사 |
peerd-engine | WebVM, Notebook, App, 헤드리스 실행 |
peerd-runtime | 에이전트 루프, 액터, 도구, 세션, 메모리, 권한 |
peerd-distributed | 프리뷰 전용 피어 투 피어 네트워크 및 dwapp |
확장 프로그램 섀시는 background/, offscreen/, sidepanel/, engine-tabs/, permissions/, shared/ 및 관련 지원 디렉터리에 있습니다. 호스트 배치와 콜드 워커 규칙은 docs/EXTENSION-HOSTS.md에 문서화되어 있습니다.
소스 확장 프로그램은 ES 모듈을 사용하는 바닐라 JavaScript이며 압축 해제된 상태로 로드될 때 직접 실행됩니다. 개발 번들러, 트랜스파일러, watcher 또는 생성된 런타임 트리가 없습니다. 릴리스 패키징은 정적 서비스 워커와 Chrome 오프스크린 콜드 그래프에서 작성된 모듈의 공백/주석을 제거하기 위해 일회용 스테이징 복사본에서만 Bun을 사용합니다. 모듈 경계, 바인딩 이름, 지연 가져오기, 모든 벤더링된 바이트를 보존합니다. 읽을 수 있는 진단 아티팩트가 유용할 때 bun run package -- ...에 --no-minify를 전달하십시오.
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
세 가지 테스트 표면이 있습니다: