webclaw 网页提取引擎
在本地将网页转成干净的 Markdown、JSON 和大模型上下文。
README 清楚区分纯提取核心、本地抓取、托管 API、代理和 LLM 提供商,并列出相关环境变量;核心本地路径及模块分层体现了一定的最小权限意识。密钥仅通过环境变量示例出现,贡献指南也要求从日志中移除密钥、Cookie、令牌和客户数据,但没有说明密钥存储、日志脱敏实现、数据保留或托管服务的数据处理政策。自动安装器会探测客户端并写入 MCP 配置,抓取、爬取及批处理会访问外部站点,但材料未显示逐项确认、域名授权控制或写配置前的预览。依赖同步工作流提供有限的更新机制,却没有漏洞扫描、依赖审计或严格版本固定证据。差异快照可辅助内容恢复,但配置变更和外部请求没有通用回滚方案。仓库、贡献者及合作关系有明确归属,不过发布者身份仍未经验证。
README、Cargo 工作区和 CI 对 Rust 工作区、模块边界、WASM 约束及本地优先定位基本一致;CI 覆盖测试、格式、Clippy、文档和 WASM 编译。安装途径丰富,并给出了本机构建依赖,但 npx、stable 工具链和宽泛的主版本依赖仍受外部可用性及上游变化影响。故障处理证据较薄,仅有原生构建工具提示、提取问题报告模板及少量操作指导,未展示 CLI、REST 或 MCP 的结构化错误、重试、超时和部分失败语义。
受众和场景覆盖充分,包括终端用户、MCP Agent、RAG、SDK、监控、结构化提取和品牌分析。工具表、本地与托管功能划分、架构说明及配置变量形成了较好的能力边界,但托管回退、受保护站点行为、爬取限制和 LLM 提供商选择规则仍不完整。工具名称和典型提示词提供了合理触发线索,不过没有 MCP 工具参数模式或冲突条件。macOS、Linux、Windows、Docker、Cargo、Homebrew、多个 MCP 客户端和 WASM 检查使环境适配证据很强。
README 信息架构清晰,安装、快速开始、工具、SDK、输出格式、架构、配置和贡献路径组织完整;多种安装方法及平台前置条件值得满分。名称在 crate、CLI、MCP 和 SDK 间基本稳定,但开源组件、托管服务及多个包名之间的版本兼容关系没有说明。示例丰富且链接到工作流目录,但没有真正的 FAQ,所链接示例内容也未提供审阅。已承认受保护站点、JavaScript 渲染和提取不佳等边界,但缺少系统化限制、配额、robots/合规、规模上限和不支持项。AGPL-3.0 在 README、Cargo 元数据和完整许可证中一致明确。工作区有版本号并指向 Releases,但未提供变更日志或兼容策略。贡献、问题、讨论和自动依赖更新路径明确,不过具体维护负责人及发布支持承诺不清楚。
Markdown、LLM 文本、纯文本、JSON 和清理后 HTML 等输出直接面向 Agent 与 RAG,选择器、主内容过滤、批处理、结构化提取和差异比较使结果具有较强可用性。相对于原始 HTML,统一 CLI、REST、MCP、SDK 与本地提取层的组合提供明显增量价值。成本收益说明了核心功能无需账户、本地运行以及何时需要托管服务,但没有性能、资源消耗、准确率、价格或与替代方案的可核验基准,因此未给满分。
部分主张可追溯到 Cargo 元数据、模块布局、CI 命令和配置表,但“快速”、阻拦页面处理、生产用途及合作伙伴性能等宣传性陈述缺少代码级引用、基准或测试证据。README、Cargo 和 CI 对版本、许可证、Rust 架构及 WASM 目标形成一定交叉印证。事实、演示性示例、未来用途和赞助商宣传没有始终明确分隔,尤其第三方可靠性、覆盖范围和规模数字未在给定材料中得到佐证。
- 自动安装器会探测客户端并写入 MCP 配置;使用前应检查其计划修改的文件,并保留现有配置备份。
- 抓取、爬取、搜索、代理和托管回退会产生外部网络流量;应自行限制目标域名、速率、深度和最大页面数,并确认站点条款、robots 规则及适用法律。
- 不要仅凭“local-first”假定所有功能都留在本机;search、research、受保护站点、JavaScript 渲染及显式 --cloud 路径依赖托管服务,配置 API 密钥前应核查其数据政策。
- 给定材料未展示依赖漏洞扫描、结构化错误契约、重试策略或性能与准确率基准;生产采用前需独立审计和静态复核,但本评估没有执行软件。
- AGPL-3.0 对分发和网络服务修改可能产生源代码提供义务;集成到专有服务前应取得合适的法律意见。
这个 Agent 能做什么,适合哪些场景?
webclaw 是一个以 Rust 实现、本地优先的网页抓取、爬取与内容提取项目,面向 AI 助手和 RAG 数据管道。仓库包含命令行工具、MCP 服务器、可自托管 REST 服务,以及负责提取、抓取、LLM 集成和 PDF 文本处理的独立 crate。它能够输出 Markdown、紧凑的 LLM 上下文、纯文本、JSON 或清理后的 HTML,并支持站点爬取、URL 映射、批量抓取、结构化提取、摘要、页面差异比较和品牌资产提取。核心提取路径可在本地运行且无需账户;受保护网站、JavaScript 渲染、搜索、异步研究任务和生产使用跟踪则由 webclaw.io 托管服务提供。项目同时提供 TypeScript、Python 和 Go SDK,并可通过 MCP 接入 Codex CLI、Claude Code、Cursor、Windsurf、OpenCode 等兼容客户端。
用户向 webclaw CLI、REST API、SDK 或 webclaw-mcp 提交一个或多个 URL。webclaw-fetch 负责获取页面、同源爬取、批处理和 URL 映射,webclaw-core 将 HTML 转为 Markdown、文本、JSON、LLM 格式或清理后的 HTML,webclaw-pdf 处理 PDF 文本;可选的 webclaw-llm 连接本地或已配置的 LLM,用于 extract 和 summarize。scrape 提取单页,crawl 跟随同源链接,map 只发现 URL,batch 并行抓取多个 URL,diff 比较内容快照,brand 输出颜色、字体、Logo 和元数据。核心流程在本地执行;使用 --cloud 或调用 https://api.webclaw.io/v1/scrape 时,请求会进入托管 API,以处理受保护页面、JavaScript 渲染、搜索和研究任务。
- 使用 Claude Code、Codex CLI、Cursor 或其他 MCP 客户端的开发者,需要把网页转换成可直接交给模型的干净上下文。
- 构建 RAG 索引的数据工程团队,需要爬取文档站、帮助中心、博客或知识库,并保留结构化 Markdown。
- 负责竞品情报的产品团队,需要定期保存价格页、更新日志或产品页快照,再用
diff检查变化。 - 自动化工程师需要从混乱页面中提取类型化 JSON,并通过 REST API、TypeScript、Python 或 Go SDK 接入应用。
- 品牌研究人员需要从公司网站提取 Logo、颜色、字体和社交元数据。
- 希望自托管抓取能力的团队,需要在本地、Docker 或自己的服务器上运行核心提取服务,同时按需使用托管功能。
这个 Agent 有哪些优点和局限?
- 核心提取、本地 CLI 和 MCP 路径无需账户即可运行,并提供可自托管服务器。
- 同一项目覆盖单页抓取、站点爬取、URL 映射、批处理、结构化提取、摘要、差异比较和品牌信息提取。
- 同时提供 CLI、MCP、REST API,以及 TypeScript、Python 和 Go SDK,便于接入不同工作流。
webclaw-core与网络获取层分离,可作为无网络 I/O 的纯提取组件独立使用。- 支持 Markdown、LLM、文本、JSON 和清理后 HTML,多种输出可对应 RAG、自动化与自定义后处理。
- 受保护网站、JavaScript 渲染、网页搜索、异步研究任务和生产使用跟踪依赖 webclaw.io 托管 API及其密钥。
extract和summarize需要本地或已配置的 LLM,可能还需 Ollama、OpenAI 兼容服务或 Anthropic 兼容服务。- 从源码安装存在原生构建成本,不同系统需要 OpenSSL 开发包、CMake、Clang 和其他编译工具。
- README 没有给出托管 API 的价格、限额或服务级别信息,采用前无法据此评估持续成本和容量。
- 文档只列出 Firecrawl-compatible API 示例,没有证明所有 Firecrawl 行为或接口都能无差异迁移。
如何安装或部署这个 Agent?
最快的 MCP 安装方式是运行 npx create-webclaw;安装器会检测 Claude Code、Claude Desktop、Cursor、Windsurf、OpenCode、Codex CLI 等受支持客户端并写入配置。也可在 macOS 上运行 brew tap 0xMassi/webclaw 和 brew install webclaw,或使用 cargo install --git https://github.com/0xMassi/webclaw.git webclaw-cli 与 cargo install --git https://github.com/0xMassi/webclaw.git webclaw-mcp。容器方式可直接执行 docker run --rm ghcr.io/0xmassi/webclaw https://example.com。使用 Cargo 编译时需要相应平台的原生构建工具;README 列出了 pkg-config、OpenSSL 开发包、CMake、Clang、Git 和编译工具等前置项。核心本地提取不需要账号或 API 密钥;托管能力需要设置 WEBCLAW_API_KEY。
如何使用这个 Agent?
安装 CLI 后,首次验证可运行 webclaw https://example.com --format markdown。需要适合模型的紧凑文本时运行 webclaw https://docs.anthropic.com --format llm;爬取文档站可运行 webclaw https://docs.rust-lang.org --crawl --depth 2 --max-pages 50;仅保留正文时加入 --only-main-content。MCP 客户端也可将命令设为 npx、参数设为 ["-y", "@webclaw/mcp"]。托管模式先运行 export WEBCLAW_API_KEY=wc_your_key,再执行 webclaw https://example.com --cloud。本地 LLM 功能可配置 OLLAMA_HOST,OpenAI 或 Anthropic 兼容提供商可分别配置对应 API key 和 base URL。
这个 Agent 与同类方案有什么区别?
项目将自身定位为 Firecrawl 的替代方案,并提供一个 Firecrawl-compatible API 示例。与纯托管抓取服务相比,它强调 Rust 实现、本地核心提取和自托管能力;但受保护站点、JavaScript 渲染、搜索及研究任务仍需要 webclaw.io。现有材料没有证明其与 Firecrawl 完全等价,因此迁移前应验证实际使用的端点和响应格式。
常见问题
本地使用必须购买或注册账号吗?
WEBCLAW_API_KEY。它能处理 JavaScript 渲染或受机器人保护的网站吗?
结构化提取和摘要是否完全离线?
extract 和 summarize 可使用本地或已配置的 LLM。可配置 Ollama,也可连接 OpenAI 或 Anthropic 兼容提供商;是否完全离线取决于所选提供商。爬虫会跨站点跟随链接吗?
crawl 行为是跟随同源链接。没有材料证明它默认跨域爬取。