首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >给 AI 装上真实浏览器:camofox-browser 实战

给 AI 装上真实浏览器:camofox-browser 实战

作者头像
勇哥AI笔记
发布2026-05-12 10:11:44
发布2026-05-12 10:11:44
1.2K0
举报
文章被收录于专栏:技术人生黄勇技术人生黄勇

AI 智能体需要浏览真实网页,但 Playwright 会被检测,Headless Chrome 会被指纹识别。

camofox-browser 解决了这个问题,基于 Camoufox(Firefox 的 C++ 级别指纹伪装分支),提供了一个专为 AI 智能体设计的 REST API 服务器。

camofox-browser 在 C++ 引擎层面伪造指纹:navigator.hardwareConcurrency、WebGL 渲染器、AudioContext、屏幕几何尺寸、WebRTC 等,在 JavaScript 执行之前就已经完成伪装。

所以网站的常规防AI爬虫的规则就都失效了。

比如我用 workbuddy 是使用 Playwright 访问 Boss 直聘就会遇到检测,javascript 一个返回上一页就让 AI 束手无策。


核心特点

反检测能力:绕过 Cloudflare、Google 验证码等主流反机器人系统。

Token 高效:使用可访问性快照代替完整 HTML,token 消耗减少约 90%。

元素引用稳定:页面元素标记为 e1e2e3,即使 DOM 变化也能保持稳定。

14 个搜索宏:内置 Google、YouTube、Amazon、Reddit、Wikipedia、Twitter、LinkedIn 等网站的搜索支持。

会话隔离:每个用户独立的浏览器上下文,Cookie、localStorage 完全隔离。

持久化登录:登录一次,重启后自动恢复登录态。

VNC 远程桌面:支持通过浏览器远程可视化操作,适合扫码登录等场景。


安装和使用

代码语言:javascript
复制
git clone https://github.com/jo-inc/camofox-browser
cd camofox-browser
npm install
npm start
# 首次运行会下载 Camoufox 浏览器(约 300MB)
# 服务运行在 http://localhost:9377

Docker 部署

代码语言:javascript
复制
# 使用 Makefile(推荐,自动下载依赖)
make up

# 或使用 CI Dockerfile(构建时下载)
docker build -f Dockerfile.ci -t camofox-browser .
docker run -d -p 9377:9377 camofox-browser

⚠️ 不要直接运行 docker build,默认 Dockerfile 需要预下载的 dist/ 目录。

我用的方案就是在远端云服务器上克隆项目仓库,然后make up 启动容器。

AI 智能体(OpenClaw/Hermes/Trae/Codex/Workbuddy等)通过 MCP(Model Context Protocol) 协议接入。

Trae 配置

打开 Trae 设置 → MCP 配置,添加(地址127.0.0.1需要改为你真实部署的服务器地址,如在本地则保持不变):

代码语言:javascript
复制
{
  "mcpServers": {
    "camofox-browser": {
      "command": "npx",
      "args": ["-y", "camofox-browser-mcp@latest"],
      "env": {
        "CAMOFOX_BASE_URL": "http://127.0.0.1:9377",
        "CAMOFOX_DEFAULT_USER_ID": "trae-agent"
      }
    }
  }
}

WorkBuddy 配置

侧边栏「插件」→ 右上角「MCP 服务器」→「配置 MCP」,填入相同的 JSON。

配置成功后,获得42个工具:

然后我让它试着访问了一下小红书、Boss直聘、B站和 X,全部通过。


使用登录状态

Boss 直聘、小红书这类需要登录的网站,camofox-browser 提供三种方式。

方案一:VNC 远程桌面登录(推荐首次使用)

通过 noVNC 打开远程桌面,像操作本地浏览器一样手动登录:

代码语言:javascript
复制
# 创建标签页
curl -X POST http://localhost:9377/tabs \
  -H "Content-Type: application/json" \
  -d '{"userId": "boss-user", "url": "https://www.zhipin.com/"}'

# 浏览器访问 VNC 地址,手动完成登录(扫码、验证码等)

登录成功后,会话状态自动持久化到 ~/.camofox/profiles/,下次使用同一 userId 自动恢复。

方案二:Cookie 导入

从浏览器导出 Cookie,注入到 camofox-browser:

代码语言:javascript
复制
# 1. 生成 API Key
export CAMOFOX_API_KEY=$(openssl rand -hex 32)

# 2. 导出 Cookie(使用 Get cookies.txt LOCALLY 扩展)
# 保存为 boss-cookies.txt

# 3. 导入
curl -X POST http://localhost:9377/sessions/boss-user/cookies \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CAMOFOX_API_KEY" \
  -d '{"file": "boss-cookies.txt"}'

方案三:API 自动化登录

对于支持账号密码的网站,通过快照 + 交互 API 自动完成:

代码语言:javascript
复制
# 获取快照,找到输入框引用
curl "http://localhost:9377/tabs/{tabId}/snapshot?userId=boss-user"
# [textbox e1] 手机号
# [textbox e2] 验证码
# [button e3] 获取验证码
# [button e4] 登录

# 输入手机号
curl -X POST http://localhost:9377/tabs/{tabId}/type \
  -H "Content-Type: application/json" \
  -d '{"userId": "boss-user", "ref": "e1", "text": "13800138000"}'

# 点击获取验证码
curl -X POST http://localhost:9377/tabs/{tabId}/click \
  -H "Content-Type: application/json" \
  -d '{"userId": "boss-user", "ref": "e3"}'

持久化机制

代码语言:javascript
复制
~/.camofox/
├── cookies/          # 启动时自动导入的 Cookie 文件
└── profiles/         # 运行时自动持久化的浏览器状态
    └── <userId>/
        └── storage_state.json
  • • Cookie、localStorage、IndexedDB 自动保存
  • • 服务器重启后登录态依然有效
  • • 不同 userId 数据完全隔离

我是懒人, WorkBuddy 给出方案后,让它直接按最自动的方案执行了:

“用 playwright-bridge 连接你的本地 Chrome,提取 zhipin.com 的 cookies 自动注入 camofox。”

最后等它一顿操作,报告成功登录。

而在之前,它被Boss直聘网站的反AI机制折腾得不要不要的。

camofox-browser 让 AI 智能体拥有了真实的浏览器能力,在引擎层面伪装成真实用户。

对于需要访问受保护网站的 AI 应用,这是目前最可靠的方案。

项目地址:https://github.com/jo-inc/camofox-browser

你的AI在用什么方式来访问网站获取信息?

欢迎评论区留言。

-END-

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 技术人生黄勇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核心特点
  • 安装和使用
    • Docker 部署
    • Trae 配置
    • WorkBuddy 配置
  • 使用登录状态
    • 方案一:VNC 远程桌面登录(推荐首次使用)
    • 方案二:Cookie 导入
    • 方案三:API 自动化登录
    • 持久化机制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档