AI Agent 直接在浏览器里运行?peerd 扩展让你的 Chrome 变身 Agent 运行时
当你花 20 分钟配置本地 Agent 环境——装 npx、拉起 MCP 服务、配置 Docker 网络,结果发现在公司内网一台受限的 Windows 笔记本上,IT 策略禁止运行任何 Docker 容器和本地守护进程。或者你在咖啡馆用朋友的 Chromebook 临时想调试一个 AI 自动化脚本,但这台机器连 Python 都没有。
如今的 AI Agent 工具几乎都假设你有一个完整的本地开发环境:终端、包管理器、Docker 守护进程、甚至 SQLite。但在受限设备、临时环境或纯 Web 场景下,这些假设全部失效。
peerd 是一次彻底的思路转换——它不要求你搭建任何环境,而是直接把 Agent 运行时放进你已有的浏览器里。一个 Chrome/Firefox 扩展,读取浏览器标签页、运行沙箱化 Linux 虚拟机(WebAssembly)、管理 API 密钥,全部在浏览器内部完成,无需后端、无需安装工具链、无需 Docker。
痛点对比:传统 Agent 环境 vs peerd
| 维度 | 传统方案(Claude Code / Codex) | peerd |
|---|---|---|
| 环境依赖 | Node.js、npm、git、Docker | 仅有浏览器 |
| 沙箱能力 | 依赖 Docker 或 venv | 内置 WebAssembly Linux VM |
| 网页交互 | 需额外配置 browser-use 等工具 | 原生读取和驱动浏览器标签页 |
| API 密钥管理 | 环境变量或配置文件 | WebCrypto 加密本地保管库 |
| 跨平台 | macOS/Linux 为主 | 任何支持 Chrome/Firefox 的设备 |
| 安装步骤 | 3-8 步(包管理器 + 配置) | 1 步:加载扩展文件夹 |
| 数据隐私 | 依赖第三方后端 | 无遥测、无后端、数据不出浏览器 |
快速上手:3 分钟启动你的浏览器 Agent
步骤 1:获取代码
git clone https://github.com/NotASithLord/peerd.git cd peerd
peerd 是纯 Vanilla JS 项目,不需要 npm install 或构建步骤。
步骤 2:加载扩展
打开 Chrome 的 chrome://extensions,开启开发者模式,点击加载已解压的扩展程序,选择仓库中的 extension/ 文件夹(包含 manifest.json 的那个)。将 peerd 固定到工具栏。
步骤 3:设置保管库
点击 peerd 图标打开侧边栏。首次运行会引导你创建一个本地加密保管库——用 Touch ID、Passkey 或恢复口令解锁。API 密钥、聊天历史和审计日志全部使用 WebCrypto 在本地加密,只在向模型提供商发送请求时才解密。
步骤 4:添加 API 密钥
在设置中添加 Anthropic(sk-ant-...)或 OpenRouter(sk-or-...)密钥。甚至可以用本地 Ollama——密钥不离开你的设备。
完成后直接在侧边栏聊天即可。peerd 可以读取你打开的标签页、在沙箱中执行代码、搜索网页——全部在浏览器内完成。
核心功能
浏览器原生的标签页驱动
peerd 最与众不同的能力是直接读取和驱动你正在浏览的网页。Agent 通过 do/get/check 范式操作 DOM:Agent 提出操作,浏览器在真实页面上验证执行结果。Agent 本身从不直接接触原始页面字节——一个独立的 disposable runner 负责页面读写,它的输出以 wrapUntrusted 标记返回给 Agent,形成安全隔离。
这种模型提议、浏览器决定的架构,比传统的 browser-use + Playwright 方案更安全,因为 Agent 永远不会拿到未过滤的页面内容。
WebAssembly 沙箱计算
需要运行代码?peerd 内置三种执行环境:
- WebVM:基于 CheerpX 的完整 Debian Linux 虚拟机(~10 秒首次启动),你可以
apt install、git clone、curl任何东西。VM 的 HTTP 出口通过peerd-egress安全检查。 - Notebook:隔离的 Web Worker + OPFS 文件系统(数百毫秒启动),适合快速 JS 计算。每次调用创建新 Worker,持久数据通过
writeFile/readFile操作。 - Headless Worker:同 Notebook 但无 UI 标签页,Agent 自己的快速计算通道。
三种环境按需选取最轻量的,Agent 自动判断。
五模块架构
peerd 的五个模块正好拼成其品牌名 peerd:
| 字母 | 模块 | 职责 |
|---|---|---|
| p | peerd-provider | 模型适配器(Anthropic / OpenRouter / Ollama) |
| e | peerd-egress | 安全——保管库、出口检查点、审计日志 |
| e | peerd-engine | 沙箱——WebVM / Notebook / App 执行实例 |
| r | peerd-runtime | Agent 循环——工具、记忆、技能、语音、目标模式 |
| d | peerd-distributed | P2P 网络(仅预览版) |
模块间通过各自的 index.js 进行跨模块导入,禁止深路径引用。品牌即架构的设计让代码组织清晰易读。
P2P Agent 网络(预览版)
预览版包含一个基于 WebRTC 的 P2P 层,让不同设备上的 peerd 实例可以直接通信。Agent 之间共享构建产物、协作任务——全部在端到端加密通道中完成,不经过任何中心服务器。
安全设计
peerd 的安全模型值得单独讲。它不做自己的加密或进程隔离——而是继承浏览器平台几十年的安全积累:
- V8 隔离:沙箱代码运行在独立的 V8 上下文中
- WebCrypto:API 密钥和秘密使用硬件级加密存储
- WebAuthn:保管库解锁依赖 Passkey 或生物识别
- 不透明源 iframe:App 渲染在独立的 opaque-origin iframe 中
- 出口检查点:所有外部请求通过
safeFetch/webFetch,禁止裸fetch调用
原则是最小可信边界:持有密钥的 Agent 从不接触原始页面;持有页面的 Runner 从不持有密钥。每个角色只得到完成其工作所需的最小权限。
横向对比
| 特性 | peerd | Claude Code | OpenCode CLI | browser-use |
|---|---|---|---|---|
| 运行环境 | 浏览器扩展 | 终端 CLI | 终端 CLI | Python 库 |
| 网页驱动 | 原生 | 需集成 | 需集成 | 需 Playwright |
| 沙箱 | WASM Linux VM | Docker | Docker | 无 |
| 安装 | 0 构建步骤 | npm install | go install | pip install |
| 离线可用 | 部分(Ollama) | 否 | 否 | 仅规划 |
| 安全模型 | 平台继承 | 容器隔离 | 容器隔离 | 进程级 |
| 开源许可 | Apache 2.0 | 专有 | Apache 2.0 | MIT |
注意事项
- peerd 目前是 0.x 实验阶段,API 可能随时变化
- CheerpX(WebVM 运行时)是专有软件,个人和单人公司免费,多组织团队商业使用需付费许可
- 扩展请求了
和debugger权限——这是驱动任意标签页的必需,可按需审查其权限说明文档 - 首次 WebVM 启动需流式下载 Debian 磁盘镜像,约 10 秒
- 对 Firefox 的支持仍在完善中,Chrome 是当前主要目标
总结
peerd 代表了一个有趣的方向:不再要求用户在终端搭建 Agent 环境,而是把 Agent 运行时搬进他们已经在用的浏览器。对于受 IT 限制的企业设备、临时环境、以及想要更直观的 Agent 操作体验的开发者,这是一个值得尝试的新范式。虽然目前还是实验阶段,但其架构设计——五模块分离、安全边界继承浏览器平台、P2P Agent 网络——为浏览器作为 Agent 运行时这一思路打下了扎实的基础。
- GitHub: github.com/NotASithLord/peerd
- 官网: peerd.ai
- 许可: Apache 2.0