BuilderIO/gpt-crawlerView GitHub Homepage for Latest Official Releases
通过爬取网站生成知识文件,快速创建自定义GPT助手的开源工具
ISCTypeScriptgpt-crawlerBuilderIO 21.8k Last Updated: July 07, 2025
GPT-Crawler 项目详细介绍
项目概述
GPT-Crawler 是由 Builder.io 开发的一个开源项目,旨在通过爬取指定网站来生成知识文件,从而快速创建自定义的 GPT 助手。这个工具只需要提供一个或多个 URL,就能自动抓取网站内容并生成可用于训练自定义 GPT 的数据文件。
核心功能
- 网站内容爬取:自动抓取指定网站的内容
- 知识文件生成:将爬取的内容转换为可用于 GPT 训练的格式
- 灵活配置:支持多种配置选项,包括爬取规则、页面选择器等
- 多种部署方式:支持本地运行、容器化部署和 API 服务器模式
安装与使用
前置要求
- Node.js >= 16
快速开始
git clone https://github.com/builderio/gpt-crawler
npm i
配置文件
在 config.ts
文件中编辑 url
和 selector
属性以满足您的需求。
示例配置:
export const defaultConfig: Config = {
url: "https://www.builder.io/c/docs/developers",
match: "https://www.builder.io/c/docs/**",
selector: `.docs-builder-container`,
maxPagesToCrawl: 50,
outputFileName: "output.json",
};
配置选项详解
type Config = {
/** 开始爬取的URL,如果提供了sitemap,则会使用sitemap并下载其中的所有页面 */
url: string;
/** 用于匹配页面上链接的模式,以便后续爬取 */
match: string;
/** 用于抓取内部文本的选择器 */
selector: string;
/** 不要爬取超过此数量的页面 */
maxPagesToCrawl: number;
/** 完成数据的文件名 */
outputFileName: string;
/** 可选的要排除的资源类型 */
resourceExclusions?: string[];
/** 可选的最大文件大小(兆字节) */
maxFileSize?: number;
/** 可选的最大token数量 */
maxTokens?: number;
};
运行爬虫
npm start
这将生成一个 output.json
文件。
部署选项
容器化部署
进入 containerapp
目录并修改 config.ts
,输出文件将在 data
文件夹中生成。
API 服务器模式
npm run start:server
- 服务器默认运行在端口 3000
- 使用
/crawl
端点进行 POST 请求 - API 文档可在
/api-docs
端点查看(使用 Swagger) - 可以复制
.env.example
为.env
来自定义环境变量
集成 OpenAI
创建自定义 GPT(UI 访问)
- 前往 https://chat.openai.com/
- 点击左下角的用户名
- 在菜单中选择 "My GPTs"
- 选择 "Create a GPT"
- 选择 "Configure"
- 在 "Knowledge" 下选择 "Upload a file" 并上传生成的文件
注意:可能需要付费的 ChatGPT 计划才能创建和使用自定义 GPT
创建助手(API 访问)
- 前往 https://platform.openai.com/assistants
- 点击 "+ Create"
- 选择 "upload" 并上传生成的文件
技术特性
- TypeScript 开发:提供类型安全和更好的开发体验
- Express.js 服务器:提供 RESTful API 接口
- Docker 支持:便于容器化部署
- 灵活的选择器:支持 CSS 选择器来精确定位内容
- 资源过滤:可排除图片、视频等不需要的资源类型
- 大小控制:支持限制文件大小和 token 数量
实际案例
项目作者使用这个工具创建了一个 Builder.io 助手,通过爬取 Builder.io 的文档来回答有关如何使用和集成 Builder.io 的问题。
优势与应用场景
- 快速部署:几分钟内即可创建专业的知识助手
- 成本效益:基于现有文档快速生成 AI 助手
- 定制化强:支持针对特定领域或产品的知识库
- 易于维护:可以定期重新爬取以更新知识库
注意事项
- 确保有权限爬取目标网站
- 文件过大时可能需要分割上传
- 需要考虑网站的爬取频率限制
- 建议先测试小规模爬取以验证配置
总结
GPT-Crawler 为快速创建专业的 AI 助手提供了一个强大而灵活的解决方案,特别适合需要基于现有文档或网站内容创建智能问答系统的场景。