PinchTab 是一款专为 AI Agent 设计的高性能浏览器自动化工具 仅 12MB 单二进制文件 零依赖开箱即用 支持 HTTP API 控制 多实例隔离 持久化配置 适用于 Windows Linux macOS 平台 让 AI 代理高效操控 Chrome
🎤 引言
还在为 AI Agent 控制浏览器而头疼?市面上大多数方案要么依赖臃肿的 Selenium 要么需要复杂的配置和依赖安装。今天给大家安利一款专为 AI Agent 量身打造的浏览器自动化神器 —— PinchTab。
这款工具最吸引我的地方在于:12MB 单二进制文件 零依赖开箱即用。不需要安装 Python 不需要配置 Node.js 一条命令就能让 AI 代理获得完整的 Chrome 控制能力。对于想要快速搭建自动化工作流的朋友来说 这简直是福音。
作为一个经常需要让 AI 代理抓取网页数据的开发者 我深知传统方案的痛点:Selenium 需要配置 WebDriver Puppeteer 需要 Node.js 环境 Playwright 虽然强大但体积庞大。PinchTab 的出现 彻底改变了这个局面。
⭐ 核心亮点
1. 极致轻量 单文件部署
PinchTab 采用 Go 语言编写 编译后的二进制文件仅约 12-15MB 没有任何外部依赖。这意味着你可以在任何支持的操作系统上直接运行 无需担心环境配置问题。无论是树莓派还是云服务器 都能轻松部署。
2. HTTP API 驱动 AI 友好
工具暴露了一套完整的 HTTP API AI Agent 可以通过简单的 HTTP 请求控制浏览器:
# 创建浏览器实例
INST=$(curl -s -X POST http://localhost:9867/instances/launch \
-H "Content-Type: application/json" \
-d '{"name":"work","mode":"headless"}' | jq -r '.id')
# 打开标签页
TAB=$(curl -s -X POST http://localhost:9867/instances/$INST/tabs/open \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}' | jq -r '.tabId')
# 获取页面结构化快照(仅交互元素)
curl "http://localhost:9867/tabs/$TAB/snapshot?filter=interactive"
# 点击指定元素
curl -X POST "http://localhost:9867/tabs/$TAB/action" \
-H "Content-Type: application/json" \
-d '{"kind":"click","ref":"e5"}'
# 填写表单
curl -X POST "http://localhost:9867/tabs/$TAB/action" \
-H "Content-Type: application/json" \
-d '{"kind":"fill","ref":"e3","text":"[email protected]"}'
# 提取页面文本(Token 高效)
curl "http://localhost:9867/tabs/$TAB/text"3. Token 效率优化
相比传统的截图方案(每张截图可能消耗 10000+ tokens) PinchTab 通过智能提取页面文本和结构化数据 平均仅需 800 tokens/页 效率提升 5-13 倍。这对于需要处理大量网页的 AI Agent 来说 成本优势非常明显。
实际测试表明 在处理一个包含 50 个链接的网页时 传统截图方案需要约 500000 tokens 而 PinchTab 仅需约 40000 tokens 节省了近 90% 的 Token 消耗。
4. 多实例隔离与持久化配置
支持同时运行多个 Chrome 实例 每个实例拥有独立的配置文件(cookies localStorage 登录状态)。这意味着你可以为不同的任务创建不同的"身份" 比如:
- 工作账号:保持登录状态 自动下载周报
- 测试账号:干净的浏览器环境 用于自动化测试
- 爬虫账号:配置代理和反检测插件
- 多账号管理:同时登录多个社交媒体账号 互不干扰
每个实例都是完全隔离的 不会因为一个实例的崩溃而影响其他实例的运行。
5. 本地优先的安全设计
PinchTab 默认采用本地优先的安全策略:
- 服务默认绑定
127.0.0.1仅本地可访问 - 敏感端点默认禁用 需要显式开启
- 外部 Chrome 附加功能默认关闭
- IDPI(智能数据保护接口)启用本地网站白名单
这种设计确保了即使在不安全的网络环境中 也能保证基本的访问控制。
📥 安装与使用
快速安装(推荐)
# macOS Linux 一键安装
curl -fsSL https://pinchtab.com/install.sh | bash
# 或使用 Homebrew
brew install pinchtab/tap/pinchtab
# 或使用 npm
npm install -g pinchtab启动服务
# 方式一:直接启动服务器
pinchtab server
# 方式二:安装为系统服务(推荐日常使用)
pinchtab daemon install
pinchtab daemon start服务默认监听 127.0.0.1:9867 仅本地可访问 安全性有保障。
Docker 部署
docker run -d \
--name pinchtab \
-p 127.0.0.1:9867:9867 \
-v pinchtab-data:/data \
--shm-size=2g \
pinchtab/pinchtab如果需要自定义配置文件:
docker run -d \
--name pinchtab \
-p 127.0.0.1:9867:9867 \
-e PINCHTAB_CONFIG=/config/config.json \
-v "$PWD/config.json:/config/config.json:ro" \
-v pinchtab-data:/data \
--shm-size=2g \
pinchtab/pinchtabCLI 基本操作
# 进入交互式菜单
pinchtab
# 导航到指定 URL
pinchtab nav https://pinchtab.com
# 获取页面快照(显示可交互元素)
pinchtab snap -i -c
# 点击元素(通过 ref ID)
pinchtab click e5
# 填写表单
pinchtab fill e3 "[email protected]"
# 按下回车键
pinchtab press e7 Enter
# 提取页面文本
pinchtab text配置文件示例
{
"server": {
"bind": "127.0.0.1",
"port": 9867
},
"browser": {
"headless": true,
"args": [
"--no-sandbox",
"--disable-dev-shm-usage"
]
},
"profiles": {
"default": {
"name": "Default",
"description": "Default browsing profile"
},
"work": {
"name": "Work",
"description": "Work account with persistent login"
}
}
}🛠 适用场景
适合的用户:
- AI Agent 开发者:需要让 AI 代理控制浏览器完成自动化任务 如自动填写表单 抓取数据 执行网页操作等
- 数据分析师:需要批量抓取网页数据 但不想维护复杂的爬虫框架 希望有一个简单 HTTP API 就能搞定
- QA 测试工程师:需要自动化浏览器测试 验证 Web 应用功能 支持多实例并行测试提高效率
- 效率工具爱好者:想要通过 API 控制浏览器 实现各种自动化工作流 如自动签到 定时任务等
- 树莓派用户:ARM64 原生优化 资源占用极低 非常适合在树莓派等嵌入式设备上运行
不适合的用户:
- 需要复杂浏览器扩展交互的场景(虽然支持扩展 但配置相对复杂)
- 对浏览器行为有极高定制需求的用户(PinchTab 走的是简洁路线)
- 完全不懂命令行 API 的新手(虽然有 CLI 但仍需要一定的技术基础)
- 需要图形化界面管理的用户(目前主要是命令行和 API 驱动)
典型使用场景举例:
- 自动化数据收集:让 AI 代理定期访问特定网站 抓取最新数据并存储
- 表单自动填写:自动登录网站 填写复杂的表单 提交申请
- 网页监控:监控特定网页的变化 如价格变动 库存更新等
- 批量测试:同时打开多个浏览器实例 并行执行测试用例
- 内容审核:自动访问链接 检查内容是否符合规范
🔍 与同类工具对比
| 特性 | PinchTab | Selenium | Puppeteer | Playwright |
|---|---|---|---|---|
| 部署难度 | ⭐ 极低(单文件) | ⭐⭐⭐ 高(需环境) | ⭐⭐ 中(需 Node) | ⭐⭐ 中(需 Node) |
| 二进制大小 | ~12MB | ~100MB+ | ~200MB+ | ~200MB+ |
| Token 效率 | ✅ 800 tokens/页 | ❌ 需截图 | ❌ 需截图 | ❌ 需截图 |
| HTTP API | ✅ 原生支持 | ❌ 需封装 | ❌ 需封装 | ❌ 需封装 |
| 多实例管理 | ✅ 内置 | ❌ 需自行实现 | ❌ 需自行实现 | ❌ 需自行实现 |
| 持久化配置 | ✅ 原生支持 | ⚠️ 需额外配置 | ⚠️ 需额外配置 | ⚠️ 需额外配置 |
| headed/headless | ✅ 都支持 | ✅ 都支持 | ✅ 都支持 | ✅ 都支持 |
| ARM64 支持 | ✅ 原生优化 | ⚠️ 有限 | ⚠️ 有限 | ⚠️ 有限 |
| 学习曲线 | ⭐ 低 | ⭐⭐⭐ 高 | ⭐⭐ 中 | ⭐⭐ 中 |
| 社区生态 | ⭐ 新兴 | ⭐⭐⭐⭐⭐ 成熟 | ⭐⭐⭐⭐ 活跃 | ⭐⭐⭐⭐ 活跃 |
从对比可以看出 PinchTab 的定位非常明确:为 AI Agent 提供极简 高效的浏览器控制能力。它牺牲了一些高级功能(如复杂的扩展管理) 换取了极致的易用性和 Token 效率。
与 Selenium 相比:Selenium 是老牌工具 生态成熟 但配置复杂 需要 WebDriver 且 Token 效率低。PinchTab 更适合快速原型和 AI 集成。
与 Puppeteer 相比:Puppeteer 是 Node.js 工具 功能强大 但需要 Node 环境 且没有原生 HTTP API。PinchTab 更适合非 Node 环境。
与 Playwright 相比:Playwright 功能最全面 支持多浏览器 但体积庞大 配置复杂。PinchTab 更适合轻量级场景。
✅ 总结
PinchTab 是一款定位精准 设计克制的工具。它没有试图成为万能的浏览器自动化框架 而是专注于解决 AI Agent 控制浏览器的核心痛点:
优点:
- ✅ 单文件部署 零依赖 开箱即用 无需配置复杂环境
- ✅ Token 效率极高 降低 AI 调用成本 节省近 90% Token 消耗
- ✅ HTTP API 设计友好 易于集成到任何 AI Agent 框架
- ✅ 多实例隔离 支持持久化配置 适合多账号管理场景
- ✅ 本地优先安全设计 默认仅本地访问 降低安全风险
- ✅ ARM64 原生优化 树莓派等嵌入式设备也能流畅运行
缺点:
- ⚠️ 生态系统较新 社区资源有限 遇到问题可能需要自己摸索
- ⚠️ 高级功能(如复杂扩展管理)相对薄弱 不适合复杂场景
- ⚠️ 文档仍在完善中 部分功能缺乏详细说明
- ⚠️ 目前主要是命令行和 API 驱动 没有图形化管理界面
总体评价: 如果你正在开发 AI Agent 需要让代理具备浏览器操作能力 PinchTab 是目前最简洁高效的方案之一。特别是对于个人开发者和小团队 它的低部署成本和高 Token 效率能带来显著的生产力提升。虽然生态还在建设中 但核心功能已经足够稳定 值得尝试。
GitHub: https://github.com/pinchtab/pinchtab
官网: https://pinchtab.com