Claw Web Fetch

🕷️ 网页一键转 Markdown,Agent 知识库利器

将任意网页转换为结构化 Markdown 的轻量级抓取工具,专为知识库索引与 Agent 内容处理设计,支持 GitHub、Reddit 等特定站点优化。

收藏
4.1k
安装
1k
版本
0.1.6
CLS 安全性认证2026-08-04
点击查看完整报告 >

使用说明

核心用法

clawfetch 是一款基于 Node.js 的 Web 抓取 CLI 工具,通过 OpenClaw Skill 封装对外提供服务。其核心功能是将单个网页 URL 转换为规范化 Markdown 格式,并附加结构化元数据头部,便于下游 Agent 或知识库系统直接消费。

典型调用模式:

node node_modules/clawfetch/clawfetch.js <URL> [--max-comments N] [--no-reddit-rss]

三种优化场景:
1. 通用文章/文档:默认启动 headless Chromium(Playwright),经 Readability + Turndown 提取正文,过滤导航、广告等噪音

2. GitHub 仓库:智能识别仓库 URL,优先走 raw.githubusercontent.com 快速通道获取 README 原始内容,失败才回退到浏览器模式

3. Reddit 帖子:默认将帖子 URL 转换为 .rss 格式,以桌面浏览器 UA 抓取 Atom Feed,渲染为「主贴 + 评论」层级结构;支持 --max-comments 限制评论数,或用 --no-reddit-rss 强制浏览器抓取

输出格式包含标准化元数据块:Title、Author、Site、FinalURL、Extraction 策略标识及可选的 FallbackSelector,随后是 --- MARKDOWN --- 分隔的正文。

显著优点

  • 轻量化封装:Skill 本身不内嵌源码,仅作为 npm 包的薄 wrapper,代码量小、可审计性强
  • 依赖隔离:通过 bootstrap_deps.sh 在 Skill 目录本地安装 clawfetch@0.1.6,不污染全局 npm 环境
  • 多源适配:针对主流内容平台(GitHub、Reddit、微信公众号、技术博客)有专门优化路径,输出质量高于通用抓取
  • Agent 友好:输出格式稳定、元数据完整,便于自动解析与向量化入库

潜在缺点与局限性

  • 手动初始化:npm 包不会随 Skill 安装自动部署,需显式执行 bootstrap_deps.sh,增加首次使用门槛
  • 运行时依赖重:底层依赖 Playwright + Chromium,容器需满足 Node、npm 及网络访问条件,资源占用高于纯 HTTP 库方案
  • 版本锁定:Skill 硬编码 clawfetch@0.1.6,无法自动获取上游补丁,需 Skill 作者手动更新
  • Reddit RSS 策略风险:依赖 Reddit 的公开 RSS 接口,若平台限流或变更格式,抓取可能失败
  • 单页限制:仅支持单 URL 抓取,无站点级爬虫、无链接跟随、无增量更新能力

适合人群

  • 需要为 AI Agent 或 RAG 系统构建网页知识库的开发者
  • 希望将分散的技术博客、GitHub README、Reddit 讨论批量转为 Markdown 归档的自动化工作流用户
  • 在受控容器环境(OpenClaw)中运行、能接受手动初始化步骤的技术团队

常规风险

  • 网络可达性:运行期需访问 npm registry 及目标网站,网络策略受限环境可能失败
  • Chromium 启动开销:首次调用或冷启动时可能因浏览器初始化产生延迟(秒级)
  • 内容平台反爬:高频率抓取可能触发 Cloudflare、Reddit 等平台的速率限制或阻断
  • 依赖供应链:通过 npm 引入的 transitive dependencies 存在 supply chain 攻击面(如恶意包、篡改),虽版本锁定降低风险,但仍需信任 clawfetch 作者及其依赖树

安全解读

核心用法

clawfetch 是一个轻量级的网页内容抓取 Skill,作为开源 npm 包 clawfetch 的 OpenClaw 包装器存在。用户需先执行一次引导安装(bootstrap_deps.sh)在本地安装依赖,随后即可通过 CLI 调用实现三类核心抓取场景:通用文章/文档抓取(默认启动 Playwright 无头浏览器,经 Readability + Turndown 提取正文)、GitHub 仓库 README 快速获取(优先走 raw.githubusercontent.com 加速路径)、Reddit 帖文抓取(默认使用 RSS/Atom 解析,可选浏览器模式)。输出为标准 Markdown 格式并附带元数据头部(标题、作者、站点、最终 URL、提取方式等),便于后续索引与知识库建设。

显著优点

架构清晰透明:Skill 本身仅为薄包装层,不内嵌源码,所有重逻辑(Playwright、Readability、Turndown)均来自已发布的 npm 包,行为可预期且易于审计。格式标准化强:输出 Markdown 附带结构化元数据,直接适配 OpenClaw 等 Agent 的知识库摄入流程,无需额外清洗。多场景覆盖:针对博客/文档、GitHub、Reddit 三类高频场景做了针对性优化,Reddit 支持评论层级展开与数量限制。安装隔离:依赖安装在 Skill 目录内,不污染全局 npm 状态,卸载即可清理。

潜在缺点与局限性

引导步骤必需skills install 不会自动执行 bootstrap_deps.sh,Agent 或用户必须显式触发,增加使用门槛。依赖链条繁重:间接依赖 Playwright、jsdom、Readability 等,首次安装体积大(Chromium 约 100MB+),且存在供应链攻击面。T3 来源风险:作者为个人开发者 Ernest Yu,无顶级基金会或企业背书,长期维护与响应速度存在不确定性。输入校验薄弱:当前版本直接将 URL 透传至 CLI,缺乏协议白名单、SSRF 过滤(如 localhost 屏蔽)或域名限制。网络行为宽泛:Playwright 可访问任意用户输入 URL,若用于恶意站点可能触发安全警报或被列入爬虫黑名单。

适合的目标群体

  • Agent 开发者:需要为 RAG 系统快速摄入网页内容的工程团队;
  • 知识库建设者:个人或团队希望自动化归档技术博客、GitHub 项目文档、Reddit 讨论;
  • 内容研究员:需批量抓取并结构化存储网络参考资料的学术或市场分析人员;
  • 受控环境用户:具备 Docker/容器隔离能力、可审查 npm 依赖的安全意识较强者。

使用风险与注意事项

供应链风险:核心功能完全委托给 clawfetch@0.1.6 及其子依赖,建议首次安装后审查 node_modules/clawfetch/ 内容,并关注该包的安全公告。运行时安全:Playwright 启动真实 Chromium 进程访问外部 URL,建议在沙箱/容器环境中运行,限制出站连接,并监控异常网络模式。SSRF 与恶意 URL:当前版本缺乏输入校验,攻击者可能诱导访问内网服务或恶意站点,建议在使用层添加 URL 白名单与协议限制。性能与稳定性:Chromium 下载与启动消耗资源,首次运行延迟较高;大规模抓取需考虑并发控制与目标站点的反爬策略。版本锁定:虽然固定 0.1.6 版本降低了自动更新风险,但也可能错过安全补丁,建议建立定期更新审查机制。

Claw Web Fetch 内容

手动下载zip · 12.8 kB
bootstrap_deps.shtext/x-shellscript
请选择文件