Skip to main content
Glama
yinnho

aginxbrowser

AginxBrowser

Agent 的浏览器。看世界,和世界交互。

skills.sh License

不是给人用的浏览器改吧改吧给 Agent。是从第一行代码就为 AI Agent 设计的——看世界、读世界、搜世界、操世界,一个 Rust 二进制,内置 V8,不依赖 Chromium。

人有 Chrome,Agent 有 AginxBrowser。

一个二进制,零依赖,启动即服务。HTTP API + MCP,Agent 拿来就能用。

为什么 Agent 需要专属浏览器

现有的"浏览器自动化"方案都是为人或为抓取设计的,不是为 Agent:

AginxBrowser

Puppeteer/Playwright

Firecrawl

Browser-use

为谁设计

Agent-first

人调试

抓取服务

LLM 套壳

依赖

单二进制,无 Chromium

Chromium ~500MB

Docker ~1GB

Chromium

看得见(截图)

✅ 内置 Blitz 渲染

需 Chromium

需 Chromium

读得懂

markdown + js_extract

要自己写

markdown

要自己写

找得到(搜索)

✅ 5 引擎聚合

操得了

session 索引化交互

DevTools

LLM 驱动

协议

HTTP + MCP 原生

Node API

HTTP

Python

TLS 指纹

✅ Chrome/Firefox/Safari

需插件

需插件

CAPTCHA

✅ 自动解决

需自己接

需自己接

交互式 Session

Agent 用浏览器要的是五件事:看得见、读得懂、找得到、操得了、跑得动。 一个二进制全包,systemd 守护,MCP 直连 Claude/Cursor,零依赖启动即服务。

核心优势:不依赖 Chromium。 AginxBrowser 内联了 Obscura 浏览器内核(V8 + 自研 HTTP 栈 + 内置 Blitz 渲染栈),不需要 Puppeteer、不需要 Chrome、不需要 Docker。一个 Rust 二进制,systemd 守护,就是 agent 的浏览器基础设施。

三件套:反爬 + 长会话 + MCP 原生

刚冒出来的「agent 浏览器」大多是无状态、无指纹的一次性渲染引擎——抓公开页、出截图很轻,碰上 Cloudflare 防护或要登录的站就退出("用 Chromium 吧")。AginxBrowser 走相反的路,专啃它们干不了的三件事:

  • 🔐 真实 TLS 指纹 — stealth 模式用 BoringSSL 复刻 Chrome145 / Firefox133 / Safari / Edge 的完整 TLS 握手(不是只改 UA),可按请求切换;Cloudflare Turnstile 挑战页自动等待 cf_clearance。无指纹引擎碰反爬就是 403,我们穿过去。

  • 🤝 有状态交互 Session — 持久化浏览器会话(8 分钟空闲保活),登录态可注入可导出(session_create(cookies=...)session_cookies),跨页面、跨翻页、跨多步流程不断。一次性引擎抓完即弃,做不了「登录 → 操作 → 再操作」。

  • 🔌 MCP 原生 — 13 个工具是一等公民(不是 CDP 套壳),Claude Code / Cursor / Claude Desktop 一行接入。HTTP + MCP 双协议,agent 不用先学一套 DevTools 协议就能上手。

参照:Cloudflare Kitesurf 官方明确不做真实 TLS 指纹协商、不做需要持久状态的认证会话——反爬与登录正是 AginxBrowser 的地盘。

加上 Apache-2.0 开源、单二进制,想自托管现在就能跑,不锁任何云。

核心能力

  • 分层渲染:静态页面纯 HTTP 直取(~100ms),需要 JS 渲染时才启动 V8(~1-2s),80% 页面加速 10x

  • 5 引擎聚合搜索:百度/Bing/搜狗/搜狗微信/Google 并发查询,合并去重,可选自动抓正文,Agent 一步完成"搜→读"

  • 图片搜索categories=images 接百度图片/必应图片,返回 image_url 二进制直链(curl -o 可直接下成 jpg/png)+ source_url 溯源,Agent 自主补真实素材

  • 交互式 Session:持久化浏览器会话,索引化交互(state/click/input/scroll/eval),AI Agent 像人一样浏览网页

  • CAPTCHA 自动解决:检测验证码类型,可选 2captcha 自动解决,搜索不再卡死

  • JS 数据提取js_extract 参数,从 SPA 提取 window.__INITIAL_STATE__ 等结构化数据

  • 截图渲染/screenshot 端点(--features screenshot),JS 渲染后的 DOM 喂给内置 Blitz 渲染栈(Stylo/Taffy/vello_cpu,纯 CPU,无 Chromium)出 PNG,agent 的视觉输入

  • Cloudflare 自动绕过:检测 "Just a moment..." 挑战页,自动等待 cf_clearance

  • TLS 指纹伪装:stealth 模式模拟 Chrome145/Firefox133/Safari/Edge,可按请求切换

  • MCP Server--mcp 模式暴露 13 个工具(fetch/eval/click/search + 9 个 session 工具),Claude Code / Claude Desktop / Cursor 直接调用

  • Firecrawl 兼容/v1/scrape 端点,现有 Firecrawl 客户端改 base URL 即可迁移

  • DNS 重绑定防护:内置 SSRF 防护 + DNS 解析后 IP 校验

适合做什么

不是 demo,是真实有人在用 agent 浏览器干的事:

  • 啃烂后台 — AWS / App Store Connect / Google Play,点穿几十层菜单才干完一件事。让 agent 代你点,到要授权时再回来确认。

  • 登录后批量操作 — 往购物车加一打商品、翻历史订单找小票、查只对登录态开放的页面。注入 cookie 即用,操作完导出复用。

  • 穿反爬站点 — Cloudflare 防护、Turnstile 挑战、TLS 指纹检测,stealth 模式硬穿,不是碰 403 就退。

  • 中国互联网 — 百度 / 搜狗 / 微信公众号 5 引擎聚合搜索,中文页正确渲染,不只懂英文 web。

  • 现场写脚本 — 让 agent 看页面、写一段 JS、eval 执行——高亮对比表、重排内容、按隐藏参数过滤商品。GreaseMonkey-on-steroids。

  • 多模态视觉 — 截图当视觉输入,做「看图判断」的流程:找好座位、辨认页面布局、确认渲染对不对。

快速开始

想先体验?直接用托管实例 https://browser.aginx.net/

一键全装(SKILL.md 触发面 + MCP 工具 + 验活,推荐):

# 下载 -> 先看一眼内容 -> 确认无误再执行(不要盲跑网络脚本)
curl -fsSL https://raw.githubusercontent.com/yinnho/aginxbrowser/main/skill.sh -o skill.sh
less skill.sh
bash skill.sh

只注册 MCP

claude mcp add aginxbrowser --transport http https://browser.aginx.net/mcp

通过 skills.sh 目录装触发面(装的是 skill 触发面,MCP 仍需按上面单独注册):

npx skills add yinnho/aginxbrowser

下面是自己部署的方式:

# 构建
cargo build --release

# 启动服务
./target/release/aginxbrowser
# → Listening on 0.0.0.0:8089

# 验证
curl http://127.0.0.1:8089/health
# → {"status":"ok","engine":"obscura"}

# 抓取页面
curl -sS -X POST http://127.0.0.1:8089/fetch \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'

# 搜索
curl -sS -X POST http://127.0.0.1:8089/search \
  -H "Content-Type: application/json" \
  -d '{"q":"macbook 价格","max_results":5}'

# 创建交互式会话
curl -sS -X POST http://127.0.0.1:8089/session/create \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'
# → {"session_id":"s_1","url":"https://example.com/"}

# MCP 模式(给 AI Agent 用)
./target/release/aginxbrowser --mcp

目录结构

aginxbrowser/
├── Cargo.toml
├── build.rs              # V8 snapshot 生成
├── js/
│   └── bootstrap.js      # V8 启动脚本
├── README.md
├── docs/
│   └── API.md            # 完整 API 参考(HTTP + MCP)
└── src/
    ├── main.rs              # HTTP 服务���口与路由
    ├── server.rs            # 业务层(fetch/click/eval/search)
    ├── session.rs           # 交互式浏览器会话
    ├── captcha.rs           # CAPTCHA 检测与自动解决
    ├── render.rs            # 分层渲染(HTTP 直取 → obscura 浏览器)
    ├── mcp.rs               # MCP Server(13 个工具)
    ├── firecrawl_compat.rs  # Firecrawl 兼容 /v1/scrape 端点
    ├── browser.rs           # 顶层 API:Browser、BrowserBuilder
    ├── page.rs              # 顶层 API:Page、Element
    ├── config.rs            # BrowserConfig
    ├── cookie.rs            # CookieStore
    ├── error.rs             # Error 类型
    ├── search/              # 原生搜索引擎
    │   ├── mod.rs           #   SearchEngine trait、Registry、合并去重、渐进退避
    │   ├── baidu.rs         #   百度(JSON API,wreq stealth)
    │   ├── bing.rs          #   Bing(HTML 解析,plain reqwest)
    │   ├── sogou.rs         #   搜狗通用(HTML 解析,plain reqwest)
    │   ├── sogou_wechat.rs  #   搜狗微信(HTML 解析,plain reqwest + /link 解析)
    │   └── google.rs        #   Google(HTML 解析,wreq stealth + proxy)
    │
    ├── obscura_dom/         # HTML 解析、DOM 树、CSS 选择器
    ├── obscura_net/         # HTTP 客户端、Cookie、编码、代理
    ├── obscura_js/          # V8 运行时、JS ops、模块加载
    └── obscura_browser/     # 页面导航、生命周期、浏览器上下文

构建

# 普通构建(不含 stealth,TLS 指纹等功能不生效)
cargo build --release

# 含 stealth(需 go + cmake + C++ 工具链,启用 TLS 指纹伪装)
cargo build --release --features stealth

# 含截图渲染(启用 /screenshot,拉入内置 Blitz 渲染栈,二进制 +30-40MB)
cargo build --release --features screenshot

# 全功能(推荐生产部署)
cargo build --release --features stealth,screenshot

依赖:Rust 1.78+,首次编译自动下载 V8 静态库(需网络)。启用 stealth 需额外 gocmake、C++ 编译器。启用 screenshot 需服务器装 CJK 字体(fonts-noto-cjk)以正确渲染中文。

运行时环境变量

变量

默认

说明

AGINXBROWSER_BIND

0.0.0.0:8089

监听地址

AGINXBROWSER_STEALTH

启用

0 关闭 stealth(诊断用)

AGINXBROWSER_UA

Linux Chrome145

伪装 UA

AGINXBROWSER_ACCEPT_LANGUAGE

zh-CN,zh;q=0.9,en;q=0.8

Accept-Language

OBSCURA_PROXY

代理地址,use_proxy:true 时使用

AGINXBROWSER_CACHE_TTL_SECS

600

/fetch 缓存 TTL,0 禁用

CAPTCHA_SOLVER_API_KEY

2captcha API Key,设置后自动解决验证码

CAPTCHA_SOLVER_SERVICE

2captcha

验证码解决服务

API 文档

完整 API 参考docs/API.md 安全审计说明docs/skills-sh-audit.md — 为什么 skills.sh 上显示 Critical Risk,每条告警对应的真实产品功能

包含:

  • 所有 HTTP 端点(/fetch/click/eval/search/v1/scrape、8 个 Session 端点)

  • MCP Server 的 13 个工具及参数

  • Claude Code / Claude Desktop / Cursor 客户端配置

  • 远程服务器 SSH 接入方式

  • 环境变量、错误码、站点抓取示例

作为外挂接入其他系统

AginxBrowser 定位是纯外挂基础设施——像真实浏览器一样作为独立服务挂在系统里,谁需要谁调用,不嵌入宿主代码、不污染宿主配置。同机部署一个实例(systemd 守护),所有需要"渲染 + 抓取"能力的应用共享它。

接入方式:读环境变量 AGINXBROWSER_URL=http://127.0.0.1:8089。未设 → 行为不变;设了 → 风控站自动调 AginxBrowser 渲染抓取,失败自动回退。

已知限制

  1. 截图需 opt-in feature/screenshotcargo build --release --features screenshot 启用(拉入内置 Blitz 渲染栈,二进制 +30-40MB)。内置 Blitz 是 beta,复杂站点 CSS 渲染近似(非 Chromium 像素级精准),图片子资源不单独拉取

  2. 元素坐标已支持(块级)/screenshotselector 返回元素页面坐标(selector_rects,CSS px),selector+默认模式直接截该元素区域;坐标与截图同源(Blitz final_layout)。纯行内元素(<a>文字</a>)无独立盒子,选块级祖先

  3. JS 交互已大幅可用,重指纹页仍可能失败:React/Vue 事件委托已正常(src/href 等 URL 反射属性解析绝对 URL 后,Next.js/webpack 能完成 hydration,点击可触发 handler)。但 WorkOS/Cloudflare 认证页等重指纹站点会检测 navigator.plugins、WebGL canvas 等 API,在 stealth 指纹补齐前仍可能崩溃

  4. 代理支持:HTTP/HTTPS/SOCKS5,通过 OBSCURA_PROXY 传入

  5. 强风控站点:百度文库暂不支持;知乎专栏需有效 __zse_ck

许可证

与 OpenCarrier 主项目保持一致。

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Connectors

  • Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.

  • Headless-browser-as-JSON with memorymarket cache economics. Real Chromium, crypto settlement.

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yinnho/aginxbrowser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server