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 助手提供了一個強大而靈活的解決方案,特別適合需要基於現有文檔或網站內容創建智能問答系統的場景。