@askjo/camoufox-browser

中文文档
1.0.12发布于 2026/02/02MITCommonJS近 30 天下载 4095

AI 代理的无头浏览器自动化服务器和 OpenClaw 插件 - 反检测、元素校正和会话隔离

此软件包已被标记为弃用

Renamed to @askjo/camofox-browser

中文使用文档
文档目录22 节
  1. 动机
  2. 特征
  3. 快速启动
  4. OpenClaw 插件
  5. 独立服务器
  6. API 概览
  7. 创建标签
  8. 获取页面快照( 有元素参考)
  9. 单击元素
  10. 用 Macros 搜索
  11. 全部终点
  12. 搜索宏
  13. 建筑
  14. 本地运行
  15. 实验
  16. Docker 部署
  17. Fly.io 部署
  18. 测试
  19. 环境变量
  20. 捐款
  21. 贷项
  22. 许可证

卡穆福克斯浏览器

一个为AI代理设计的无头浏览器自动化服务器. 电源 卡穆福克斯语Name - 一个基于Firefox的浏览器,有C++反检测,绕过包括Google Captcha在内的bot检测.

这是同样的浏览器引擎,可以驱动 问乔依网络刮取能力.

完美为: 打开ClawClaude Code,LangChain代理,AutoGPT,以及任何需要浏览网络的AI系统.

动机

AI代理需要浏览网络

  • Playwright/ Puppeteer + 隐形插件 被Google,Cloudflare,以及大多数反机器人系统检测并封锁. JavaScript级别逃逸还不够.
  • 无头色相 是小的指纹。 站点检查显示自动化的上百个浏览器特性.
  • 基于API的刮纸机 (无眉目,斯克瑞平比)工作,但每个请求都要花钱并增加耐久.
  • 原始 HTTP 请求 无法处理 JavaScript 递归的内容或复杂的相互作用.

Camoufox 解决了这个问题 C++ 级反检测 被烤入"Firefox"源代码本身——不是一个可以被检测到的插件,而是对浏览器如何报告其指纹进行根本性的修改. 这是商业反检测浏览器采用的相同方法.

这个项目将 Camoufox 包裹在一个简单的 REST API 中,优化为 AI 代理: 访问快照而不是被膨胀的 HTML , 稳定的元素 refs 用于可靠点击, 以及搜索普通站点的宏.

特征

  • 反检测 - Camoufox 引擎(基于Firefox),带有 C++ 指纹吸附,绕过 Google captcha
  • 元素参考文件 - 稳定 e1, (中文(简体) ), e2, (中文(简体) ), e3 点击/打字参考文献
  • 会话隔离 - 每个用户分开饼干/储存,按对话分组标签
  • 搜索宏 - 13个内置URL宏(@google_search, (中文(简体) ), @youtube_search页:1
  • 脚本功能 - 无障碍快照而不是完整的HTML(小于90%)
  • Docker 准备 - 生产多克文件,并预装了 Camoufox 二进制

快速启动

OpenClaw 插件

作为代理工具访问的 OpenClaw 插件安装 :

openclaw plugins install @askjo/camoufox-browser

然后启动服务器并配置:

# ~/.openclaw/openclaw.json
plugins:
  entries:
    camoufox-browser:
      enabled: true
      config:
        url: "http://localhost:9377"

插件提供了这些代理工具 :

  • camoufox_create_tab - 创建浏览器标签
  • camoufox_snapshot - 用元素校正获取页面快照
  • camoufox_click - 通过参考点击元素
  • camoufox_type - 分为要素
  • camoufox_navigate - 导航到 URL 或使用搜索宏
  • camoufox_scroll - 滚动页面
  • camoufox_screenshot - 拍截图
  • camoufox_close_tab - 关闭标签
  • camoufox_list_tabs - 列出打开的标签

独立服务器

# Clone and install
git clone https://github.com/jo-inc/camoufox-browser
cd camoufox-browser
npm install

# Start server (downloads Camoufox browser on first run)
npm start                    # Default port 3000
./run-camoufox.sh -p 3001    # Custom port

# Server runs on http://localhost:3000

API 概览

创建标签

curl -X POST http://localhost:3000/tabs \
  -H "Content-Type: application/json" \
  -d '{"userId": "user1", "sessionKey": "conv1", "url": "https://example.com"}'

获取页面快照( 有元素参考)

curl "http://localhost:3000/tabs/TAB_ID/snapshot?userId=user1"

反应包括互动参考:

{
  "snapshot": "[button e1] Submit  [link e2] Learn more",
  "refs": {
    "e1": { "role": "button", "name": "Submit" },
    "e2": { "role": "link", "name": "Learn more" }
  },
  "url": "https://example.com"
}

单击元素

curl -X POST http://localhost:3000/tabs/TAB_ID/click \
  -H "Content-Type: application/json" \
  -d '{"userId": "user1", "ref": "e1"}'

用 Macros 搜索

curl -X POST http://localhost:3000/tabs/TAB_ID/navigate \
  -H "Content-Type: application/json" \
  -d '{"userId": "user1", "macro": "@google_search", "query": "best coffee beans"}'

全部终点

方法路径说明
获取/health健康检查
获取/tabs?userId=X列出用户的所有标签组
邮政/tabs创建新标签
迪莱特/tabs/:tabId关闭标签
邮政/tabs/:tabId/navigate导航到 URL 或宏
获取/tabs/:tabId/snapshot获取可访问性快照与 refs
邮政/tabs/:tabId/click通过校正或选择器单击元素
邮政/tabs/:tabId/type类型为元素
邮政/tabs/:tabId/scroll滚动页面
邮政/tabs/:tabId/back回来
邮政/tabs/:tabId/forward前进
邮政/tabs/:tabId/refresh刷新页面
获取/tabs/:tabId/links获取所有链接
获取/tabs/:tabId/screenshot获取截图
迪莱特/sessions/:userId关闭用户的全部标签

搜索宏

导航为共同网站支持这些宏:

  • @google_search - 谷歌(英语)
  • @youtube_search - YouTube (英语)
  • @amazon_search -亚马逊
  • @reddit_search - 红色
  • @wikipedia_search - 维基百科
  • @twitter_search - 推特/网络 页:1
  • @yelp_search - 耶尔普
  • @spotify_search - 注意点
  • @netflix_search - 网络信息
  • @linkedin_search - 链接
  • @instagram_search - Instagram (英语)
  • @tiktok_search - 铁托克
  • @twitch_search - 抖动

建筑

Browser Instance
└── User Session (BrowserContext) - isolated cookies/storage
    ├── Tab Group (sessionKey: "conv1") - conversation A
    │   ├── Tab (google.com)
    │   └── Tab (github.com)
    └── Tab Group (sessionKey: "conv2") - conversation B
        └── Tab (amazon.com)
  • 用户共享一个浏览器实例
  • 每个用户分别浏览器Context(同位素饼干/存储)
  • 标签组 sessionKey (谈判/任务)
  • 自动清理30分钟的课间休息

本地运行

# Start with default port (3000)
./run-camoufox.sh
# Or: npm start

# Start with custom port
./run-camoufox.sh -p 3001

第一跑下载 Camoufox 浏览器(~300MB).

实验

见 experimental/ 用于替代浏览器引擎.

Docker 部署

# Build with Camoufox (recommended)
docker build -f Dockerfile.camoufox -t camoufox-browser .

# Run
docker run -p 3000:3000 camoufox-browser

Fly.io 部署

fly launch --no-deploy
fly deploy

测试

npm test                 # Run all e2e tests
npm run test:live        # Run live Google tests (may hit captcha)
npm run test:debug       # Show server output for debugging

环境变量

变量说明默认
PORT服务器端口3000个
NODE_ENV环境发展

捐款

欢迎捐款! 请打开一个问题或提交公关.

贷项

许可证

麻省理工学院

版本与发布记录

@askjo/camoufox-browser 共发布 11 个版本,首次发布于 2026/02/01;过去 12 个月发布了 11 个版本。

版本发布日期距今
1.0.12latest2026/02/029 个月前
1.0.112026/02/019 个月前
1.0.92026/02/019 个月前
1.0.82026/02/019 个月前
1.0.72026/02/019 个月前
1.0.62026/02/019 个月前

关于 @askjo/camoufox-browser 的常见问题

@askjo/camoufox-browser 是什么?

AI 代理的无头浏览器自动化服务器和 OpenClaw 插件 - 反检测、元素校正和会话隔离注意:该包已被作者标记为弃用——Renamed to @askjo/camofox-browser

如何安装 @askjo/camoufox-browser?

在项目目录运行 npm install @askjo/camoufox-browser,或使用 pnpm add / yarn add / bun add。

@askjo/camoufox-browser 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/askjo__camoufox-browser 是否存在。

@askjo/camoufox-browser 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@askjo/camoufox-browser 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@askjo/camoufox-browser 可以商用吗?

@askjo/camoufox-browser 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@askjo/camoufox-browser 的下载量有多少?

根据 npm 官方下载统计,@askjo/camoufox-browser 在 2026/10/07 – 2026/11/05 这 30 天内被下载 4,095 次,日均约 137 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@askjo/camoufox-browser 还在维护吗?

最新版本 1.0.12 发布于 2026/02/02(9 个月前);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/02/01。作者已将其标记为弃用,新项目建议寻找替代方案。