Obscura 无头浏览器

为智能体与网页抓取提供轻量、隐蔽且无需 Chromium 的浏览器自动化。

Star 数
★ 29k
最近更新
3 天前
License
Apache-2.0
主语言
Rust

30 秒速览

运行形态
命令行工具自托管服务MCP 服务器
可在哪里用
通用 · 跨平台Claude.ai
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
Shell / 命令行网络访问本地文件系统MCP Server
典型场景
维护抓取管线的工程团队,可用 obscura scrape 和多个 worker 并行处理一批页面,并将每页求值结果汇总为 JSON。
不适合
  • 需要与 Chromium 完全一致渲染效果的团队
  • 依赖冷门 CSS、媒体播放或平台字体栅格化的项目
  • 需要完整 CDP 方法覆盖的复杂 Chrome 迁移

这个 Agent 能做什么,适合哪些场景?

Obscura 是用 Rust 编写的开源无头浏览器引擎,面向网页抓取和智能体浏览器自动化。它直接嵌入 V8 执行页面 JavaScript,并通过 Chrome DevTools Protocol 提供可供 Puppeteer 和 Playwright 连接的服务。其独立渲染引擎能够生成 PNG 截图、实时页面录屏流和 PDF,而不必启动 Chromium。项目还提供单页 fetch、并行 scrape、CDP WebSocket 服务以及 stdio/HTTP 两种传输方式的 MCP 服务器。用户可以通过预编译二进制、Docker 镜像或 Rust 源码自行部署;官方发布包无需安装 Chrome、Node.js 或额外运行时依赖。

用户可用 obscura fetch <URL> 请求网页、运行页面脚本,并输出 HTML、正文、链接、Markdown、资源 URL 的 NDJSON 或原始响应体;还可等待加载条件、选择器或动态内容,并把结果写入文件。obscura scrape <URL...> 启动多个 worker 并发处理 URL,通过 JavaScript 表达式提取数据,输出 JSON 或文本。obscura serve --port 9222 暴露 CDP WebSocket 服务,使 puppeteer-core 的 puppeteer.connect 和 playwright-core 的 chromium.connectOverCDP 可以导航、查询 DOM、填写表单、维护 Cookie、拦截请求并生成截图或 PDF。渲染引擎处理 CSS 布局与绘制,支持视口及整页截图、CDP screencast 和栅格 PDF。启用 --stealth 后,它会随机化会话指纹、隐藏自动化特征并阻止列出的跟踪域名。obscura mcp 或 obscura mcp --http --port 8080 则向 MCP 客户端提供导航、快照、点击、填写、键盘输入、脚本求值、网络记录、控制台消息、截图和 PDF 等操作。

  1. 维护抓取管线的工程团队,可用 obscura scrape 和多个 worker 并行处理一批页面,并将每页求值结果汇总为 JSON。
  2. 构建自主浏览任务的智能体开发者,可通过 MCP 工具完成导航、页面快照、点击、表单填写、键盘操作和 JavaScript 求值。
  3. 已有 Puppeteer 或 Playwright 自动化代码的团队,可让客户端通过 CDP 连接 Obscura,评估以较轻的自托管引擎替代 headless Chrome。
  4. 需要归档网页视觉结果的服务,可直接生成整页 PNG、CDP 页面录屏流或 PDF,而无需另行启动 Chromium。
  5. 处理容易触发反自动化或跟踪脚本的网站测试人员,可在构建了 stealth 功能的版本中启用指纹随机化和跟踪器阻止。
  6. 需要下载图片、JSON、JavaScript、CSS 或其他非 HTML 内容的采集程序,可使用 --dump original 绕过 JavaScript/DOM 层并流式输出原始响应体。

如何安装或部署这个 Agent?

最直接的方式是下载对应平台的发布包。例如 Linux x86_64:

curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-x86_64-linux.tar.gz
tar xzf obscura-x86_64-linux.tar.gz
./obscura fetch https://example.com --eval "document.title"

Linux ARM64、macOS Apple Silicon、macOS Intel 和 Windows 也有对应归档;Arch Linux 可运行 yay -S obscura-browser,NixOS 可运行 nix-env -iA nixpkgs.obscura。发布归档同时包含 obscura 与 obscura-worker,使用并行 scrape 时应将两者放在同一目录。也可通过 Docker 启动:docker run -d --name obscura -p 127.0.0.1:9222:9222 h4ckf0r0day/obscura。源码构建要求 Rust 1.75+;带渲染的命令为 cargo build --release -p obscura-cli --bins --features render,渲染加 stealth 使用 --features render,stealth。stealth 构建还需要 CMake、Clang 以及 libclang/LLVM 开发库。上述本地调用不要求凭据,但目标网站或代理可能有各自的认证要求。

如何使用这个 Agent?

单页验证可运行:obscura fetch https://example.com --dump text。需要截图时运行:obscura fetch https://example.com --screenshot page.png。并行抓取示例:obscura scrape url1 url2 url3 --concurrency 25 --eval "document.querySelector('h1').textContent" --format json。要接入 Puppeteer 或 Playwright,先执行 obscura serve --port 9222,然后分别使用 puppeteer.connect({ browserWSEndpoint: 'ws://127.0.0.1:9222/devtools/browser' }) 或 chromium.connectOverCDP({ endpointURL: 'ws://127.0.0.1:9222' })。Claude Desktop 可配置 MCP 子进程:{"mcpServers":{"obscura":{"command":"obscura","args":["mcp"]}}};其他支持 HTTP MCP 的客户端可连接运行 obscura mcp --http --port 8080 后的 http://127.0.0.1:8080/mcp。访问网页需要网络;截图、PDF、下载和输出文件需要写入文件系统。

这个 Agent 有哪些优点和局限?

优点
  • 不依赖 Chromium:项目直接嵌入 V8,并提供自己的 CSS 布局、绘制、截图、录屏和 PDF 渲染路径。
  • 兼容多种调用边界:同一引擎同时提供 CLI、CDP、Puppeteer、Playwright,以及 stdio/HTTP MCP 接口。
  • 部署选择完整:提供多个 Linux、macOS 和 Windows 发布包、约 57 MB 压缩的 distroless Docker 镜像,并支持源码构建。
  • stealth 版本提供会话级 GPU、屏幕、Canvas、音频和电池指纹随机化,同时阻止 3,520 个跟踪域名。
  • 支持原始二进制响应输出以及基于 Fetch.takeResponseBodyAsStream、IO.read 和 IO.close 的分块下载路径。
局限
  • 独立渲染引擎仍在演进;长尾 CSS、部分 Web API、媒体播放、合成器效果和平台字体栅格化可能与 Chromium 不同。
  • 虽然实现了供 Puppeteer 和 Playwright 使用的 CDP 功能集,但并未声称覆盖完整 CDP;迁移复杂 Chrome 自动化时需要验证所用 domain 和 method。
  • 从源码首次构建约需五分钟,因为 V8 会从源码编译;stealth 构建还增加 BoringSSL、CMake、Clang 和 LLVM/libclang 工具链成本。
  • 发布归档中的并行抓取依赖 obscura-worker 与主二进制位于同一目录,打包或部署时必须保留这层约束。
  • 页面脚本执行默认限制为 30 秒;较重的 React、Vue 或 Angular 单页应用可能需要调整 OBSCURA_SCRIPT_DEADLINE_MS 和客户端导航超时。
  • 超过默认 2 MiB 网络响应体缓存限制的内容不会被保留;计划流式读取大文件时必须提高 OBSCURA_NETWORK_BODY_BUFFER_BYTES。

这个 Agent 与同类方案有什么区别?

项目明确将 Obscura 定位为 headless Chrome 的替代方案。README 给出的对比值为:Obscura 约占 30 MB 内存、二进制约 70 MB、页面加载约 85 ms、启动近乎即时,并内置 anti-detect;对应的 headless Chrome 数值为 200+ MB、300+ MB、约 500 ms 和约 2 秒,且表中未列出内置 anti-detect。两者都可用于 Puppeteer 和 Playwright。采用前仍应在目标站点上验证兼容性,因为 Obscura 的独立渲染及 Web API 覆盖范围可能与 Chromium 不同。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Obscura 无头浏览器 当前 75 · 表现良好 命令行工具免费 ★ 29k 3 天前 Rust Claude.ai
Opensteer 49 · 缺口较多 命令行工具免费 ★ 203 2 个月前 Python —
Flyto2 Core 64 · 存在缺口 命令行工具免费版 + 付费版 ★ 484 7 天前 Python Claude Code
隐身浏览器代理 57 · 缺口较多 MCP 服务器免费 + 模型费 ★ 2.8k 1 天前 Python Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
75/ 100 五分制 3.8 / 5
本评测基于 2026年8月16日 的源码;此后该项目发布了 5 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 19/29
可靠稳定 9/14
适用触发 16/18
规范维护 16/18
有效结果 10/13
证据核验 5/8
查看各维度的扣分理由
信任安全19 / 29 · 3.3/5

默认阻止回环、私网和链路本地地址,危险网络访问需要显式开启;CI 权限为只读、凭据不持久化,发布与 PR 检查隔离,依赖审计配置还从可信基准版本取得,因此最小权限和依赖安全证据充分。安全文档明确说明进程内执行不等同于系统隔离,并建议容器或虚拟机。扣分点是浏览、点击、表单提交、文件写入和代理流量没有逐操作确认机制,robots.txt 默认不遵守;数据流虽描述了请求、Cookie、代理、输出和跨会话边界,但未完整说明凭据生命周期、日志脱敏或数据保留。关闭页面可重置状态,但对已发出的请求、提交或写入缺少回滚方案。仓库、许可证、安全邮箱和项目渠道可辨认,但发布者身份未由给定材料验证。

可靠稳定9 / 14 · 3.2/5

README、Cargo 工作区、安全模型和 CI 构建矩阵在功能开关、panic 策略、SSRF 默认值以及支持环境方面大体一致,并提供超时、V8 watchdog、进程硬截止和 panic 降级机制。扣分是静态材料无法确认这些机制实际生效,部分性能和兼容性表述主要来自项目自身;依赖与构建要求记录较好,但 V8、BoringSSL、系统工具、外部发布包和本地 vendor 补丁增加可用性风险。文档覆盖超时、内存不足及部分配置修复方式,但没有完整、稳定的错误分类和面向所有 MCP/CDP 操作的诊断约定。

适用触发16 / 18 · 4.4/5

材料清楚覆盖 AI Agent、抓取、CLI、MCP、Puppeteer、Playwright、CDP、并行任务及多种输出场景,安装和构建变体也适配 Linux、macOS、Windows、Docker、AUR 与 NixOS。对长尾 CSS、部分 Web API、媒体、合成效果、字体差异、进程内隔离和大型响应缓存限制均有明确边界说明,足以获得高分。扣分集中在触发精度:工具参数和等待条件有定义,但快照引用的失效规则、导航前置条件、选择器歧义、重复提交防护以及工具级副作用约束没有充分说明。

规范维护16 / 18 · 4.4/5

README 的安装、快速开始、渲染、CDP、CLI、MCP、安全提示和集成结构清晰;命令、功能名和输出格式在各章节保持稳定,安装依赖与平台差异写得具体。完整 Apache-2.0 文本与 Cargo 元数据一致,已知限制也有专门说明。扣分是没有真正的 FAQ,示例虽多但故障排查不系统;有 Releases 链接、标签发布和“安全修复进入 main 后随下一版本发布”的路径,却未提供变更日志或版本兼容策略,Cargo 工作区版本仍为 0.1.0。维护渠道、安全响应时限和联系邮箱明确,但责任主体及发布者身份并未被给定证据验证。

有效结果10 / 13 · 3.8/5

输出可直接用于脚本和 Agent,包括 HTML、文本、链接、Markdown、原始二进制、NDJSON、JSON、截图、PDF、流式响应及 MCP 资源,且提供静默模式、文件输出和并行抓取,因此可用性证据充分。相对 Chromium 的独立 Rust/V8 引擎、低依赖部署和多协议兼容具有明确增量价值。扣分是内存、启动、加载速度和反检测等关键收益主要以营销表格呈现,基准实现位于未提供的外部仓库;静态材料无法核实实际正确性、性能、代理成本或维护成本,因此边际价值和成本收益不宜满分。

证据核验5 / 8 · 3.1/5

功能主张可部分追溯到 Cargo 特性、CI 构建矩阵、安全策略、命令参考和协议方法表,多份文件对依赖审计、构建组合、panic 行为及网络边界相互印证。扣分是核心实现源码、deny.toml、测试内容、发布工作流全貌和外部 benchmark 仓库未提供,性能、资源占用、兼容性和反检测数字无法在材料内闭环验证。文档能区分部分限制、计划事项与当前能力,但若干营销性断言和精确数字未同时给出方法、环境或不确定性。

风险与缓解建议
  • Obscura 在进程内执行任意网页的真实 JavaScript;处理敌对输入时应使用容器或虚拟机、受限网络和按用户隔离,不能把 V8 watchdog 当作安全沙箱。
  • robots.txt 遵守默认关闭,隐身模式包含反指纹与追踪器阻断;部署者应明确审查目标网站条款、授权范围和自动化政策。
  • MCP/CDP 工具能够导航、点击、填写和提交表单,但材料未显示逐操作确认或可逆事务机制;不要向高影响账户直接授予无人监督权限。
  • 登录流程会维护 Cookie,但未给出完整的密钥存储、日志脱敏、Cookie 持久化和销毁政策;敏感会话应由外层系统隔离和清理。
  • 性能、资源占用和反检测数字未能由所给文件独立验证;在采用前应针对实际站点、架构和安全边界自行评测。
证据充分度:低 评估于 2026年8月16日 审查版本 d9ef40bea241 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.2.5
    发布说明摘录
    v0.2.5 This release focuses on MCP automation, storage correctness, and browser compatibility. It adds actionable snapshots, preserves tab runtimes, implements IndexedDB transactions, and fixes binary request interception. 128 commits since v0.2.4. Highlights - MCP snapshots include references agents can act on directly. Snapshots return accessible names, live control states, visible text, and bounded element descriptions. Stale references are rejected before an action reaches the wrong element (#1268, #1273). …
    在 GitHub 查看 ↗
  2. v0.2.4
    发布说明摘录
    v0.2.4 This release focuses on automation reliability, browser compatibility, and reducing unnecessary engine work. It fixes frame teardown crashes, adds recovery for failed CDP workers, improves input and navigation behavior, and tightens the release validation gate. 212 commits since v0.2.3. Highlights • Frame teardown no longer crashes under garbage collection. Borrowed iframe contexts are cleaned up safely when their isolate is destroyed, fixing process aborts during page closure (\#1197). …
    在 GitHub 查看 ↗
  3. v0.2.3
    发布说明摘录
    v0.2.3 Security, concurrency, and browser compatibility are the focus of this release. The JavaScript engine has been updated, exposed CDP and MCP servers now have built-in authentication, concurrent sessions are more reliable, and rendering gained another broad correctness and performance pass. 114 commits since v0.2.2. Highlights …
    在 GitHub 查看 ↗

常见问题

是否必须安装 Chrome 或 Node.js?
使用官方 Obscura 二进制或 Docker 镜像时不需要 Chrome、Node.js 或额外运行时依赖。只有通过 Puppeteer 或 Playwright 客户端调用时,示例才要求安装对应的 puppeteer-core 或 playwright-core 包。
开源版本会因 Obscura Cloud 而删减功能吗?
项目表示开源引擎将继续使用 Apache-2.0、保持完整功能且不设置功能门槛。Obscura Cloud 是另行规划的托管版本,将提供托管基础设施、住宅代理和专属支持。
它能完全复现 Chromium 的页面吗?
不能据此保证完全一致。项目列出了对 block、inline、flex、grid、table、float、定位、SVG、Canvas 和动画等路径的支持,但明确说明长尾 CSS、部分 Web API、媒体播放、合成器效果及字体栅格化可能存在差异。
遇到复杂页面超时或 V8 内存不足怎么办?
可用 --timeout 调整导航上限,用 OBSCURA_SCRIPT_DEADLINE_MS 增加页面脚本执行预算,并通过 --v8-flags "--max-old-space-size=4096" 提高 V8 堆上限。CDP 客户端的导航超时应与脚本预算配套调整。
stealth 模式是否仍能截图和导出 PDF?
可以。带 render,stealth 功能构建的版本包含完整渲染引擎,运行时开启 --stealth 不会移除截图、screencast、PDF、CDP 或 MCP 功能。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents