Show HN:完全在浏览器运行的AI代理框架peerd
速览
该项目名为peerd,是一个AI代理(Agent)框架。其核心特点是无需服务器支持,所有计算和逻辑均可在用户浏览器中完成。这一特性为隐私保护和降低部署成本提供了新的可能性。
AI 深度解读
Show HN: peerd – 完全在浏览器中运行的 AI Agent Harness
背景
在当前的 AI 应用生态中,大多数 AI Agent(智能体)或自动化框架都依赖于后端服务器、云基础设施或复杂的本地环境配置。用户通常需要安装特定的软件、配置环境变量,甚至担心数据隐私和遥测(telemetry)泄露。这种架构不仅增加了部署门槛,也带来了数据在传输路径中经过第三方服务器的安全风险。
在此背景下,peerd 提出了一个截然不同的结构性赌注:它不依赖任何后端、云组件或遥测服务,而是将浏览器本身作为其运行时环境、hypervisor(虚拟机监视器)以及安全模型。peerd 是一个 Chrome/Firefox 扩展,旨在利用浏览器已有的标签页和会话,直接在客户端完成从读取页面、驱动操作到执行沙箱计算的全流程。其核心理念是“BYOK”(Bring Your Own Key,自带密钥),将控制权完全交还给用户,确保数据路径中没有任何云端中介。
核心内容
peerd 被定义为首个原生于浏览器的 AI Agent Harness(智能体框架)。它不仅仅是一个聊天界面,而是一个能够读取并驱动用户当前浏览器标签页、启动沙箱计算环境(如 JS Notebooks、编译为 WebAssembly 的完整 Linux VM 或客户端个人应用)的工具。在预览通道中,它还支持通过专为 Agent 间通信构建的点对点 WebRTC 网络共享构建成果。
架构与安全模型
peerd 的核心创新在于其结构性的安全设计。它不编写任何自己的加密或进程隔离代码,而是完全继承并利用了浏览器平台几十年来硬化的安全特性:
- 沙箱与隔离:利用 V8 隔离机制进行沙箱处理,使用 WebCrypto 作为密钥库(vault),通过 WebAuthn 通行密钥解锁,并结合 opaque-origin iframes 和 Subresource Integrity(SRI)来确保内容完整性。
- 零信任执行模型:持有用户密钥的 Agent 永远不会直接读取原始页面内容。相反,一个没有密钥、没有网络访问权限的“一次性运行器”(disposable runner)负责执行操作,其输出被作为“不受信任”的内容进行围栏隔离(fenced)。
- 双重验证机制:Agent 不会盲目相信自己的成功报告。它驱动的每一个操作,都必须在实时页面上进行验证,只有当页面状态符合预期时,该操作才算完成。简而言之:“模型提议,浏览器决定”。
功能与工作流
- 本地密钥管理:用户可以将 Anthropic 或 OpenRouter 的 API 密钥,或本地 Ollama(无需密钥、无账单、数据不出本机)配置为默认模型。所有密钥均加密存储在本地 Vault 中,仅发送给指定的提供商。
- 自动化与计算:peerd 可以读取和驱动打开的标签页,在浏览器内的 Linux VM 沙箱中运行 Shell 命令,构建小型应用,搜索网络等。
- 确认机制:用户可以在设置中开启“操作前确认”(默认关闭),以便在每次标签页操作或自动化步骤执行前进行审批。
安装与开发者预览
目前 peerd 处于 0.x 实验性 beta 阶段,界面仍在快速迭代,可能存在破坏性更改。
- Firefox:支持通过
.xpi文件安装预览版,或通过about:debugging加载临时附加组件。Firefox 的安装体验相对顺畅。 - Chrome (macOS/Windows):由于 Chrome 严格限制非商店安装的 CRX 扩展,用户需下载 ZIP 包,解压后在
chrome://extensions中启用“开发者模式”并“加载已解压的扩展程序”。这种方式无法自动更新,且扩展 ID 是机器特定的。 - Chrome (Linux/策略管理):支持拖拽
.crx文件安装,并可通过 feed 自动更新。 - Dweb 预览:预览包包含去中心化网络(dweb)层,允许 peerd 实例间进行点对点通信。这是一个研究级协议,建议仅贡献者和早期测试人员使用。
代码规范与架构
peerd 的代码库强调安全性和可读性,遵循严格的开发规范:
- 技术栈:纯 Vanilla JS (ES2024+),无 TypeScript、无 JSX、无打包器(bundler)、无 npm 依赖。
- 模块化:采用 ES 模块,默认严格模式。核心逻辑使用纯函数和 Reducers,仅在生命周期管理(如 Vault、VM、Ports)中使用类。
- 网络限制:禁止使用裸
fetch,所有出站 HTTP 请求必须通过safeFetch或webFetch。 - 文档:完整的架构理由、模块组织和设计记录存储在
CLAUDE.md、ARCHITECTURE.md和DESIGN.md中。
关键要点
- 完全客户端运行:peerd 是一个浏览器扩展,无后端、无遥测、无云组件参与数据路径,所有计算和存储均在本地完成。
- 浏览器即基础设施:利用浏览器作为运行时、hypervisor 和安全模型,继承 V8 隔离、WebCrypto 等成熟安全机制,无需自建加密或隔离代码。
- BYOK 模式:支持 Anthropic、OpenRouter 及本地 Ollama。API 密钥加密存储在本地 Vault,仅用于调用指定模型,数据不泄露。
- 双重验证执行:Agent 驱动的操作必须经过实时页面状态验证才算成功,防止模型幻觉导致的错误操作。
- 沙箱计算能力:支持在浏览器内运行 JS Notebooks、WebAssembly 编译的 Linux VM 和客户端应用,实现复杂的本地计算任务。
- 实验性状态:目前为 0.x 版本,界面和功能仍在快速变化,可能存在破坏性更新,建议谨慎使用并备份数据。
- 严格的代码规范:项目采用纯 Vanilla JS,无构建步骤,强调安全性、纯函数式编程和详细的代码注释,架构文档详尽。
- 安装复杂性:Chrome 用户需手动加载解压文件,无法自动更新;Firefox 用户安装体验更佳。预览版包含去中心化网络功能,但属于研究级协议。
意义与影响
peerd 的出现标志着 AI Agent 架构的一次重要范式转移。传统上,AI 自动化往往伴随着对云端服务的依赖和数据隐私的妥协,而 peerd 证明了浏览器本身足以承载复杂的 Agent 工作负载和安全需求。
首先,隐私与主权得到了极大增强。通过消除数据路径中的云组件和遥测,peerd 为对数据敏感性极高的用户和企业提供了本地化 AI 自动化的可行路径。BYOK 模式进一步确保了模型调用权的归属。
其次,降低部署与维护成本。无需配置服务器、管理虚拟机或处理复杂的依赖环境,用户只需安装一个扩展即可开始使用。这种“零后端”架构极大地降低了 AI Agent 的使用门槛。
最后,安全模型的复用。peerd 巧妙地利用了浏览器平台已有的安全基础设施,避免了重复造轮子可能带来的安全隐患。这种“信任浏览器”的设计思路,为未来的 Web 原生 AI 应用提供了重要的参考案例,展示了如何在开放的网络环境中构建封闭、安全的执行环境。
尽管目前仍处于实验阶段,peerd 展示了 Web 平台在承载复杂计算和智能体任务方面的巨大潜力,预示着未来 AI 工具可能更加去中心化、本地化和用户可控。
