给AI Agent用的浏览器自动化神器PinchTab
简介
什么是 PinchTab ?
PinchTab是一个高性能的浏览器自动化桥接器和多实例协调工具。它允许用户通过HTTP API直接控制Chrome浏览器,支持高效的网页操作及数据提取,适用于需要浏览器交互的AI代理和自动化脚本。无需复杂的配置和依赖,就能实现网页导航、截图、表单填充、数据提取等操作。
主要特点
- 高效的浏览器控制 : 支持命令行 (
CLI)和HTTP API两种控制方式 - 无头/有头模式 : 可以后台运行,也可以显示浏览器窗口方便调试,,满足不同场合的需求
- 多实例支持 :可同时并行运行多个独立的
Chrome进程,每个实例有隔离的Profile,适合复杂的自动化需求 - 性能优化 : 文本提取仅需约
800 tokens/page,比截图方式节省5-13倍成本,更为经济有效 - 轻量级二进制包 : 仅需
12MB二进制文件,无外部依赖,开箱即用 - 用户友好的 Web UI:设计现代,适配手机和桌面,提供良好的用户体验。
- 支持 ARM64:针对
Raspberry Pi优化,自动检测并运行Chromium - 方便的安装和使用:提供简单的安装脚本和
Docker支持,让用户能迅速部署
应用场景
- AI Agent 自动化 — 让
AI助手自动浏览网页、自动化内容生成、回复社交媒体等 - 数据采集 — 高效提取网页文本内容,
Token消耗极低,,适合数据分析和市场调研 - 自动化测试 — 模拟用户操作,进行端到端测试,便于开发者快速实施测试脚本
- 网页截图/PDF — 生成网页截图或
PDF文件 - 多用户模拟:在一个时间段内模拟多个用户对同一网站的操作,适合进行性能和负载测试。
PinchTab 提供了一种高效、灵活的方式来实现浏览器自动化,广泛应用于开发和测试,非常适合需要让 AI 控制浏览器的场景。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 pinchtab ,选择第一个 pinchtab/pinchtab,版本选择 latest。
本文写作时,
latest版本对应为v0.7.6;

docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 pinchtab 和 子目录 |
参数说明
- 卷
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/pinchtab/data |
/data |
存放 Chrome Profile 和缓存数据 |
- 端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
9867 |
9867 |
网页仪表盘和 API 都在 9867 端口
- 环境
| 可变 | 值 |
|---|---|
PINCHTAB_BIND |
设为 0.0.0.0 允许外部访问 |
PINCHTAB_PORT |
设为 9867 |
PINCHTAB_HEADLESS |
设为 true 无头模式 |
PINCHTAB_TOKEN |
(可选)API 认证令牌,增强安全性 |
PINCHTAB_STATE_DIR |
全局状态目录,存放 PinchTab 自身的运行时数据 |
PINCHTAB_PROFILE_DIR |
浏览器用户数据目录 |
⚠️ 安全提示:如果暴露到公网,务必设置
PINCHTAB_TOKEN进行认证!
【注意事项】:
--shm-size=2gb:是Chrome稳定运行的关键参数,不可省略!不然容易崩溃--security-opt seccomp=unconfined:Docker容器里跑Chrome必须放开seccomp
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | services: |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 pinchtab 和 子目录 |

运行
在浏览器中输入 http://群晖IP:9867/dashboard 就能看到 PinchTab 的管理面板

界面不是重点,因为 PinchTab 支持 CLI 命令,而且后面我们都是在 AI 中操作,执行的是类似下面👇这样的命令
1 | # 打开一个页面 |

虽然龙虾(OpenClaw)很火,但老苏没怎么折腾,我更喜欢基于 Docker 安装的 OpenCode,可玩性比较高,通过插件,是可以实现跟 OpenClaw 一样的功能的
文章传送门:开源的AI编码代理OpenCode
OpenCode
在 OpenCode 中输入
1 | https://github.com/pinchtab/pinchtab |

OpenCode 会先学习怎么使用,任务完成之后

打开截图,应该是缺中文字体

但不影响 AI 获取内容

让 OpenCode 记住了这个软件,以后再想调用就简单了,只要说 “用 pinchtab 打开 xxx” 或 “截图 xxx 网站” 就行
OpenCode的记忆功能,是老苏安装了记忆插件:https://github.com/csuwl/opencode-memory-plugin

常见问题快速对照
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 容器启动就退出 | 没加 --security-opt seccomp=unconfined |
必须加上 |
仪表盘打不开 / Connection refused |
端口没映射 | 检查 -p 9867:9867 |
Chrome 崩溃 / OOM |
共享内存不够 | 加上 --shm-size=2g 或 shm_size: 2gb |
| 想多个独立浏览器实例 | 默认已支持多实例 | 用 instance_id 参数区分(看文档) |
希望加密码保护 API |
— | 设置 PINCHTAB_TOKEN=xxx 环境变量 |
参考文档
pinchtab/docker-compose.yml at main · pinchtab/pinchtab
地址:https://github.com/pinchtab/pinchtabPinchTab | PinchTab Docs
地址:https://pinchtab.com/docs/