browser-daemon
1
总安装量
1
周安装量
#49876
全站排名
安装命令
npx skills add https://github.com/fast-gateway-protocol/fgp-skills --skill browser-daemon
Agent 安装分布
windsurf
1
opencode
1
kiro-cli
1
claude-code
1
antigravity
1
Skill 文档
FGP Browser Daemon
Ultra-fast browser automation using Chrome DevTools Protocol directly. 3-12x faster than Playwright MCP for navigation, 50x faster for ARIA snapshots.
Why 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.
Installation
# Install via Homebrew (macOS/Linux)
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 ~/.claude/skills/fgp-browser/scripts/install.sh
Usage
Once installed, the daemon runs in the background. Call it via the fgp CLI:
# Navigate to URL
fgp browser open "https://example.com"
# Get ARIA accessibility tree (for understanding page structure)
fgp browser snapshot
# Take screenshot
fgp browser screenshot /tmp/page.png
# Click element
fgp browser click "button[type=submit]"
# Fill input field
fgp browser fill "input#email" "user@example.com"
# Press key
fgp browser press Enter
# Select dropdown option
fgp browser select "select#country" "United States"
Available Commands
| Command | Description | Example |
|---|---|---|
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 |
Multi-Session Support
Create isolated browser sessions for parallel work:
# Create new session
fgp browser session new --name "shopping"
# Use specific session
fgp browser --session shopping open "https://amazon.com"
# List sessions
fgp browser session list
# Close session
fgp browser session close shopping
Daemon Management
# Check daemon status
fgp browser health
# View available methods
fgp browser methods
# Stop daemon
fgp browser stop
# Restart daemon
fgp browser start
Example Workflow
# 1. Open a page
fgp browser open "https://github.com/login"
# 2. Get page structure
fgp browser snapshot
# 3. Fill login form
fgp browser fill "input#login_field" "username"
fgp browser fill "input#password" "password"
# 4. Submit
fgp browser click "input[type=submit]"
# 5. Screenshot result
fgp browser screenshot /tmp/github-logged-in.png
Troubleshooting
Chrome not found
Error: Chrome executable not found
Install Chrome or set CHROME_PATH environment variable.
Daemon not running
Error: Connection refused
Start the daemon: fgp browser start
Permission denied on socket
Error: Permission denied
Check socket permissions: 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