hermes + 爬虫浏览器 调研手册

Hermes + 爬虫浏览器 实际环境审计

版本: 2.0 | 更新日期: 2026-07-10

基于实际环境全面审计,修正旧版文档中与当前环境不符的描述。


📊 目前实际可用工具一览

类别工具状态说明
浏览器引擎 PinchTab MCP (v0.12.0) 🟡 运行中但 401 唯一激活的浏览器工具,38+ 工具,但 token 异常导致调用失败
Chromium headless_shell ✅ 可用 v149.0.7827.0,Hermes 自带 /opt/hermes/.playwright/
MCP 浏览器服务器 PinchTab ✅ 已配置 /opt/data/home/.pinchtab/bin/pinchtab mcp
Puppeteer / Playwright MCP ❌ 未安装 config.yaml 中无配置
Hermes 内置 browser_* 工具集 🔴 已禁用 disabled_toolsets: [browser, web]
web_* 工具集 🔴 已禁用 同上
Python httpx 0.28.1 ✅ 已安装 异步 HTTP 客户端
requests 2.33.0 ✅ 已安装 同步 HTTP 客户端
Playwright Python 1.60.0 🟡 CLI 可用 安装但浏览器未下载(playwright install 未执行)
BS4 / Scrapy / Selenium / lxml ❌ 未安装 需要 pip install
终端工具 curl / rg ✅ 可用 HTTP 请求 + 文本搜索
wget / jq / pup / htmlq ❌ 未安装 需要 apt installpip install

1. 🎯 实际可用的爬虫方案

方案 A:PinchTab MCP(当前唯一浏览器工具)

前提:先修复 token

cp /opt/data/home/.pinchtab/config.json /opt/data/.pinchtab/config.json
# 或重启 Gateway

适用场景:

  • 导航 + 截图 + 文本提取(navigate → snapshot → text)
  • 页面交互(click → fill → type → select)
  • 等待条件(wait_for_selector / wait_for_text / wait_for_url)
  • 网络拦截(network_route / network)
  • JS 执行(evaluate)
  • PDF 导出

工具清单(38+):

导航:    navigate, go_back, go_forward, reload, close_tab
交互:    click, fill, type, select, hover, focus, press, scroll
内容:    snapshot, get_text, find
截图:    screenshot (支持元素级、注解框)
等待:    wait_for_load, wait_for_selector, wait_for_text, wait_for_url
标签:    list_tabs, close_tab
网络:    network, network_detail, network_clear, network_route, network_unroute
其他:    evaluate, cookies, dialog, pdf, health, frame

限制:

  • 当前 token 异常(401),修复后可使用
  • 不适合大规模爬取(单实例常驻)
  • Profile 缓存 699M,需定期清理

方案 B:httpx / requests + terminal

唯一可用的纯 HTTP 方案。无需额外安装。

# 简单 GET(可用)
curl https://api.example.com/data

# 带 header
curl -H "Authorization: Bearer xxx" https://api.example.com

# Python httpx(异步,推荐)
python3 -c "
import httpx, json
r = httpx.get('https://example.com', timeout=30)
print(r.status_code)
print(r.text[:500])
"

限制:无法解析 HTML(无 BS4/lxml),只能做 API 调用或纯文本提取。如需 HTML 解析需先 pip install beautifulsoup4 lxml

方案 C:Playwright Python(CLI 已安装,浏览器未下载)

Playwright 1.60.0 已安装但浏览器(chromium/firefox/webkit)未下载。

# 需要先安装浏览器
playwright install chromium
# 或指定路径
playwright install --with-deps chromium

# 然后可通过 terminal() 调用
python3 -c "
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto('https://example.com')
    print(page.title())
    browser.close()
"

适用:需要完整浏览器渲染、反爬对抗的场景。


2. ⚠️ 与旧版文档的关键差异

项目旧版声称实际状态
内置 browser 工具可用🔴 disabled_toolsets 禁用
内置 web 工具可用🔴 同上
BeautifulSoup4可 pip install未安装,需 uv pip install bs4 lxml
Scrapy可 pip install未安装
Selenium可 pip install未安装
Puppeteer MCP可配置未配置,config.yaml 中无
Playwright MCP可配置未配置
Browserbase MCP可配置未配置
wget / jq / pup / htmlq可用未安装,仅 curl + rg
Playwright 浏览器已安装未下载(CLI 有但 playwright install 未执行)

3. 🛠️ 快速启用指南

3.1 修复 PinchTab(推荐)

# MCP 进程可能丢失了 token
cp /opt/data/home/.pinchtab/config.json /opt/data/.pinchtab/config.json
fuser -k 9867/tcp
# 等待 PinchTab server 自动重启(~5s)
curl http://127.0.0.1:9867/health

3.2 恢复内置 browser 工具集

# 编辑 /opt/data/config.yaml,删除 disabled_toolsets 中的 browser 和 web
# 或改为:
disabled_toolsets: []
# 重启 Gateway

3.3 安装 Python 爬虫基础套件

uv pip install beautifulsoup4 lxml       # HTML 解析
uv pip install playwright                # 已安装,需下载浏览器:
playwright install chromium

3.4 安装终端工具

apt-get update && apt-get install -y jq wget   # JSON 解析 + 下载
npm install -g htmlq                            # CSS 选择器解析

3.5 对比:PinchTab vs 内置 browser 工具

维度PinchTab MCP内置 browser 工具
进程模型常驻 daemon按需启动
冷启动首次 ~960ms,后续 ~224ms每次 ~1000+ms
工具数量38+~10
网络拦截✅ (route/unroute)
JS 执行✅ evaluate✅ browser_console
AI 视觉❌(仅截图输出)✅ browser_vision
磁盘占用~761M(含 Profile)~0(复用 Headless Shell)

4. 📈 实际使用场景建议

场景推荐方案需要
纯 API 调用 / 简单页面抓取curlhttpx无(已有)
需要浏览器渲染的交互操作PinchTab MCP修复 token
HTML 解析提取Python httpx + BS4uv pip install bs4 lxml
大规模并发爬取独立脚本 + terminal安装 Scrapy / httpx
反爬 / Cloudflare 绕过PinchTab + autoSolver修复 token + 配置 autoSolver
AI 视觉分析页面PinchTab screenshot + vision修复 token
定时监控爬虫cronjob(no_agent=True) + curl

5. 🔧 已知问题

  1. PinchTab 401 token 异常 — 服务重启后 MCP 进程使用的 token 与 server 不匹配。修复见 3.1。
  2. browser / web 工具集被禁用 — 旧版文档声称可用,实际 config.yaml 中 disabled_toolsets: [browser, web]。如需启用见 3.2。
  3. Playwright 只有 CLI 没浏览器 — 包已安装但 playwright install 未执行,浏览器二进制缺失。
  4. 无 HTML 解析库 — 最简单的 BS4 也未安装,纯文本提取依赖 PinchTab 的 get_text。
  5. Hermes 自带 headless_shell 有两个版本 — 1223(旧,二进制已不存)和 1228(当前),PinchTab config 中 binary 路径指向 1223 但实际只有 1228 可用。
# 🔧 修复 headless_shell 路径
pinchtab config set browser.binary /opt/hermes/.playwright/chromium_headless_shell-1228/chrome-linux/headless_shell

— Hermes Agent 维护于 Trilium | v2.0 基于实际环境审计