rlgrpe/camoufox-browser-cli

GitHub: rlgrpe/camoufox-browser-cli

基于 Camoufox 反检测浏览器的命令行优先自动化工具,支持 AI 代理通过 MCP 协议进行隐蔽的网页交互操作。

Stars: 6 | Forks: 2

# Camoufox Browser CLI 由 [Camoufox](https://github.com/CloverLabsAI/camoufox) 驱动的 CLI 优先浏览器自动化工具,可选支持 MCP。 `camoufox-browser` 的宿主机支持:仅限 Linux 和 macOS。 本项目支持三种面向用户的工作流: - `camoufox-browser`:供人类和 agent 使用的主要 CLI - `camoufox-mcp`:可选的 MCP server,封装了相同的命令层 - `skills/camoufox/SKILL.md`:通过 `npx skills` 安装的仓库技能 ## 功能特性 - 用于 CLI 和 MCP 的共享浏览器操作层 - 通过轻量级后台 daemon 维持持久的浏览器会话 - 适合 agent 交互的无障碍快照 ref - 通过 Camoufox 实现反检测启动 - 支持标签页、截图、控制台/网络检查、上传、对话框以及表单自动化 ## 安装说明 ### 仅 CLI ``` pip install camoufox-browser # 或 pipx install camoufox-browser # 或 uv tool install camoufox-browser ``` ### CLI + MCP ``` pip install "camoufox-browser[mcp]" # 或 uv tool install "camoufox-browser[mcp]" ``` ### 从源码构建 ``` git clone https://github.com/rlgrpe/camoufox-browser-cli.git cd camoufox-browser-cli uv sync uv run camoufox-browser --help ``` ### 安装浏览器二进制文件 安装该包后,下载 Camoufox 浏览器二进制文件: ``` camoufox-browser install # 或直接: python -m camoufox fetch uvx camoufox fetch ``` #### Linux 系统依赖 ``` # Ubuntu/Debian sudo apt install -y libgtk-3-0 libx11-xcb1 libasound2 # Arch sudo pacman -S gtk3 libx11 libxcb cairo libasound alsa-lib ``` ## CLI 用法 主要的用户体验类似于 `agent-browser`:直接调用 CLI,并让它在需要时自动启动其后台 daemon。 ``` camoufox-browser open https://example.com camoufox-browser snapshot camoufox-browser click 'button:Sign in' camoufox-browser fill 'textbox:Email' me@example.com --submit camoufox-browser screenshot --output page.png camoufox-browser close ``` 运行 `camoufox-browser --help` 查看完整的命令列表。 ### 核心命令 | 命令 | 描述 | |---------|-------------| | `camoufox-browser open ` | 导航到 URL | | `camoufox-browser snapshot` | 打印带有 ref 的无障碍树 | | `camoufox-browser click ` | 点击元素 | | `camoufox-browser fill ` | 在元素中填充或输入内容 | | `camoufox-browser select [more-values...]` | 选择下拉框值 | | `camoufox-browser upload [more-files...]` | 将文件上传到文件输入框 | | `camoufox-browser drag ` | 拖放操作 | | `camoufox-browser press ` | 按下键盘按键 | | `camoufox-browser screenshot [--output FILE] [--full-page] [--ref REF]` | 截图 | | `camoufox-browser eval ''` | 在页面上运行 JavaScript | | `camoufox-browser wait [--text TEXT] [--text-gone TEXT] [--time N]` | 等待条件满足 | | `camoufox-browser close` | 关闭浏览器(daemon 继续运行) | ### 会话与检查 | 命令 | 描述 | |---------|-------------| | `camoufox-browser console [--level error\|warning\|info\|debug]` | 浏览器控制台输出 | | `camoufox-browser network [--all]` | 记录的网络请求 | | `camoufox-browser resize ` | 调整视口大小 | | `camoufox-browser tabs list\|new\|close [index]\|select ` | 管理标签页 | | `camoufox-browser dialog accept\|dismiss [prompt_text]` | 处理待处理的对话框 | | `camoufox-browser fill-form ''` | 从 JSON 填充多个字段 | ### 高级 daemon 控制 这些命令是可选的。正常工作流不需要它们。 | 命令 | 描述 | |---------|-------------| | `camoufox-browser start [--headless] [--os windows\|macos\|linux] [--proxy PROXY]` | 显式启动 daemon | | `camoufox-browser stop` | 停止 daemon | | `camoufox-browser status` | 检查 daemon 是否正在运行 | ### 元素 ref `camoufox-browser snapshot` 会打印一个无障碍树。交互式元素包含一个 `[ref=...]` 标签: ``` button "Sign in" [ref=button:Sign in] textbox "Email" [ref=textbox:Email] link "Forgot password?" [ref=link:Forgot password?] ``` 将 ref 值传递给交互命令: ``` camoufox-browser click 'button:Sign in' camoufox-browser fill 'textbox:Email' me@example.com ``` ## MCP Server 安装可选的 MCP 扩展: ``` pip install "camoufox-browser[mcp]" ``` MCP server 是对 `camoufox-browser` 所用操作层的轻量级封装。 ### 添加到 Claude Code ``` claude mcp add camoufox-mcp -- uvx --from "camoufox-browser[mcp]" camoufox-mcp ``` ### Claude Desktop 配置 ``` { "mcpServers": { "camoufox-mcp": { "command": "uvx", "args": ["--from", "camoufox-browser[mcp]", "camoufox-mcp"] } } } ``` ### 从源码构建 ``` { "mcpServers": { "camoufox-mcp": { "command": "uv", "args": [ "run", "--extra", "mcp", "--directory", "/path/to/camoufox-browser-cli", "camoufox-mcp" ] } } } ``` ## Skill 使用 该 skill 不会引入单独的运行时。它会教 agent 如何使用 `camoufox-browser`,并且应该通过 `npx skills` 进行安装。 ``` npx skills add https://github.com/rlgrpe/camoufox-browser-cli --skill camoufox ``` 针对特定 agent 的项目本地安装: ``` npx skills add https://github.com/rlgrpe/camoufox-browser-cli --skill camoufox -a claude-code -a codex ``` ## 开发 ``` uv sync uv run python -m unittest uv run python -m compileall camoufox_mcp uv build --wheel ``` ## 相关项目 - [Camoufox](https://github.com/CloverLabsAI/camoufox) - [MCP](https://modelcontextprotocol.io/) - [FastMCP](https://github.com/jlowin/fastmcp) - [agent-browser](https://github.com/vercel-labs/agent-browser)
标签:AI代理, Camoufox, CLI, MCP, pip, Puppeteer替代, Python, RPA, Selenium替代, SOC Prime, uv, WiFi技术, 反检测浏览器, 开发工具, 开源, 文档结构分析, 无后门, 无头浏览器, 模型上下文协议, 浏览器指纹伪装, 浏览器自动化, 网络信息收集, 网络安全, 网页截图, 网页测试, 表单自动化, 辅助功能快照, 逆向工具, 隐私保护