📌 项目地址yusufkaraaslan/Skill_Seekers | ⭐ 13,807 颗星 | 🔧 Python | 📜 MIT

我维护三个内部技术文档站,两个开源项目文档。每个站的结构不一样,有的用Docusaurus,有的用GitBook,还有一个是用Markdown硬写的。

三个月前,我做了件蠢事:为每个文档站单独写爬虫脚本,一套爬虫输出JSON给Claude Skills,另一套输出Markdown给Cursor项目知识库,再写一套给LangChain RAG管线。后来React文档站改了URL结构,三个脚本一起崩。我改了三遍同样的逻辑。

我需要一个预处理层——只做一件事:把任意格式的文档转成结构化数据,不管最终喂给哪个AI。

Skill Seekers 的README第一句就是“AI系统的数据层”。你最终的目标是Claude、Gemini、OpenAI、LangChain、Cursor还是Windsurf,数据准备的步骤完全一样:爬文档、拆块、去格式杂质、打包成结构化的知识资产。它把你的重复工作归一了。

一个命令,三种输入

核心命令只有 create

skill-seekers create https://docs.react.dev/
skill-seekers create facebook/react
skill-seekers create ./my-docs/

接受三种输入:文档网址、GitHub仓库名、本地目录。

我拿React官方文档测了一次,跑完输出一个文件夹,里面是43个JSON文件。每个文件长得都一样:

{
  "content": "React is a JavaScript library for building user interfaces...",
  "metadata": {
    "source_url": "https://react.dev/learn",
    "filename": "home.json",
    "title": "Home"
  }
}

content字段只有纯文本,HTML标签和样式全清掉了。metadata记录来源URL、文件名、标题。所有AI系统都能直接消费这种格式。

YAML配置:你的门槛,也是你的资产

每个文档站有自己的页面结构和CSS选择器。Skill Seekers用YAML定义爬取规则:哪些路径要爬、用什么选择器提取正文、怎么分块。

官网目前有24个预设配置,覆盖React、TensorFlow、PyTorch这类常见项目。如果你的目标文档站正好在列表里,下载配置直接跑。

但目标不在列表里,就得自己写YAML。官网有说明文档教你怎么写。我花了一个半小时看懂格式——这是这个工具目前最陡的学习曲线。

写配置的成本不可忽视。但只付一次。

只要文档站结构不变,配置可以反复用。结构变了,更新YAML就行,不用改代码。你还可以把配置提交到社区仓库——帮别人省时间,别人也可能贡献你需要的配置。维护成本分摊到社区了。

输出标准化的收益

输出JSON的最直接好处:一个文件夹喂给六个AI系统。

我用同一个输出文件夹同时做了三件事:

  • 挂到Claude Skills做问答
  • 放Cursor项目知识库
  • 建了一个简单的LangChain RAG管道

没有改过一行数据格式。content是干净文本,直接切片。metadata有来源URL,方便排查片段来源。什么系统都吃这套结构。

生态里还有5个配套仓库

Skill Seekers不是单打独斗。生态里有六个仓库,各有分工:

仓库 干什么的
Skill_Seekers 核心CLI工具 + MCP服务器,命令行主要用这个
skillseekersweb 官网,24个预设配置下载,支持上传分享你的配置
skill-seekers-configs 社区配置合集,所有人都能提交YAML
skill-seekers-action GitHub Action,文档更新时自动触发预处理
skill-seekers-plugin Claude Code编辑器插件,开发时直接调数据
homebrew-skill-seekers macOS的Homebrew安装包

GitHub Projects上挂着134个公开任务,分10个类别。有不少标记了“good first issue”,适合新人上手。

我最喜欢的用法:GitHub Action

skill-seekers-action 这个配套仓库实用程度很高。

我把它挂在CI里:每次文档站发布新版本,GitHub Action自动触发 skill-seekers create,重新生成结构化资产,然后推送更新。整个过程不需要手动操作。

内部文档每周改一两次。之前每次改完我要手动跑脚本,再手动更新AI知识库。现在配置写好,后面的事全是自动的。

什么情况值得用

1. 文档来源多且格式不统一
内部Wiki、在线文档站、GitHub README、PDF规格书都往一个AI知识库里喂。无论最终目标是什么,爬取、拆块、格式化四步都是绕不过去的。Skill Seekers把这四步统一了。

2. 知识源频繁更新
内部文档每周都改,每次改完都要重新生成AI参考知识。挂一个GitHub Action上去自动触发release,新文档发布几分钟后就能拿到最新的结构化资产。

3. 同时对接2个以上AI平台
团队既用Claude Skills做问答,又用Cursor做代码补全,LangChain RAG管线也在跑。数据源是同一套文档,给每个系统写适配脚本的代价够买一个专业版ChatGPT了。垫一层JSON在中间是最简单的做法。

什么情况别用

1. 只处理一两个PDF或一个小网站
requests + BeautifulSoup 写几十行代码的事,加一个工具反而多一层复杂度。

2. 只有一个知识源
你用LangChain喂一个文档,两行代码搞定了,没必要再经过预处理层。

3. 文档站结构每周改
如果目标网站隔三差五改URL或CSS类名,YAML配置要跟着修。维护频率超过收益范围时,不如自己直接写爬虫。

它的竞争力在哪

Skill Seekers的竞争力不在“能爬文档”,而在“一次配置,所有AI系统都能消费”。MCP协议(Model Context Protocol)让输出格式统一。Claude、Gemini、OpenAI Skills原生支持,LangChain/LlamaIndex可以直接导入,Cursor、Windsurf、Cline这些AI编码工具也用得上。你不需要知道MCP是什么,但你的数据已经标准化了。

没有完美工具。你的文档源多、AI系统多、更新频率高,Skill Seekers的收益明显。只有一两个源,写点代码更快。

==== 实测补充(安装体验)====
pip install skill-seekers 一行装完。没有依赖冲突。第一次跑 create 前记得看官网的预设配置列表,如果你的目标文档站在里面,两分钟能跑通。

YAML配置的学习成本大概一个多小时。如果你熟悉CSS选择器,半小时就够了。

这篇文章对你有帮助吗?

发表回复