browser-daemon
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFGP Browser Daemon
FGP浏览器守护进程
Ultra-fast browser automation using Chrome DevTools Protocol directly. 3-12x faster than Playwright MCP for navigation, 50x faster for ARIA snapshots.
直接使用Chrome DevTools Protocol实现超快速浏览器自动化。导航速度比Playwright MCP快3-12倍,ARIA快照速度快50倍。
Why FGP?
为什么选择FGP?
| Operation | FGP Daemon | Playwright MCP | Speedup |
|---|---|---|---|
| Navigate | 2-8ms | 27ms | 3-12x |
| ARIA Snapshot | 0.7-9ms | 2-3ms | 3x |
| Screenshot | 25-30ms | 50-80ms | 2x |
FGP daemons are persistent UNIX socket servers - no cold start, no process spawn overhead.
| 操作 | FGP守护进程 | Playwright MCP | 提速倍数 |
|---|---|---|---|
| 网页导航 | 2-8ms | 27ms | 3-12倍 |
| ARIA快照 | 0.7-9ms | 2-3ms | 3倍 |
| 屏幕截图 | 25-30ms | 50-80ms | 2倍 |
FGP守护进程是持久化的UNIX套接字服务器——无冷启动、无进程启动开销。
Installation
安装步骤
bash
undefinedbash
undefinedInstall via Homebrew (macOS/Linux)
通过Homebrew安装(macOS/Linux)
brew install fast-gateway-protocol/tap/fgp-browser
brew install fast-gateway-protocol/tap/fgp-browser
Or build from source
或从源码构建
git clone https://github.com/fast-gateway-protocol/browser
cd browser && cargo build --release
The install script handles daemon setup:
```bash
bash ~/.claude/skills/fgp-browser/scripts/install.shgit clone https://github.com/fast-gateway-protocol/browser
cd browser && cargo build --release
安装脚本会处理守护进程的配置:
```bash
bash ~/.claude/skills/fgp-browser/scripts/install.shUsage
使用方法
Once installed, the daemon runs in the background. Call it via the CLI:
fgpbash
undefined安装完成后,守护进程将在后台运行。通过命令行工具调用:
fgpbash
undefinedNavigate to URL
导航至指定URL
fgp browser open "https://example.com"
fgp browser open "https://example.com"
Get ARIA accessibility tree (for understanding page structure)
获取ARIA可访问性树(用于理解页面结构)
fgp browser snapshot
fgp browser snapshot
Take screenshot
截取屏幕截图
fgp browser screenshot /tmp/page.png
fgp browser screenshot /tmp/page.png
Click element
点击元素
fgp browser click "button[type=submit]"
fgp browser click "button[type=submit]"
Fill input field
填写输入框
fgp browser fill "input#email" "user@example.com"
fgp browser fill "input#email" "user@example.com"
Press key
按键操作
fgp browser press Enter
fgp browser press Enter
Select dropdown option
选择下拉选项
fgp browser select "select#country" "United States"
undefinedfgp browser select "select#country" "United States"
undefinedAvailable Commands
可用命令
| Command | Description | Example |
|---|---|---|
| Navigate to URL | |
| Get ARIA tree | |
| Capture PNG | |
| Click element | |
| Fill input | |
| Press key | |
| Select option | |
| Hover element | |
| Scroll page | |
| 命令 | 描述 | 示例 |
|---|---|---|
| 导航至指定URL | |
| 获取ARIA树 | |
| 捕获PNG截图 | |
| 点击指定元素 | |
| 填写输入框 | |
| 执行按键操作 | |
| 选择下拉选项 | |
| 悬停在元素上 | |
| 滚动页面 | |
Multi-Session Support
多会话支持
Create isolated browser sessions for parallel work:
bash
undefined创建独立的浏览器会话以并行处理任务:
bash
undefinedCreate new session
创建新会话
fgp browser session new --name "shopping"
fgp browser session new --name "shopping"
Use specific session
使用指定会话
fgp browser --session shopping open "https://amazon.com"
fgp browser --session shopping open "https://amazon.com"
List sessions
列出所有会话
fgp browser session list
fgp browser session list
Close session
关闭会话
fgp browser session close shopping
undefinedfgp browser session close shopping
undefinedDaemon Management
守护进程管理
bash
undefinedbash
undefinedCheck daemon status
检查守护进程状态
fgp browser health
fgp browser health
View available methods
查看可用方法
fgp browser methods
fgp browser methods
Stop daemon
停止守护进程
fgp browser stop
fgp browser stop
Restart daemon
重启守护进程
fgp browser start
undefinedfgp browser start
undefinedExample Workflow
示例工作流
bash
undefinedbash
undefined1. Open a page
1. 打开页面
fgp browser open "https://github.com/login"
fgp browser open "https://github.com/login"
2. Get page structure
2. 获取页面结构
fgp browser snapshot
fgp browser snapshot
3. Fill login form
3. 填写登录表单
fgp browser fill "input#login_field" "username"
fgp browser fill "input#password" "password"
fgp browser fill "input#login_field" "username"
fgp browser fill "input#password" "password"
4. Submit
4. 提交表单
fgp browser click "input[type=submit]"
fgp browser click "input[type=submit]"
5. Screenshot result
5. 截取登录后的截图
fgp browser screenshot /tmp/github-logged-in.png
undefinedfgp browser screenshot /tmp/github-logged-in.png
undefinedTroubleshooting
故障排查
Chrome not found
未找到Chrome
Error: Chrome executable not foundInstall Chrome or set environment variable.
CHROME_PATHError: Chrome executable not found安装Chrome或设置环境变量。
CHROME_PATHDaemon not running
守护进程未运行
Error: Connection refusedStart the daemon:
fgp browser startError: Connection refused启动守护进程:
fgp browser startPermission denied on socket
套接字权限不足
Error: Permission deniedCheck socket permissions:
ls -la ~/.fgp/services/browser/daemon.sockError: Permission denied检查套接字权限:
ls -la ~/.fgp/services/browser/daemon.sockArchitecture
架构设计
FGP Browser uses:
- Chrome DevTools Protocol for browser control (not Playwright)
- UNIX sockets for IPC (sub-millisecond latency)
- Persistent daemon (no cold start)
- NDJSON protocol (simple, debuggable)
Socket location:
~/.fgp/services/browser/daemon.sockFGP浏览器使用:
- Chrome DevTools Protocol 进行浏览器控制(而非Playwright)
- UNIX sockets 进行进程间通信(亚毫秒级延迟)
- 持久化守护进程(无冷启动)
- NDJSON协议(简单易调试)
套接字位置:
~/.fgp/services/browser/daemon.sock