browser-daemon

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

FGP 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?

OperationFGP DaemonPlaywright MCPSpeedup
Navigate2-8ms27ms3-12x
ARIA Snapshot0.7-9ms2-3ms3x
Screenshot25-30ms50-80ms2x
FGP daemons are persistent UNIX socket servers - no cold start, no process spawn overhead.
操作FGP守护进程Playwright MCP提速倍数
网页导航2-8ms27ms3-12倍
ARIA快照0.7-9ms2-3ms3倍
屏幕截图25-30ms50-80ms2倍
FGP守护进程是持久化的UNIX套接字服务器——无冷启动、无进程启动开销。

Installation

安装步骤

bash
undefined
bash
undefined

Install 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.sh
git clone https://github.com/fast-gateway-protocol/browser cd browser && cargo build --release

安装脚本会处理守护进程的配置:

```bash
bash ~/.claude/skills/fgp-browser/scripts/install.sh

Usage

使用方法

Once installed, the daemon runs in the background. Call it via the
fgp
CLI:
bash
undefined
安装完成后,守护进程将在后台运行。通过
fgp
命令行工具调用:
bash
undefined

Navigate 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"
undefined
fgp browser select "select#country" "United States"
undefined

Available Commands

可用命令

CommandDescriptionExample
open <url>
Navigate to URL
fgp browser open "https://google.com"
snapshot
Get ARIA tree
fgp browser snapshot
screenshot <path>
Capture PNG
fgp browser screenshot /tmp/shot.png
click <selector>
Click element
fgp browser click "#submit"
fill <selector> <text>
Fill input
fgp browser fill "input" "hello"
press <key>
Press key
fgp browser press Enter
select <selector> <value>
Select option
fgp browser select "select" "opt1"
hover <selector>
Hover element
fgp browser hover ".menu"
scroll [direction]
Scroll page
fgp browser scroll down
命令描述示例
open <url>
导航至指定URL
fgp browser open "https://google.com"
snapshot
获取ARIA树
fgp browser snapshot
screenshot <path>
捕获PNG截图
fgp browser screenshot /tmp/shot.png
click <selector>
点击指定元素
fgp browser click "#submit"
fill <selector> <text>
填写输入框
fgp browser fill "input" "hello"
press <key>
执行按键操作
fgp browser press Enter
select <selector> <value>
选择下拉选项
fgp browser select "select" "opt1"
hover <selector>
悬停在元素上
fgp browser hover ".menu"
scroll [direction]
滚动页面
fgp browser scroll down

Multi-Session Support

多会话支持

Create isolated browser sessions for parallel work:
bash
undefined
创建独立的浏览器会话以并行处理任务:
bash
undefined

Create 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
undefined
fgp browser session close shopping
undefined

Daemon Management

守护进程管理

bash
undefined
bash
undefined

Check 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
undefined
fgp browser start
undefined

Example Workflow

示例工作流

bash
undefined
bash
undefined

1. 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
undefined
fgp browser screenshot /tmp/github-logged-in.png
undefined

Troubleshooting

故障排查

Chrome not found

未找到Chrome

Error: Chrome executable not found
Install Chrome or set
CHROME_PATH
environment variable.
Error: Chrome executable not found
安装Chrome或设置
CHROME_PATH
环境变量。

Daemon not running

守护进程未运行

Error: Connection refused
Start the daemon:
fgp browser start
Error: Connection refused
启动守护进程:
fgp browser start

Permission denied on socket

套接字权限不足

Error: Permission denied
Check socket permissions:
ls -la ~/.fgp/services/browser/daemon.sock
Error: Permission denied
检查套接字权限:
ls -la ~/.fgp/services/browser/daemon.sock

Architecture

架构设计

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.sock
FGP浏览器使用:
  • Chrome DevTools Protocol 进行浏览器控制(而非Playwright)
  • UNIX sockets 进行进程间通信(亚毫秒级延迟)
  • 持久化守护进程(无冷启动)
  • NDJSON协议(简单易调试)
套接字位置:
~/.fgp/services/browser/daemon.sock