>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Rust

如何在仅14MB内存上运行LLM快速网站解析器

fastCRW

上次我尝试在RAG管道中部署本地网页抓取技术栈时,我那台小内存VPS很快就不堪重负了。浏览器引擎、任务队列和重型运行时组合在一起,瞬间吞噬了数GB内存。如果你也尝试过自托管像Firecrawl这样的流行解决方案,你可能还记得那些系统要求。

最近,fastCRW项目引起了我的注意(在仓库中它简称为crw)。作者用Rust重写了熟悉的抓取和爬取功能,将所有功能集成到一个紧凑的二进制文件中。

这个项目能做什么

fastCRW被设计为Firecrawl和Tavily的直接替代品。它通过URL获取网页,并将其转换为干净的Markdown格式供语言模型使用,或输出结构化JSON。

该工具处理四个主要任务:

  1. 抓取(Scrape):将页面转换为Markdown、原始HTML或截图。
  2. 爬取(Crawl):通过内部链接系统地遍历网站页面,同时遵守robots.txt规则。
  3. 映射(Map):构建资源的链接地图,而无需完全加载每个页面。
  4. 搜索(Search):搜索互联网并立即导出结果。

fastCRW benchmarks

根据仓库中的基准测试,在包含一千个地址的公开数据集上,fastCRW展示了良好的加载速度和数据提取完整性,同时空闲状态下二进制文件仅占用约14MB内存。

如何使用

你可以无需注册即可在本地试用该工具,或连接带有免费层级的云后端。

在终端中安装:

curl -fsSL https://fastcrw.com/install | sh

安装后CLI即可使用。一个简单的调用就会将解析后的Markdown直接返回到输出流:

crw https://example.com

集成到代码中

对于开发者,有现成的库可用。以下是Python中数据采集的样子:

from crw import CrwClient

client = CrwClient()
page = client.scrape("https://example.com", formats=["markdown"])

print(page["markdown"])

对于Node.js,语法几乎相同:

import { CrwClient } from "crw-sdk";

const client = new CrwClient();
const page = await client.scrape("https://example.com", {
  formats: ["markdown"],
});

console.log(page.markdown);

通过MCP连接到AI助手

另一个优势是支持Model Context Protocol。这意味着该工具可以快速连接为Claude Desktop、Cursor或任何其他代理的工具。

自动MCP设置的命令:

npx -y crw-mcp@latest install

安装后,模型就能独立搜索网络和读取页面,无需使用外部脚本的变通方案。

部署选项和许可

该项目有两条使用路径。第一条是在你自己的Linux或macOS服务器上运行本地二进制文件。第二条是使用云API,提供现成的大型JavaScript渲染和搜索功能。

如果你计划在生产环境中部署该工具,务必查看许可协议。引擎本身和MCP服务器采用严格的AGPL-3.0许可证分发。Python和TypeScript的客户端库采用熟悉的MIT开源许可。

谁会需要这个

如果你正在构建RAG系统、为模型微调收集数据,或创建自主AI代理,fastCRW是一个极好的选择。该项目消除了仅为从文章和文档中提取纯文本而维护重型浏览器集群的需要。

如果你厌倦了将服务器一半资源分配给重型解析器,试试在本地运行crw——内存消耗的差异从第一秒就能明显感受到。

相关项目