自动化与运维 browser-automationanti-detectfingerprint-spoofingweb-scrapingplaywrightaccessibility-treesession-isolationcookie-management

Camoufox CLI

为 AI 智能体提供抗检测浏览器自动化与持久化浏览器身份。

FollowAgents 评估 · FARS-2.1
谨慎使用
60/ 100 五分制 3.0 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全11 / 29 · 1.9/5

证据清楚说明浏览器守护进程、Unix socket、会话、标签页、Cookie 导入导出、持久化身份、代理和本地文件流向,并注明 Camoufox 上游与作者。扣分原因是工具可直接导航、点击、填写、执行任意页面 JavaScript、读写 Cookie、保存截图并通过代理访问网络,却没有操作确认、域名限制或权限分级;代理凭据可明文出现在命令行和配置中,也未说明配置、Cookie、配置文件或 socket 的权限与脱敏措施。依赖仅部分固定版本,Pillow 和开发依赖没有严格锁定,浏览器下载还会退回到抓取发布页面,未见校验和、签名、审计或漏洞处置策略。关闭会话和删除身份目录提供有限恢复路径,但远端网页操作通常不可回滚。未发现恶意软件、凭据窃取、隐蔽外传或其他明确红线。

2可靠稳定9 / 14 · 3.2/5

README、项目元数据和测试对主要命令、配置优先级、会话隔离、标签页状态及错误路径大体一致;并发恢复和最后标签关闭竞态有针对性测试。扣分是静态材料没有展示实现代码、测试运行结果或端到端覆盖,README 命令清单还漏掉测试中的 pdf 命令。安装要求、精确耦合依赖和 GitHub 限流回退已有说明,但浏览器发布资源、系统依赖和双 npm/pip 分发链仍可能失效。缺参、未知动作、未启动浏览器和损坏配置均有明确错误或警告证据,不过并非所有失败分支都验证了具体、可行动的消息。

3适用触发14 / 18 · 3.9/5

面向 AI 代理和开发者的使用对象、浏览、抽取、并行标签、多身份及多账号场景描述充分,因此受众与场景获满分。命令、参数、配置覆盖层级、持久与临时状态边界较清晰;但没有站点政策、允许用途、危险动作或反检测使用边界。CLI 触发语法精确且参数验证有测试,但实际 Agent Skill 内容未提供,无法充分评估自然语言触发条件与误触发抑制。npm、pipx、Linux 系统依赖、Node/Python 最低版本和配置路径均有说明,仍缺少 macOS/Windows、容器、权限以及各分发实现一致性的完整适配说明。

4规范维护12 / 18 · 3.3/5

README 信息架构清楚,安装、快速开始、命令分类、配置、持久身份和架构说明完整,安装说明因此获满分。命名总体稳定且测试覆盖许多命令,但 README 未记录 pdf,Node 与 Python 分发版本同步机制也未展示。示例丰富,却没有独立 FAQ 或系统化故障排查。已提及 GitHub 限流、共享浏览器排队、标签名不强制唯一和 Alpha 状态,但没有集中列出反检测局限、兼容风险或法律与站点条款注意事项。MIT 许可证在 README、元数据和完整 LICENSE 中一致,获满分。仅见 0.7.3 版本和 Alpha 分类,未见变更日志或升级策略;作者及问题追踪入口可识别,但发布者未经登记验证,且没有维护政策、支持承诺或安全报告渠道,所以维护责任仅部分明确。

5有效结果10 / 13 · 3.8/5

无障碍树、稳定引用、JSON 选项、文本、截图、PDF、Cookie 与标签/会话输出面向 shell 和代理消费,静态设计具有很高可用性,故输出可用性获满分。相对普通浏览器 CLI,指纹持久化、Camoufox 集成和并行隔离具有明确增量价值;但核心的“无 Playwright 可检测泄漏”和反检测效果只有陈述,没有静态对照、检测结果或实现证据,故边际价值未满分。安装流程简短、长驻进程和共享浏览器可降低重复成本,但需要下载浏览器、安装系统依赖、管理代理和持久配置,并承担反检测自动化的运营与合规成本,成本收益仅属充分而非全面。

6证据核验4 / 8 · 2.5/5

命令行为、默认值、配置优先级、错误处理和并发语义可由 README、元数据及多组测试相互追踪,因而具备较好的静态可验证性。扣分是关键指纹伪装、GeoIP、持久身份实现及“没有可检测的 Playwright 泄漏”等主张缺少对应实现文件、专门测试或外部结果。多个来源对版本、许可证、命令和配置形成部分交叉印证,但材料主要来自同一仓库,且没有测试输出或独立佐证。文档没有明确区分已测试事实、设计意图和营销性效果主张,因此事实与推断分离较弱。

证据充分度: 评估于 2026年9月11日 审查版本 4d86686d8034
源码中未见的安全控制:执行前用户确认
使用前请注意
  • 代理 URL 可包含用户名和密码;不要把它直接放入可被进程列表、Shell 历史、日志或代理转录捕获的命令行,除非已评估暴露风险。
  • Cookie、持久化浏览器目录和截图可能包含登录态、个人数据或机密页面内容;源码材料未说明加密、权限加固、脱敏或安全删除。
  • click、fill、press、eval 和 Cookie 导入可产生真实外部影响,工具未展示提交前确认、域名白名单或事务回滚机制。
  • “反检测”及“无 Playwright 泄漏”是未被所给实现或测试证明的主张,不应视为规避检测的保证。
  • 浏览器下载会依赖 GitHub 发布资源并可能回退到页面抓取;在受控环境中应另行固定制品并验证来源与完整性。
  • 多标签共享指纹、Cookie 和登录态;名称唯一性不受强制,代理并发使用时可能造成身份串用或状态干扰。
  • 使用指纹伪装、多账号隔离或自动化交互前,应单独核对目标网站条款、授权范围和适用法律。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Camoufox CLI 是一套面向可执行 Shell 命令的 AI 智能体和人工用户的浏览器自动化 CLI 与技能。它通过长期运行的 Python 守护进程控制基于 Firefox 的 Camoufox,并由 Playwright连接浏览器;CLI 与守护进程之间使用 Unix socket 和 JSON 命令通信。工具可导航网页、操作元素、读取文本、执行 JavaScript、导入导出 Cookie,并生成无障碍树快照或截图。Camoufox 在 C++ 层处理 canvas、WebGL、音频、屏幕指标和字体等指纹信息,避免依赖普通 Playwright 注入式伪装。部署边界是用户自己的命令行环境和本地浏览器进程;会话、配置、持久身份、Cookie 与截图可写入本地文件系统。它适合需要抗检测能力和稳定身份的自动化,但仍依赖网络、Camoufox、Playwright 以及本地运行时。

用户或智能体运行 camoufox-cli 命令后,CLI 通过 Unix socket 向 Python daemon 发送 JSON 命令;daemon 自动启动并通过 Playwright 管理 Camoufox 浏览器,同时在命令之间维护元素 ref 注册表。openbackforwardreloadurltitle 负责导航与读取页面状态;snapshot 输出带 @ref 的无障碍树,随后可用 clickfilltypeselectcheckhoverpress 操作元素。textevalscreenshot 分别产生页面文本、JavaScript 执行结果和截图;cookies importcookies exporttabsswitchsessions 管理浏览状态和隔离。命名标签页共享同一浏览器的指纹、Cookie 与登录状态,但保留独立页面、ref 和历史;命名会话则运行独立进程并获得独立随机指纹和 Cookie。启用 --persistent 后,工具会在配置档案旁写入 camoufox-cli.json,保存指纹、操作系统、噪声种子、语言环境以及相关地理信息。

  1. 使用 Codex 或 Claude Code 的自动化工程师,需要通过 Shell 浏览网站并用稳定的 @ref 定位交互元素。
  2. 执行网页采集的团队,希望使用 Camoufox 的 canvas、WebGL、音频、字体和屏幕指标伪装来降低常规浏览器自动化特征。
  3. 运营多个网站账号的团队,需要用独立 session、持久身份和每会话代理隔离 Cookie、指纹及浏览器进程。
  4. 并发执行多个页面任务的智能体,需要在共享登录状态的同一浏览器中使用独立命名 tab。
  5. 需要在自动化任务之间保留登录状态的用户,可通过持久档案以及 Cookie 导入、导出复用浏览器状态。
  6. 偏好命令行工作流的测试或运维人员,需要抓取页面文本、执行 JavaScript、等待元素或 URL,并保存页面截图。

这个 Agent 有哪些优点和局限?

优点
  • 指纹伪装由 Camoufox 在 C++ 层实现,覆盖 canvas、WebGL、音频、屏幕指标和字体,而不是仅依赖页面级注入。
  • 无障碍树快照生成可复用的 @ref,让智能体通过短 Shell 命令完成定位和交互,无需生成浏览器控制代码。
  • 同时提供两种并发模型:共享身份与登录状态的命名 tab,以及拥有独立进程、指纹和 Cookie 的命名 session。
  • --persistent 会冻结指纹、操作系统及噪声种子,并保留 Cookie,使同一路径在后续启动时表现为同一设备。
  • 支持 npm 与 pipx 两条安装路径,并明确支持 Codex、Claude Code、Cursor、OpenClaw 以及其他能运行 Shell 命令的智能体。
局限
  • 运行链路依赖 Python daemon、Playwright 和 Camoufox 浏览器;npm 安装还要求 Node.js 20.10+,Linux 可能需要额外系统依赖。
  • 浏览器二进制需要从 GitHub Releases 下载;共享服务器或 CI 的匿名 GitHub API 限额可能耗尽,虽有网页抓取回退路径,安装仍依赖 GitHub 可达。
  • 同一 session 内的命名 tab 共享一个浏览器进程,慢命令可能让其他 tab 排队;真正的并行隔离需要额外 session 和进程。
  • 持久身份并不会保存代理设置,--proxy--no-geoip 必须按需在每次启动时传入,否则可能不符合预期的网络身份配置。
  • 每个智能体必须自行保证 tab 名称唯一,工具不会强制检测或避免命名冲突。
  • 修改配置文件不会立即影响已经运行的 session,必须先关闭该 session,让 daemon 在下次启动时重新读取配置。

如何安装或部署这个 Agent?

npm 方式要求 Node.js 20.10+:

npm install -g camoufox-cli
camoufox-cli install

也可以使用 Python 的 pipx:

pipx install camoufox-cli
camoufox-cli install

Linux 可让安装器同时安装系统依赖:

camoufox-cli install --with-deps

如需安装面向 Claude Code、Cursor、Codex 等工具的技能,可运行:

npx skills add Bin-Huang/camoufox-cli

浏览器从 GitHub Releases 下载,因此首次安装需要网络访问。基础浏览不要求凭据;访问受保护网站或使用带认证的代理时,需要相应网站登录信息或代理凭据。

如何使用这个 Agent?

首个可运行流程:

camoufox-cli open https://example.com
camoufox-cli snapshot -i
camoufox-cli click @e1
camoufox-cli close

其中 snapshot -i 仅输出可交互元素;后续命令使用输出中的实际 ref,例如 @e1。需要持久身份时,可运行:

camoufox-cli --persistent ~/.camoufox-cli/profiles/alice open https://example.com

需要隔离身份时,为不同进程使用命名会话;代理必须在每次启动时重新指定:

camoufox-cli --session a --persistent ~/.camoufox-cli/profiles/alice --proxy http://user:pass@host:port open https://example.com

可将默认参数写入 ~/.camoufox-cli/config.json,也可用 $CAMOUFOX_CLI_CONFIG 指定其他配置路径。配置在对应 session 的 daemon 首次启动时读取;修改后应先关闭已运行的该 session。

常见问题

使用它需要付费服务或 API 密钥吗?
源码说明该项目采用 MIT 许可证,基本安装与浏览命令未要求 API 密钥。若目标网站需要登录,或代理服务需要认证,则仍需提供对应凭据;代理本身的价格未在材料中说明。
普通 tab 与 session 有什么区别?
同一 session 内的命名 tab 共享浏览器进程、指纹、Cookie 和登录状态,但各自保留页面、元素 ref 与历史。命名 session 是独立浏览器进程,并拥有独立随机指纹和 Cookie,适合身份隔离。
持久身份会保存哪些内容?
首次启动生成的指纹、操作系统以及 canvas 和字体噪声种子会冻结;语言环境和代理派生的时区、地理位置可以更新。代理地址与 --no-geoip 属于每次启动参数,不会被持久保存。
配置修改后为什么没有生效?
配置只在某个 session 的 daemon 首次启动时读取。如果该 session 已经运行,需要先执行相应的 camoufox-cli --session <name> close,再重新启动。损坏的配置会被忽略,并在标准错误输出警告。
它能否让多个智能体并发使用同一登录状态?
可以。多个唯一命名的 tab 可共享一个 session 的指纹、Cookie 和登录状态,同时保留各自的页面和 ref。不过它们共享同一浏览器进程,命令可能因慢任务而排队。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents