面向 AI 代理的高性能浏览器自动化桥接器,12MB 单二进制,零配置,基于无障碍树实现低 token 成本的页面理解与操作。
Pinchtab 是一个为 AI 代理优化的浏览器自动化工具,通过 HTTP API 暴露浏览器控制能力。
核心特性#
HTTP API 设计#
- 语言无关的 RESTful 接口(默认端口 9867)
- 任何 Agent、脚本甚至 curl 都可调用
- 无框架锁定
无障碍树优先#
- 基于 Chrome DevTools Protocol 获取 a11y tree
- 比截图方案节省 4 倍 token 成本
- 每页约 800 tokens
- 稳定的元素引用系统(e0, e1, e2...)
隐身与反检测#
- 内置 navigator.webdriver 修补
- 用户代理(UA)欺骗
- 支持 light/full 两种隐身级别
会话持久化#
- Cookie、认证状态、标签页跨重启保持
- 配置存储于
~/.pinchtab/chrome-profile/ - 一次登录,永久自动化
Token 优化策略#
- 交互式过滤器:减少 ~75% tokens
- 紧凑格式:减少 56-64% tokens
- 智能差异检测:仅返回变化部分
安装方式#
Go 安装(推荐)
go install github.com/pinchtab/pinchtab@latest
Docker
docker run -d -p 9867:9867 --security-opt seccomp=unconfined pinchtab/pinchtab
快速开始#
# 启动服务器
./pinchtab
# 有头模式
BRIDGE_HEADLESS=false ./pinchtab
# 读取页面文本
curl localhost:9867/text
# 点击按钮
curl -X POST localhost:9867/action -d '{"kind":"click","ref":"e5"}'
核心 API 端点#
| 端点 | 说明 |
|---|---|
GET /health | 连接状态 |
GET /snapshot | 无障碍树(主要接口) |
GET /text | 可读文本 |
GET /screenshot | JPEG 截图 |
POST /navigate | 导航到 URL |
POST /action | 点击、输入等操作 |
POST /evaluate | 执行 JavaScript |
适用场景#
- AI 代理浏览器控制
- 网页抓取与监控
- 自动化测试
- 多代理资源共享
- 人机协作工作流(人类处理 2FA/CAPTCHA,代理接管会话)
关键配置#
| 变量 | 默认值 | 说明 |
|---|---|---|
BRIDGE_PORT | 9867 | HTTP 端口 |
BRIDGE_TOKEN | 无 | Bearer 认证 |
BRIDGE_HEADLESS | true | 无头模式 |
BRIDGE_STEALTH | light | 隐身级别 |
BRIDGE_MAX_TABS | 20 | 最大标签页数 |
项目采用 MIT 许可证,当前版本 v0.7.0,活跃维护中。