doc-scraper:Go 爬虫,用于为 LLM 构建本地文档上下文
doc-scraper,由Sriram PR开发,收集技术网站文档并为AI辅助工作流程做准备。该应用程序爬取文档网站并提取可读内容,优化用于模型上下文,面向开发者和AI研究人员。它强调干净、可搜索的输出和本地知识库,以便基于编辑的助手可以在构建提示时访问相关参考材料,而无需从嘈杂的网页中提取信息。
将网站 HTML 转换为适合模型上下文的结构化 Markdown
该工具是一个基于 Go 的爬虫,将文档 HTML 转换为结构化 Markdown,去除导航栏、页脚和其他非内容元素。转换保留标题和内联代码,同时减少文本噪音,生成紧凑的语料库文件,通过干净的标题和链接保持导航上下文,以便下游模型工作流更容易检索和参考。
可搜索性和变更检测使语料库对代理可靠
该应用程序嵌入了一个离线 BM25 搜索,通过 SQLite FTS5 实现,允许在没有互联网访问的情况下对爬取的语料库进行本地查询。使用 BadgerDB 和 SQLite 的状态持久性支持可恢复操作和历史索引。内容感知的差异机制识别实际页面更改,而不是仅仅依赖时间戳,这减少了冗余下载,并保持本地语料库专注于实质性编辑。
输入模式和爬取限制定义了其成功之处
doc-scraper 自动检测文档框架,如 Docusaurus、MkDocs、Sphinx、GitBook 和 ReadTheDocs,并在不熟悉的网站上使用基于可读性的提取器。爬取以共享资源管理和内置速率限制并行运行,爬虫遵守 robots.txt,以保持礼貌。这些边界优先提取与开发者相关的内容,同时避免过度的网络负载。
本地 MCP 托管适合以编辑为中心的 AI 工作流和隐私需求
在服务器模式下运行时,该应用程序充当模型上下文协议服务器,以便本地 AI 代理可以在编辑器中读取和搜索文档。本地离线知识库设计使可搜索的文档可供像 Claude Desktop、Claude Code 和 Cursor 这样的代理使用,减少对远程检索的依赖。该工具在 Go 和 AI 开发者社区中因在其他爬虫难以处理的网站上生成干净输出而受到关注。
最适合能够构建和托管本地上下文的技术熟练开发者
doc-scraper 是一个实用的选项,适合需要可验证的本地托管文档作为模型上下文的开发者和研究人员。由于该工具需要使用 Go(版本 1.25 或更高版本)从源代码构建,因此更适合技术能力强的用户;无法编译 Go 项目的团队应预期设置开销。用户在将抓取的段落用作权威模型输入之前,应检查这些段落。