什么是 PocketHook Safari 扩展?#
一个 macOS Safari 扩展,让您自托管的 Agent Server 在您真实的浏览器中工作:打开和关闭标签页、读取页面、查找并点击控件、填写表单、截取屏幕截图 — 在您的会话中,使用您的登录状态,在您自己的机器上。
一切都在本地运行。扩展只与您自己 Mac 上的 Agent Server 通信(loopback 回环),不会向任何其他地方发送任何数据。
安装#
扩展与 Agent Server 一起以经过公证的 macOS 应用形式提供 — 无需 App Store,无需 Xcode:
bun run safari:install
这会将 Pockethook Safari.app 安装到 /Applications 并启动它。然后,在 Safari 中:
- 设置 → 扩展 — 启用 PocketHook Safari 并授予网站访问权限。
- 在服务器上生成一次性配对码:
bun run safari:code
- 在 Safari 工具栏中打开扩展弹窗,输入配对码并按 Pair。绿点表示已连接。
随时可用 bun run safari:status 检查连接状态。
权限级别#
您可以通过 bun run safari:config 按服务器决定代理获得多少自主权:
| 级别 | 含义 |
|---|---|
confirm (默认) | 每次带有外部影响的点击(投票、提交、发布、购买…)都会先询问您 |
autonomous | 投票、关注和提交无需询问即可执行;付款、永久删除以及账户或安全变更仍会询问 |
readonly | 仅可导航、检查和截图 — 点击和输入被禁用 |
代理能做什么#
- 打开、导航和关闭标签页
- 检查页面:带有稳定选择器、状态和语义属性的可见控件
- 通过可见文本或标识性属性查找控件
- 点击并填写表单(感知前端框架,带前后验证)
- 滚动页面并截图,截图会回传到您的聊天中
每个操作都会报告实际发生了什么 — 包括点击是否真的改变了什么 — 让代理去验证而不是猜测。
安全模型#
- 仅限 loopback — 扩展只连接到您配置的本地地址。
- 一次性配对码 — 配对码 5 分钟后过期且只能使用一次;生成的凭证永远不会离开您的 Mac。
- 命令过期 — 扩展在 20 秒内未取走的命令会被丢弃,因此不会有任何延迟执行。
- 钥匙在您手中 — 付款和破坏性操作在任何允许点击的权限级别下都始终需要您的明确确认。
- 可审计 — 扩展的 JavaScript 以可读形式随应用包一起提供。
下载#
扩展与 Agent Server 捆绑提供(assets/safari/PocketHook-Safari.zip),也可直接下载:PocketHook-Safari.zip — 已为 macOS 签名并公证。