/install gbrow
Gbrow — The Browser Your AI Agent Actually Needs
A full-featured headless browser powered by Playwright and Bun. Uses the accessibility tree for page reading — not expensive vision models.
Why Gbrow?
| Traditional (screenshots + vision) | Gbrow (accessibility tree) |
|---|---|
| Screenshot → upload to GPT-4o → wait → read | ariaSnapshot() → instant structured text |
| ~$0.01 per page read | Free |
| 3-10 seconds per page | \x3C 100ms |
| Fails on API key issues | Always works |
| Click by fragile CSS selector | Click by @ref (@e1, @e2, etc.) |
Quick Setup
# Clone and install
git clone https://github.com/ashish797/Gbrow.git ~/.openclaw/workspace/skills/Gbrow
cd ~/.openclaw/workspace/skills/Gbrow
bash setup.sh
Or one-liner:
curl -fsSL https://raw.githubusercontent.com/ashish797/Gbrow/main/setup.sh | bash
How It Works
1. Start the server
cd ~/.openclaw/workspace/skills/Gbrow
bun run src/server.ts
2. Read the page (accessibility tree)
The snapshot gives you a structured view with clickable refs:
@e1 [heading] "Welcome" [level=1]
@e2 [link] "Get Started"
@e3 [button] "Sign in"
@e4 [textbox] "Search"
3. Click by ref
click @e2 → clicks "Get Started"
fill @e4 "query" → types into search box
Commands
Navigation
| Command | Description | Example |
|---|---|---|
goto \x3Curl> |
Navigate to URL | goto https://example.com |
back |
History back | back |
forward |
History forward | forward |
reload |
Reload page | reload |
url |
Print current URL | url |
Reading
| Command | Description | Example |
|---|---|---|
snapshot |
Accessibility tree with @refs | snapshot -i (interactive only) |
text |
Cleaned page text | text |
html [selector] |
Raw HTML | html .article |
links |
All links as "text → href" | links |
forms |
Form fields as JSON | forms |
Interaction
| Command | Description | Example |
|---|---|---|
click \x3Cref> |
Click element | click @e3 |
fill \x3Cref> \x3Ctext> |
Fill input | fill @e4 "hello" |
select \x3Cref> \x3Cvalue> |
Select dropdown | select @e5 "option1" |
type \x3Cref> \x3Ctext> |
Type with keyboard | type @e4 "search term" |
press \x3Ckey> |
Press key | press Enter |
scroll \x3Cdirection> |
Scroll page | scroll down |
Inspection
| Command | Description | Example |
|---|---|---|
js \x3Cexpr> |
Run JavaScript | js document.title |
css \x3Csel> \x3Cprop> |
Computed CSS | css .box color |
attrs \x3Cref> |
Element attributes | attrs @e1 |
is \x3Cprop> \x3Cref> |
State check | is visible @e3 |
Tabs
| Command | Description |
|---|---|
tabs |
List open tabs |
tab N |
Switch to tab N |
newtab |
Open new tab |
closetab |
Close current tab |
Visual
| Command | Description |
|---|---|
screenshot |
Take screenshot |
responsive \x3Cw> \x3Ch> |
Set viewport size |
pdf |
Save page as PDF |
Snapshot Flags
| Flag | Description |
|---|---|
-i |
Interactive elements only (buttons, links, inputs) |
-c |
Compact (remove empty structural nodes) |
-d N |
Limit tree depth |
-s \x3Csel> |
Scope to CSS selector |
-D |
Diff against previous snapshot |
-a |
Annotated screenshot with ref overlays |
HTTP API
All commands go through the HTTP API:
# Get port and token from state file
PORT=$(python3 -c "import json; print(json.load(open('.gstack/browse.json'))['port'])")
TOKEN=$(python3 -c "import json; print(json.load(open('.gstack/browse.json'))['token'])")
# Send command
curl -s -X POST "http://127.0.0.1:${PORT}/command" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"command":"goto","args":["https://example.com"]}'
Architecture
┌─────────────┐ HTTP ┌──────────────────┐
│ OpenClaw │ ──────────▶ │ Gbrow Server │
│ Agent │ │ (Bun + Playwright)│
└─────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ Chromium │
│ (headless) │
└──────────────────┘
│
▼
┌──────────────────┐
│ Accessibility │
│ Tree (ariaSnapshot)│
└──────────────────┘
No vision models. No API calls. Just structured text from the browser's accessibility layer.
Credits
Built on top of gstack by Gary Tan (Y Combinator). Adapted for OpenClaw with permission under MIT license.
License
MIT
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install gbrow - 安装完成后,直接呼叫该 Skill 的名称或使用
/gbrow触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Gbrow 是什么?
Full-featured headless browser for OpenClaw agents. Navigate, snapshot with accessibility tree (@ref clicks), tabs, JS execution, cookie import. No vision mo... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 103 次。
如何安装 Gbrow?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install gbrow」即可一键安装,无需额外配置。
Gbrow 是免费的吗?
是的,Gbrow 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Gbrow 支持哪些平台?
Gbrow 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Gbrow?
由 ashish797(@ashish797)开发并维护,当前版本 v1.0.0。