乐于分享
好东西不私藏

openclaw通过pinchtab调用浏览器使用技巧

openclaw通过pinchtab调用浏览器使用技巧

openclaw通过pinchtab调用浏览器使用技巧

pinchtab项目介绍

项目地址:https://github.com/pinchtab/pinchtab

PinchTab 是一个专为 AI Agent(智能体) 设计的高性能浏览器控制桥梁和多实例编排器。

简单来说,如果你正在开发或使用 AI 助手(如 AutoGPT、Claude 或者你自己写的脚本),并希望它能像真人一样操作 Chrome 浏览器,PinchTab 就是连接 AI 和浏览器的那个“中间层”。

以下是该项目的核心功能和特点:

1.核心作用

AI 代理的“手”和“眼”:它提供了一个 HTTP API 和命令行工具(CLI),让 AI 可以直接导航网页、提取结构化内容、点击按钮、填写表单,而无需处理复杂的原生 HTML 或截图。
Token 节省器:相比于直接给 AI 发送网页截图(非常消耗 Token/金钱),PinchTab 能将网页转化为高压缩、结构化的文本或可交互元素列表。官方称其比截图节省 5-13倍 的 Token 成本。
多实例管理:它可以同时运行并管理多个独立的 Chrome 实例(有界面的或无界面的),每个实例可以有独立的 Cookie、登录状态和配置。

2. 核心特性

隐身模式(Stealth Injection):内置了高级的反爬虫检测绕过机制,使自动化操作更像人类。
MCP 支持:原生支持 Anthropic 提出的 **Model Context Protocol (MCP)**,这意味着它可以非常轻松地集成到支持 MCP 的 AI 工作流中。
轻量且自包含:它是一个约 15MB 的 Go 语言编写的二进制文件,不依赖复杂的运行环境,支持 macOS、Linux(包括树莓派)和 Windows。
实时仪表盘:提供了一个可视化界面,让你实时看到 AI 正在操作哪个网页,或者管理不同的浏览器配置文件。

3.常见用途

自动化任务:比如“帮我登录工作账号并下载每周报表”。
数据采集:高效、低成本地抓取动态网页数据。
自动化测试:作为更现代的 Selenium 或 Playwright 替代品,用于 QA 环境。
AI 辅助办公:在后台常驻一个守护进程(Daemon),随时接受 AI 的指令来操作浏览器。

安装

macOS / Linux:  macOS / Linux:

curl -fsSL https://pinchtab.com/install.sh | bash

Homebrew(macOS/Linux):

brew install pinchtab/tap/pinchtab

npm:  npm:

npm install -g pinchtab

widnows可以通过npm部署。

shell补全

在 pinchtab 添加到 PATH 变量后,生成并安装 shell 补全功能:

# 生成并安装 zsh completionspinchtab completion zsh > "${fpath[1]}/_pinchtab"# 生成并安装 bash completionspinchtab completion bash > /etc/bash_completion.d/pinchtab#生成并安装 fish completionspinchtab completion fish > ~/.config/fish/completions/pinchtab.fish

通过docker快速启动

export PINCHTAB_CONFIG=/opt/pinchtab/config/config.jsdocker 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/pinchtab

使用

用户其实不用关心这些语法, 直接丢该openclaw让他自己学习即可:

看文档,学习pinchtab用法: https://github.com/pinchtab/pinchtab

image-20260321172209956

注册为系统服务

linux&macOS

pinchtab daemon install

会提示是否设置安全级别,其中会涉及到的动作包括:

允许访问的地址:开启防护模式下至能访问配置文件中允许的网站(可以通过编辑config.js来修改)
evaluate:执行自定义脚本的功能,禁止后可以防止 AI 运行恶意代码
Download、upload:浏览器上传和下载行为
macros:是否允许AI 可以执行多步骤的自动化任务
screencat:屏幕录制权限
IDPI:身份保护机制,默认处于严格模式
image

注册为windows服务

windows下还是使用nssm进行注册

# 注册服务>.\nssm.exe install PinchTab "C:\Users\skinn\.pinchtab\bin\0.8.1\pinchtab-windows-amd64.exe server"# 删除服务.\nssm.exe remove pinchtab

或者执行nssm.exe install之后手动选择pinchtab位置及参数

image
image
# 确认运行状态netstat -ano | findstr 9867

经过测试,使用nssm无法将pinchtab注册为参数,表现为服务可以注册成功,也显示正常启动,但是端口不监听。直接和openclaw对话,让他记住下面设定即可

当需要进行网页搜索或浏览器自动化时,按以下优先级执行:1. **首选**: PinchTab 服务(`http://127.0.0.1:9867`2. **最后**: OpenClaw Profile(端口 18800)3. **回退**: Chrome Profile(CDP 端口 18792)

配置文件

如果安装后没有初始化或者想修改配置,可以对pinchtab的配置文件进行修改,编辑~/.pinchtab/.config ,参考下面配置允许访问所有站点。

    "idpi"{      "enabled": true,      "allowedDomains": ["*"],      "strictMode": false,      "scanContent": true,      "wrapContent": true,      "customPatterns": [],      "scanTimeoutSec": 0    }

openclaw调用pinchtab

使用pinchtab对接openclaw,直接和openclaw的agent对接,发github的项目地址给他,让他学习如何使用:

image

让其他机器访问pinchtab

默认pinchtab和其依赖的chrome cdp均绑定在127.0.0.1,现在我想通过内网穿透的方式将服务绑定在内网穿透ip上(这里使用的是easytier),尝试修改配置文件如下

{  "server": {    "bind": "10.126.126.6"  // ✅ API Server 监听在 10.126.126.6:9867  },  "browser": {    "extraFlags": "--remote-debugging-address=0.0.0.0"  // ✅ Chrome CDP 监听在所有接口  },  "instanceDefaults": {    "extraFlags": "--remote-debugging-address=0.0.0.0"  // ✅ 实例也使用此配置  }}
image

虽然地址都监听在了指定ip上,但是实例中的状态会一直卡在starting

image
image

其实可以直接使用windows的端口转发来实现,管理员运行命令提示符,输入下面的命令,将127.0.0.1的9867和9868端口转发到内网穿透ip上

netsh interface portproxy add v4tov4 listenport=9867 listenaddress=10.126.126.6 connectport=9867 connectaddress=127.0.0.1netsh interface portproxy add v4tov4 listenport=9868 listenaddress=10.126.126.6 connectport=9868 connectaddress=127.0.0.1

查看端口转发策略

netsh interface portproxy show all
image

windows下推荐使用port proxy GUI这个软件来设置转发规则,GUI界面方便维护

image

其他机器可以通过内网穿透ip调用pinchtab服务了

image

让部署在Android手机上的openclaw测试下调用另一台机器的pinchtab进行搜索

image
image
image