技术社区CNode
开源了 Panerelay:让 AI Agent 只控制你授权的浏览器标签页(Node.js + Native Messaging)
大家好,最近在做一个开源项目 Panerelay 。目标很具体:让 AI Agent 在你日常使用、已经登录的 Chrome / Edge / Firefox 里工作,但只能触达你明确授权的标签页。 这篇帖子本身,就是在我已登录的 CNode 标签页里明确授权后,由 Agent 通过 Panerelay 发布的,也算一次真实链路的自测。 为什么做它 常见的浏览器自动化通常要么启动一个单独的浏览器,要么需要重复登录、导入 Cookie。对个人开发者来说不够顺手;对包含后台、邮箱等登录态的日常浏览器来说,权限边界又不…
内容摘要
大家好,最近在做一个开源项目 Panerelay 。目标很具体:让 AI Agent 在你日常使用、已经登录的 Chrome / Edge / Firefox 里工作,但只能触达你明确授权的标签页。
这篇帖子本身,就是在我已登录的 CNode 标签页里明确授权后,由 Agent 通过 Panerelay 发布的,也算一次真实链路的自测。
为什么做它
常见的浏览器自动化通常要么启动一个单独的浏览器,要么需要重复登录、导入 Cookie。对个人开发者来说不够顺手;对包含后台、邮箱等登录态的日常浏览器来说,权限边界又不能含糊。
我想要的是:
直接复用现有浏览器和登录态,不导出 Cookie
用户逐标签页授权,随时可以撤销
浏览器焦点不等于授权,Agent 切换目标也不会影响用户当前看的标签页
多个 Agent 可以接入,但修改页面前必须拿到当前控制权
不支持或未授权的操作直接失败,不偷偷降级绕过
架构
AI Agent → agent-browser CLI / MCP → Panerelay Bridge ↕ Native Messaging 本地 Agent ← 浏览器侧边栏 ← Panerelay Extension ↔ 已授权标签页
项目是 Node.js 20+ / TypeScript / pnpm monorepo,主要拆成三层:
agent-browser 继续负责 snapshot、locator、输入、等待、截图等自动化语义;
本地 Bridge 负责路由、会话和权限策略;
Extension 负责让授权、受控状态和撤销入口始终对用户可见。
安全上我刻意把“站点权限”“标签页授权”“当前控制租约”分开处理。凭证留在浏览器里,本地链路默认也不记录页面正文、Cookie、截图和请求体。
快速试用
安装浏览器扩展后,本地只需要:
npx --yes @panerelay/setup agent-browser --provider panerelay tab list
然后从扩展里授权当前标签页,就可以继续使用 agent-browser 原有的命令或 MCP 接入。Chrome / Edge 已可用,Firefox 也在做现有会话的 WebDriver 接入。
GitHub: F-loat/panerelay
Chrome 扩展: Panerelay
协议:MIT
项目还在早期阶段,特别想听听 CNode 同学对这几个问题的看法:
“逐标签页授权 + 独占控制租约”会不会太重?
大家在 Node.js + Native Messaging 的跨平台安装上踩过哪些坑?
你最希望 Agent 在现有登录态浏览器里完成什么工作流?
欢迎拍砖,也欢迎直接提 issue。
资讯来源
CNode