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技术, 反检测浏览器, 开发工具, 开源, 文档结构分析, 无后门, 无头浏览器, 模型上下文协议, 浏览器指纹伪装, 浏览器自动化, 网络信息收集, 网络安全, 网页截图, 网页测试, 表单自动化, 辅助功能快照, 逆向工具, 隐私保护