返回更新列表
新发布Jul 27, 2026

peerd v0.2.8

首款浏览器原生AI代理工具。一款浏览器扩展,在你工作的位置运行完整的代理循环:操控你的标签页、启动沙箱计算环境(JS笔记本、WASM Linux虚拟机、客户端应用),并以点对点方式分享其构建的内容。自带密钥,无需后端,无遥测。

分享


peerd

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

浏览器原生的代理框架

peerd 在您自己的 Chrome 或 Firefox 中运行通用代理。

它可与您已有的标签页、已登录会话、Web 应用以及浏览器内置的计算能力协同工作。您可以选择受支持的云或本地模型提供商。无需 Peerd 帐户或托管浏览器,当前版本也不会向 Peerd 发送任何产品遥测数据。

本地代理可以访问您的整个计算机。远程代理则生活在别人的计算机中。peerd 在您的浏览器内运行。

安装 · peerd.ai · 架构 · 安全性

为什么选择浏览器原生

您的浏览器已经拥有您的应用程序、会话、身份、网络、界面以及有用的本地计算能力。它还内置了为恶意页面设计的边界。

peerd 利用这些边界。页面工作交由独立的 actor 处理,每个 actor 仅拥有该标签页或环境所需的工具。凭据、网络规则、确认和审计都保留在扩展中。这种纵深防御设计假定不安全的内容最终会绕过过滤器。

peerd 的不同之处

  • 您的浏览器就是工作区。 代理可直接处理您面前已有的标签页、应用、会话和页面内容。
  • 页面工作保持隔离。 Web、WebVM、Notebook、App 和预览版 dweb 的 actor 各自获得面向自身环境的工具。
  • 站点知识可复用。 Web actor 可以为某个站点构建自适应客户端,并在后续任务中再次使用。
  • 计算保持在浏览器边界内。 peerd 可以在 Chromium 上运行脚本、密封的 JavaScript Notebook、编译后的 WASI 工具、浏览器 App 和 Linux WebVM。
  • 模型由您选择。 实时提供商清单定义在 registry.js 中,包括 BYOK 云适配器和无密钥的本地选项。
  • P2P 为可选功能。 预览版增加了签名身份、浏览器间发现、dwapp 以及通过 WebRTC 进行的代理间通信;商店版会完全移除这些功能。

状态

peerd 是实验性的 0.x 测试版。很可能发生破坏性变更。存储格式和产品行为可能会变化。它可以驱动浏览器页面并使用 API 密钥,因此在使用敏感数据之前请先审阅安全模型。

Chromium 是主要的产品目标平台。Firefox 支持为实验性。它在专用 worker 中运行 actor,并使用可见的 Notebook 进行 JavaScript 计算。需要 Chrome offscreen document 主机的功能会在使用前从 Firefox 的控件和模型工具中移除。Firefox 预览包在 Firefox 拥有 mesh 主机之前也不包含 dweb。

代码是当前行为的唯一权威来源。从 CLAUDE.md 开始,然后阅读 extension/ 下相应的模块。

功能

  • 在 Chrome 和实验性的 Firefox 包中运行代理循环。
  • 通过按环境划分的 actor 读取和驱动浏览器标签页。
  • 运行 Linux WebVM、JavaScript Notebook、浏览器 App,以及在运行时主机支持的情况下运行无头脚本。
  • 支持云和本地模型提供商。实时清单位于 extension/peerd-provider/registry.js
  • 将提供商密钥存储在本地加密保险库中。
  • 预览版中包含可选的端到端 dweb。

App 和 WebVM 目前仅在 Chrome 上运行。App 没有环境网络访问权限。远程资源、fetch、WebRTC、表单和外部文档导航均被阻止。外部 HTTP 和 HTTPS 链接需要用户确认。

安全模型

peerd 使用浏览器隔离、窄化的工具暴露范围、service-worker 策略门控以及显式的出口控制。主代理将环境工作委托给无密钥的 actor。在 Chrome 和 Firefox 上,非编排者的代理循环运行在独立的专用 worker 堆中。如果浏览器无法证明该边界,actor 请求将不会运行,也不会对其目标执行任何工作。

网络行为取决于具体操作。模型调用、网页读取、运行时资源加载、沙箱流量和预览版 dweb 流量使用不同的作用域路径和策略。有关当前边界和已知限制,请参阅 SECURITY.md威胁模型

安装

从源码安装 Chrome

  1. 克隆仓库。
  2. 打开 chrome://extensions
  3. 启用开发者模式。
  4. 选择 加载已解压的扩展程序,然后选择 extension/ 目录。

源码更改后,从 chrome://extensions 重新加载扩展。

从源码安装 Firefox

Firefox 需要 Firefox 专用的包。请勿加载已检入的 Chrome 开发清单。请使用等于或高于 manifests/ 中渠道补丁声明的最低版本的 Firefox。该下限与浏览器工具使用的 document-bound 脚本支持保持一致。

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

打开 about:debugging#/runtime/this-firefox,选择 临时载入附加组件,然后选择 artifacts/peerd-preview-firefox.xpi。Firefox 重启后需要重新加载临时附加组件。浏览器和渠道的转换由打包脚本定义。

发布包

有关当前构件,请参阅 GitHub Releases。商店版和预览版有所不同。商店版不包含 dweb。预览版包含 dweb,并可能启用额外的自动化功能。打包代码是每个浏览器和渠道的权威依据。

首次运行

  1. 从浏览器工具栏打开 peerd。
  2. 创建并解锁本地保险库。口令解锁始终可用。通行密钥解锁取决于浏览器和设备对 WebAuthn PRF 的支持。
  3. 完成简短的个人资料引导。
  4. 打开设置,然后添加提供商密钥或选择受支持的本地提供商。
  5. 选择模型并开始对话。

只有保险库机密和受保护的安全记录受保险库加密边界保护。其他本地扩展状态遵循安全文档中的存储规则。

架构

该扩展有五个主要模块。每个模块通过其 index.js 公开公共 API。

模块作用
peerd-provider模型适配器和响应格式化
peerd-egress保险库、网络策略、黑名单和审计
peerd-engineWebVM、Notebook、App 和无头执行
peerd-runtime代理循环、actor、工具、会话、记忆和权限
peerd-distributed仅预览版的对等网络和 dwapp

扩展框架主体位于 background/offscreen/sidepanel/engine-tabs/permissions/shared/ 及相关支持目录中。

开发

发布的扩展是使用 ES 模块的纯 JavaScript(vanilla JavaScript),不进行打包或转译。Bun 用于测试、生成、打包和发布检查。

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

有三个测试层面:

  • 针对纯逻辑的 Bun 测试。
  • 针对扩展和浏览器集成的浏览器内测试。
  • 针对完整流程的实时 Chrome E2E 和视觉验证。

对于 UI 更改,运行 bun run e2e:verify,检查 scripts/cdp/artifacts/result.json,并检查生成的截图。

生成的文件不能手动编辑。特别是 extension/manifest.jsonextension/shared/channel-config.js 来自清单和打包源。CI 会检查它们是否发生漂移。

更改代码前请先阅读 CONTRIBUTING.md

文档

docs/design/ 下的设计记录是时点性提案。它们解释过去的决策和计划中的工作。它们不覆盖当前代码。

依赖与许可

运行时依赖项存放在 extension/vendor/ 下。其源码、版本、许可证和完整性记录位于相邻的 SOURCE.txt 文件和 extension/vendor/vendor.lock.json 中。

peerd 在 Apache License 2.0 下授权。内置组件保留其各自的许可证。CheerpX 是 Leaning Technologies 提供的专有运行时,不受 peerd 的 Apache 许可证约束。

分类