peerd

首个浏览器原生 AI Agent harness,Chrome/Firefox 扩展在浏览器内运行完整 Agent 循环,BYOK 无后端无遥测,Apache-2.0 开源

🔄 更新: 2026-07-07

peerd 快速入门

一句话卖点:Agent 不再困在终端里——peerd 把完整 Agent 循环嵌入浏览器扩展,直接操控你的标签页,在浏览器沙箱中运行 JS Notebook、Linux 虚拟机甚至客户端 App,零后端零遥测,密钥终身不出本地。

产品概述

peerd 是首个浏览器原生 AI Agent harness,以 Chrome/Firefox 浏览器扩展的形式运行。与传统 Agent 框架(需终端、服务器、Docker 等基础设施)不同,peerd 将完整的 Agent 循环完全运行在浏览器内部——它驱动你的标签页、在隔离沙箱中执行计算任务,并通过 BYOK(自带密钥)连接到你选择的模型提供商。

项目由 NotASithLord 于 2026 年 6 月 22 日创建,仅两天后便在 Hacker News 登上首页(Show HN),引发技术社区广泛讨论。截至 2026 年 7 月 6 日,项目处于 0.x 实验性 Beta 阶段,已有 148 次提交、315 个 Star 和 31 个 Fork。

peerd 的核心理念是利用浏览器平台作为运行环境和安全模型。它建立在浏览器数十年的沙箱演进之上——V8 isolate 隔离、WebCrypto 本地加密、WebAuthn 生物认证、opaque-origin iframe——peerd 不写任何自己的加密或进程隔离代码,而是将安全性完全委托给久经考验的浏览器平台。

核心功能

🤖 完整 Agent 循环

peerd 运行一个真正的 Agent 循环:规划 → 执行 → 观察 → 调整。Agent 可以读取和驱动浏览器标签页、执行沙箱计算、构建小型应用,并通过多轮推理完成复杂任务。支持目标模式(Goal Mode),让 Agent 自动拆解并执行多阶段任务。

📦 四类沙箱计算环境

  • WebVM:基于 CheerpX 的完整 x86 Linux 虚拟机,在浏览器中以 WebAssembly 运行,拥有独立的 Debian 系统、bash shell 和文件系统。适合需要真实二进制工具或多语言运行时的任务。
  • JS Notebook:密封的 Web Worker + OPFS 文件树,在独立 worker heap 中运行用户 JavaScript,毫秒级启动。适合数据处理、API 调用和轻量计算。
  • Headless Worker:与 Notebook 相同底层的无界面脚本执行器,Agent 的”代码模式”——一次调用即可运行完整脚本,无需多轮工具调用。
  • App:Agent 为用户构建的客户端应用,存储在 IndexedDB 中,渲染在沙箱 iframe 内。支持热更新(app_update 自动刷新标签页)。

🔐 安全隔离模型

peerd 的安全架构是其最核心的差异化设计:

角色持有不能
主 Agent(编排器)对话上下文、规划能力不持有任何环境操作工具,不接触原始页面内容
环境 Actor单一环境的所有工具(标签页/VM/Notebook)不持有密钥,不触碰其他环境,返回的摘要被标记为不信任
Egress 检查点所有出站流量的审核不允许绕过——safeFetch/webFetch 强制所有请求经检查点

这种”持有密钥的 Agent 不能操作环境,操作环境的 Actor 不持有密钥”的隔离设计,即使在 Agent 被 prompt injection 攻击时,攻击者也无法获取密钥或横向移动到其他环境。

🗣️ 语音输入

集成 Moonshine 本地语音识别模型(ONNX + WebGPU/WebAssembly),支持浏览器内语音转文字,无需上传音频到云端。

🌐 去中心化 Web(预览通道)

Preview 通道包含基于 WebRTC 的 P2P 网络层(peerd-distributed 模块),支持 peerd 实例之间的去中心化 Agent-to-Agent 通信,可分享 Agent 构建的产物。

安装与快速上手

peerd 零构建步骤——你直接从磁盘加载源码即可运行。需要 Chromium 内核浏览器(Chrome、Edge、Brave、Arc 等)和一个模型 API 密钥。

第一步:获取代码

git clone https://github.com/NotASithLord/peerd.git
cd peerd

第二步:加载扩展

  1. 打开 chrome://extensions
  2. 开启右上角的 开发者模式
  3. 点击 加载已解压的扩展程序
  4. 选择仓库中的 extension/ 文件夹(注意:不是仓库根目录,是包含 manifest.json 的那个文件夹)

第三步:创建本地密钥库

点击工具栏中的 peerd 图标打开侧边栏。首次运行会引导你创建本地密钥库:推荐使用 Touch ID / 通行密钥(passkey) 解锁,也可使用恢复口令。所有密钥、聊天记录和审计日志均在本设备加密存储。

第四步:添加 API 密钥

打开 Settings(齿轮图标)→ API keys,粘贴至少一个密钥:

  • Anthropicsk-ant-…):推荐,Claude 系列模型
  • OpenRoutersk-or-…):统一 API 网关,支持多种模型
  • Ollama:本地模型,零费用,数据完全离线

可在 Settings 中设置默认模型,也可在每个对话中从消息框上方的选择器切换。

第五步:开始对话

回到聊天界面,输入消息即可。peerd 可以自动读取和操控已打开的标签页。如需确认每一步操作,可在 Settings 中开启 Confirm before actions(操作前确认)。

⚠️ 注意:peerd 处于 0.x 实验阶段,存储格式可能变化,API 可能破坏性变更,使用需谨慎。项目无”V1”承诺。

架构概览

peerd 的品牌标志本身就是架构图——五个字母对应五个顶级模块:

字母模块职责
p · 青色peerd-provider模型适配器——Anthropic、OpenRouter、Ollama(流式、缓存、计费、重试)
e · 红色peerd-egress安全层——密钥库、出站检查点、拒绝名单、审计日志
e · 琥珀色peerd-engine沙箱——WebVM、Notebook、App 和 Headless Worker
r · 绿色peerd-runtime编排器——Agent 循环、工具、Actor 委托、会话、记忆、目标模式、语音
d · 品红peerd-distributed去中心化——P2P 网络(仅 Preview 通道)

代码为纯 Vanilla JS(ES2024+),无 TypeScript、无 JSX、无打包器(bundler),仅在 extension/ 目录外使用 Bun 进行测试和构建脚本。跨模块导入必须通过各模块的 index.js(公共 API),禁止深路径导入。

典型使用场景

🔬 数据抓取与分析

让 peerd 打开目标页面,提取结构化数据,在 JS Notebook 中清洗处理,生成分析报告——全程在浏览器内完成,数据不离开本机。

🧪 自动化测试

利用 peerd 的标签页驱动能力,编写端到端测试脚本:自动填写表单、点击按钮、验证页面状态,无需 Selenium 或 Playwright 等外部工具。

🏗️ 快速原型构建

给 peerd 一个描述,让它构建一个单页 HTML 应用(App),支持实时预览和迭代。适合快速验证 UI 想法或构建内部工具。

🔒 隐私敏感任务

对于不允许数据离开本机的场景(如处理内部文档、敏感合同),使用 Ollama 本地模型 + peerd + 离线标签页,实现完全离线的 Agent 自动化。

🌐 去中心化协作(Preview)

在 Preview 通道中,两个 peerd 实例可通过 P2P 网络直接共享 Agent 构建的产物,无需中央服务器。

竞品速览

工具定位核心差异
Browser UsePython 浏览器 Agent 框架需 Python 环境,Playwright 驱动,服务端部署
Pluno浏览器 Agent 扩展商业闭源,侧重通用浏览自动化
Open Comet开源浏览器 Agent 扩展轻量级,功能较简单,无沙箱计算环境
Glama云端 Agent 平台服务端运行,数据经云端,无离线能力

与上述竞品相比,peerd 的核心差异化在于:完全浏览器原生、零后端、端到端加密本地密钥库、沙箱计算环境(WebVM/Notebook/App)和 P2P 去中心化能力

❓ 常见问题 FAQ

peerd 是否需要付费?

peerd 本身完全免费开源(Apache 2.0)。你需要自行提供模型 API 密钥(Anthropic/OpenRouter 按用量付费),或使用 Ollama 本地模型(完全免费)。唯一例外:CheerpX WebVM 运行时对多人员组织用于生产环境需商业授权(个人及一人公司免费)。

peerd 支持哪些浏览器?

主要支持 Chromium 内核浏览器(Chrome、Edge、Brave、Arc)。Firefox 支持正在完善中(Manifest V3 兼容)。

我的数据安全吗?

是的。所有 API 密钥加密存储在本地密钥库中(WebCrypto + Argon2id 密钥派生),通过 Touch ID/通行密钥或口令解锁。peerd 本身无后端、无遥测——除了向你指定的模型提供商发送 API 请求外,没有任何数据离开你的设备。

peerd 与 Browser Use 有什么区别?

Browser Use 是 Python 库,需要通过 Playwright 驱动浏览器,适合服务端自动化。peerd 直接作为浏览器扩展运行,在你日常使用的浏览器中工作,无需额外基础设施。peerd 还提供了独特的沙箱计算环境(WebVM/Notebook/App)。

可以用于生产环境吗?

不建议。peerd 目前处于 0.x 实验性 Beta 阶段,可能发生破坏性变更。建议先在开发或个人项目中使用,等待稳定版本。

peerd 如何与现有 AI 工具配合?

peerd 不是要替代 Claude Code、Cursor 或 Copilot,而是补充它们。在 IDE 中写代码时可以用 Claude Code,在浏览器中需要自动化、数据抓取或快速原型时用 peerd。两者通过浏览器标签页自然衔接——peerd 可以操控你打开的任何网页,包括 IDE 的 Web 预览页面。

WebVM 中的网络请求是否安全?

是的。WebVM 内的 curl/wget/git clone 等网络请求被 bash 函数包装器拦截,所有流量在离开浏览器前通过 peerd-egress 检查点审查。这意味着 VM 中的网络行为受同一套白名单/拒绝名单/SSRF 防护策略约束。

如何贡献代码或报告 Bug?

项目欢迎贡献。阅读 CONTRIBUTING.md 了解代码规范(纯 Vanilla JS、JSDoc 类型注释、纯函数优先),通过 GitHub Issues 报告 Bug 或提交 Pull Request。CI 强制要求所有浏览器文件通过 // @ts-check 类型检查。

peerd 支持 MCP 协议吗?

当前版本不直接支持 MCP。peerd 的设计理念是用浏览器原生能力替代外部工具协议——通过标签页驱动、JS Notebook 和 WebVM 直接完成 MCP 服务器通常提供的功能(文件操作、网络请求、代码执行)。未来可能通过 App 机制或自定义 Actor 集成外部 MCP 服务器。

Firefox 支持何时完善?

Firefox 的 Manifest V3 支持正在推进中。当前可通过 about:debugging#/runtime/this-firefox 加载临时扩展,但每次编辑需重新加载。Chrome 是目前的主要目标平台。关注 GitHub Issues 了解 Firefox 兼容性进展。

与 Selenium/Playwright 相比,peerd 的定位是什么?

Selenium 和 Playwright 是无头浏览器自动化框架,通过 WebDriver/CDP 协议远程控制浏览器,适合 CI/CD 中的自动化测试。peerd 是浏览器内的 Agent——它在你日常使用的浏览器中运行,使用你的登录会话和 Cookie,不需要额外的驱动进程。它不是要替代 Selenium,而是提供一个”有状态的、交互式的浏览器 Agent”范式,用于需要真实浏览器上下文的场景(如抓取需要登录的页面、交互式数据探索)。

peerd 的本地模型推理性能如何?

本地模型推理基于 Transformers.js + WebGPU,目前仅支持 Gemma-4-E2B(约 1.3GB 模型文件,需首次下载)。性能取决于设备 GPU——配备独立 GPU 的设备可在数秒内完成推理,CPU 回退(WebAssembly)速度较慢。这是早期功能,模型选择有限,但已完成概念验证。

进阶使用

更新扩展

修改源码后,在 chrome://extensions 中点击 peerd 卡片上的刷新图标即可。侧边栏、Offscreen Document 和所有已打开的 VM/Notebook/App 标签页会同步重载。

Ollama 本地模型配置

使用 Ollama 实现完全离线运行:

  1. 安装 Ollama 并拉取模型:ollama pull llama3
  2. 在 peerd Settings → API keys 中选择 Ollama
  3. 默认连接 http://localhost:11434,无需 API 密钥

使用 Ollama 时所有推理在本地完成,结合 peerd 的本地密钥库和离线标签页驱动,可实现完全离线的 Agent 自动化。适合处理敏感文档、内部数据或网络受限环境。

操作确认模式

在 Settings 中开启 Confirm before actions 后,Agent 的每一步标签页操作和自动化步骤都会先弹出确认框,经你批准后才执行。建议初次使用时开启此模式,熟悉 Agent 行为后再关闭。

Preview 通道与 P2P 功能

Preview 通道(GitHub Releases 下载)包含去中心化 Web 层(peerd-distributed),支持两个 peerd 实例之间通过 WebRTC 直接建立 P2P 连接,无需信令服务器之外的任何基础设施。可用于:

  • 分享 Agent 构建的 App 给协作者
  • Agent-to-Agent 任务委托
  • 去中心化工作流协作

⚠️ Preview 通道的 P2P 协议为研究级,可能变更。正式版用户建议等待 Chrome Web Store / Firefox Add-ons 商店版本。

从 Chrome 开发者模式迁移到商店版

商店版上架后,从开发者模式迁移的步骤:

  1. 通过 Settings → Export & import 导出当前状态(密钥、对话历史、设置)
  2. 卸载开发者模式版本
  3. 从商店安装正式版
  4. 通过 Settings → Export & import 导入之前的状态

商店版与 Preview 版可同时安装(作为两个独立扩展),存储空间隔离,方便在稳定版和实验版之间切换。

参考链接

  1. peerd GitHub 仓库 — 源码、文档、安装指南
  2. peerd 安全文档 (SECURITY.md)
  3. peerd HN Show HN 讨论 — 2026-06-24
  4. otf-kit: Peerd brings the first AI agent native to your browser — 2026-06-25
  5. peerd.ai 官网

📊 评分与标签

评分说明

总分 6.8/10 · S_入选

📊 可观测社区指标(数据核验日期:2026-07-06)

  • GitHub: NotASithLord/peerd ★315, 🔱31, 148 次提交
  • HN Show HN: 68 points, 25 comments — 来源(2026-06-24)
  • 项目创建时间: 2026-06-22(约 2 周前)
  • 许可证: Apache 2.0

⚙️ 功能完整度 1.7/2.5

  • 四大沙箱计算环境(WebVM Linux 虚拟机、JS Notebook、Headless Worker、客户端 App),覆盖从命令行到可视化应用的完整计算谱系
  • 多模型支持:Anthropic Claude、OpenRouter(多模型网关)、Ollama 本地模型,BYOK 自由选择
  • 语音输入(Moonshine 本地 STT)、本地模型推理(Gemma-4-E2B WebGPU)、去中心化 P2P 网络(Preview 通道)
  • 缺少:Chrome Web Store / Firefox Add-ons 商店上架(审核中)、正式的 V1 稳定性承诺
  • 对比 Browser Use:Browser Use 需要 Python + Playwright 环境,功能集中在浏览器自动化,无沙箱计算环境
  • 对比 Pluno:Pluno 是商业闭源产品,功能聚焦浏览自动化,无 WebVM/Notebook/App 等计算能力

✨ 输出质量 1.5/2.5

  • Agent 循环采用”编排器—Actor”分离架构,每个环境由独立 Actor 驱动,编排器不直接操作环境,设计精巧
  • 每步页面操作报告实际变更(导航或 DOM 变更摘要),Agent 基于观察到的效果而非模型假设判断成功
    • 来源:peerd README — “success is judged from observed effect”
  • 代码质量:纯 Vanilla JS ES2024+,100% JSDoc + // @ts-check 类型检查,CI 强制覆盖率
  • 作为 0.x 实验版本,Agent 行为的稳定性和可靠性未经大规模验证,部分边界情况可能未覆盖
  • 对比 Browser Use:Browser Use 基于 Python 生态,社区有大量实战案例和最佳实践,成熟度更高
  • 对比 Open Comet:Open Comet 功能简单但稳定,peerd 更创新但实验性更强

🖐️ 易用性 0.9/1.5

  • 零构建步骤:直接加载 extension/ 文件夹即可运行,无需 npm install、打包或编译
  • 侧边栏 UI(Mithril.js 框架),对话界面简洁直观,模型切换和设置入口清晰
  • 安装门槛较高:需 Git clone、开启 Chrome 开发者模式、手动加载扩展、自行获取 API 密钥
  • 商店上架后(审核中)易用性将显著提升——一键安装即可使用
  • 对比 Browser Use:需 pip install + 配置 Playwright,Python 开发者友好但非技术用户门槛更高
  • 对比 Pluno:已上架 Chrome Web Store,一键安装,但功能深度不及 peerd

💰 性价比 1.4/1.5

  • 完全免费开源(Apache 2.0),无任何付费墙
  • BYOK 灵活选择:可使用 Ollama 本地模型实现零 API 费用;Anthropic Claude 按用量付费($3/$15 per MTok);OpenRouter 提供多家模型比价
  • 无后端基础设施成本——所有计算在浏览器内完成,用户无需租用服务器
  • 唯一潜在成本:CheerpX WebVM 运行时对多人员组织的商业授权(个人及一人公司免费)
  • 对比 Browser Use:同样开源免费,但需自行管理 Python 环境和浏览器驱动
  • 对比 Claude Code:Claude Code 功能强大但需付费订阅,peerd + BYOK 模式更灵活

🔒 稳定性 0.5/1.0

  • 项目明确标注”0.x 实验性 Beta”和”破坏性变更可能发生”,存储格式可能变化,无 V1 承诺
  • 148 次提交在约 2 周内完成,开发极其活跃但也说明代码库处于快速迭代期
  • Chrome Web Store / Firefox Add-ons 商店上架尚在审核中,正式分发渠道未就绪
  • CI 持续集成已配置(GitHub Actions),但项目太新缺乏长期运行记录
  • 对比 Browser Use:已发展多年,有稳定的 Python 包发布和社区维护
  • 对比 Pluno:已上架商店的商业产品,稳定性有保障但功能迭代可能较慢

🛡️ 隐私安全 0.8/1.0

  • 密钥库:WebCrypto + Argon2id KDF 本地加密,Touch ID/Passkey 解锁,密钥仅发送至用户选择的服务商
  • 零遥测、零后端——peerd 代码中无任何数据收集或上报逻辑
    • 来源:peerd README — “no telemetry, no cloud component in the data path”
  • Actor 隔离:持有密钥的编排器不操作环境,操作环境的 Actor 不持有密钥,防御 prompt injection 横向移动
  • Egress 检查点(safeFetch/webFetch)审查所有出站请求,有提供者白名单 + 拒绝名单 + SSRF 防护
  • 开源(Apache 2.0)支持完全审计和自托管
  • 作为 0.x 实验版本,安全架构设计优秀但缺少第三方安全审计报告
  • 对比 Browser Use:开源但无 peerd 级别的安全隔离设计(无 Actor 分离、无本地加密密钥库)
  • 对比 Pluno:商业闭源,无法审计代码,信任完全依赖厂商声明

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 开源免费: Apache 2.0 许可证,完全免费,无功能限制。来源:peerd LICENSE
  • Agent: 运行完整 Agent 循环(规划→执行→观察→调整),支持标签页驱动、沙箱计算和目标模式。来源:peerd README
  • Web: 基于 Chrome/Firefox 浏览器扩展运行,所有操作在浏览器内完成。来源:peerd README — Install

同分类推荐

AI编程 分类下的其他工具

)}