
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%。
元素引用稳定:页面元素标记为 e1、e2、e3,即使 DOM 变化也能保持稳定。
14 个搜索宏:内置 Google、YouTube、Amazon、Reddit、Wikipedia、Twitter、LinkedIn 等网站的搜索支持。
会话隔离:每个用户独立的浏览器上下文,Cookie、localStorage 完全隔离。
持久化登录:登录一次,重启后自动恢复登录态。
VNC 远程桌面:支持通过浏览器远程可视化操作,适合扫码登录等场景。
git clone https://github.com/jo-inc/camofox-browser
cd camofox-browser
npm install
npm start
# 首次运行会下载 Camoufox 浏览器(约 300MB)
# 服务运行在 http://localhost:9377# 使用 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 设置 → MCP 配置,添加(地址127.0.0.1需要改为你真实部署的服务器地址,如在本地则保持不变):
{
"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"
}
}
}
}侧边栏「插件」→ 右上角「MCP 服务器」→「配置 MCP」,填入相同的 JSON。

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

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

Boss 直聘、小红书这类需要登录的网站,camofox-browser 提供三种方式。
通过 noVNC 打开远程桌面,像操作本地浏览器一样手动登录:
# 创建标签页
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,注入到 camofox-browser:
# 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 自动完成:
# 获取快照,找到输入框引用
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"}'~/.camofox/
├── cookies/ # 启动时自动导入的 Cookie 文件
└── profiles/ # 运行时自动持久化的浏览器状态
└── <userId>/
└── storage_state.json我是懒人, WorkBuddy 给出方案后,让它直接按最自动的方案执行了:
“用 playwright-bridge 连接你的本地 Chrome,提取 zhipin.com 的 cookies 自动注入 camofox。”

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

而在之前,它被Boss直聘网站的反AI机制折腾得不要不要的。
camofox-browser 让 AI 智能体拥有了真实的浏览器能力,在引擎层面伪装成真实用户。
对于需要访问受保护网站的 AI 应用,这是目前最可靠的方案。
项目地址:https://github.com/jo-inc/camofox-browser
你的AI在用什么方式来访问网站获取信息?
欢迎评论区留言。
-END-