把文档站点和代码仓库变成 AI 的知识资产(Skill_Seekers)

Skill_Seekers 是一个 Python 写的工具,把文档站、GitHub 仓库、PDF、视频等 18 种来源抓成结构化数据,再导出成 Claude 技能、RAG 文档或 IDE 上下文文件。这篇文章梳理它的命令、参数、输出位置、已知坑,以及和同类项目比该在什么情况下选它。

AI 编码助手和 RAG 管道都要一份干净的项目知识,可原始材料散在文档站、GitHub 仓库、PDF 手册和视频里。抓取、清洗、分块这几步,多数团队还是手工在做。

Skill_Seekers 是一个 Python 写的知识资产构建工具,把文档站点、GitHub 仓库、PDF 等 18 种来源抓成结构化数据,再导出为 Claude 技能、RAG 文档或 IDE 上下文文件。

输入既可以是网址,也可以是本地路径:skill-seekers create facebook/react 抓 GitHub 仓库,skill-seekers create manual.pdf 抓 PDF,skill-seekers create ./my-project 抓本地代码库。输出是一份带 SKILL.md 和参考文件的目录,再由 package 命令压成目标平台要的格式。项目以 MIT 许可证开源,主语言是 Python,仓库地址 https://github.com/yusufkaraaslan/Skill_Seekers ,目前 15079 star、1539 fork、47 个开放 Issue。

Skill_Seekers 把多种来源的知识打包成 AI 可读的技能目录

它的设计思路是「准备一次,导出到多个目标」。同一份抓取结果可以打包成 Claude Skill、LangChain Documents、向量库的 upsert 数据,也可以变成 Cursor、Windsurf、Cline 能自动读取的上下文文件。

它解决的是什么问题

没有这类工具时,把一份文档站点喂给 AI 助手要过几道手工工序。先把页面抓下来,去掉导航栏、页脚和广告;再按主题重新组织,因为原始目录顺序未必适合模型阅读;接着按目标平台的分块规则切分,Claude Skill 要 SKILL.md 加参考文件,RAG 要带元数据的 chunk。

换个来源,工序还得重来一遍。GitHub 仓库要先克隆、遍历源码抽 API 签名;PDF 要转文本再清理;视频要找字幕或转写。多个来源讲同一件事时还可能互相矛盾,没有统一的地方记录冲突。

Skill_Seekers 把这些步骤收进一条流水线:create 负责抓取和解析,AI 增强阶段负责补全与整理,package 负责按平台格式导出。项目定位里专门提到自动冲突检测,多来源信息不一致时会在构建阶段被暴露出来。

典型使用场景

  • 给 Claude Code、Cursor 这类编码助手准备项目上下文。开发者指向自己的代码库,或者自己依赖的第三方库的文档站,生成助手能直接读的上下文文件。
  • 维护某个开源库或产品文档的人,把文档站抓成一份可检索的知识资产,同时供 AI 助手和内部搜索使用。
  • 搭 RAG 管道的团队,需要把 PDF 手册、Confluence 空间或 Notion 页面转成带元数据的 chunk,再灌进 Pinecone、Chroma、Weaviate、FAISS、Qdrant 这类向量库。
  • 需要多平台分发同一份知识的团队。材料要同时供 Claude、Gemini、GPT 使用,而导出目标一共有 22 个。

几个常见疑问

抓 JavaScript 单页应用时为什么拿不到内容?

用 requests.get() 直接抓 React、Vue 这类 SPA 站点,拿到的往往是一个空的 HTML 外壳,正文由浏览器端脚本渲染出来。这个现象在仓库 Issue 里有记录(评论 4),对应的需求是无头浏览器兜底,状态标记为已解决。目标站点是 SPA 时,构建前先确认抓取结果里的正文不为空。

除了 Claude,还能导出给别的模型用吗?

可以。Issue 里有人提问能否用于 Gemini(评论 4),状态已解决。README 的增强步骤给出了 --agent kimi 和 --agent-cmd "my-custom-agent run" 两种写法,默认 agent 是 claude。安装时用 pip install skill-seekers[all-llms] 可以一次装齐各 LLM 平台支持。

用 PDF 作为源时报模块找不到的错误是怎么回事?

Issue 里记录过 No module named 'pdf_extractor_poc' 的报错(评论 5,状态已解决)。这类问题通常来自依赖没装全。PDF 抓取属于核心功能,用 pip install skill-seekers 就带上了;如果用了部分 extras 的组合安装,需要确认核心包没有被替换掉。

主要功能

  • 多源抓取:create 命令支持 18 种来源,涵盖 GitHub 仓库、本地代码库、PDF、Word、EPUB、Jupyter Notebook、OpenAPI/Swagger、PowerPoint、AsciiDoc、本地 HTML、RSS/Atom、man page,以及 YouTube、Vimeo 或本地视频。
  • AI 驱动的项目扫描:skill-seekers scan ./my-react-app --out ./configs/scanned/ 让 AI agent 读项目的清单文件、README、Dockerfile/CI 和抽样源码 import,按检测到的框架各生成一份配置,外加一份 <project>-codebase.json。示例输出是 react.json、vite.json、tailwind.json、jest.json、my-react-app-codebase.json。检测不到现成预设时,AI 会现场生成一份新配置,退出时还可以选择把它发布回社区配置仓库。这项能力来自 v3.7.0。
  • 源类型预检:skill-seekers detect https://docs.djangoproject.com/ --json 只判断来源会被识别成什么类型,不生成任何文件,适合在正式抓取前确认判断结果。
  • 打包导出:skill-seekers package output/react --target claude 输出 Claude Skill(ZIP 加 YAML),换成 --target langchain 则输出 LangChain Documents。可选的导出目标共 22 个。
  • AI 增强:抓取结果可以交给 AI agent 补全整理,默认调用 claude,也能换成 --agent kimi,或用 --agent-cmd "my-custom-agent run" 接自己的命令行 agent。
  • MCP server:装上 skill-seekers[mcp] 后可在 Claude Code、Cursor 等客户端里以 MCP 工具形式调用,仓库里带了 .mcp.json 和 example-mcp-config.json。Issue 里提到的 install_skill(从配置到安装的一条龙工具)和 submit_config(提交自定义配置)两个 MCP 工具均已落地。
  • Seeker HUD 与搜索索引:v3.10.0 加入的本地 Web UI,覆盖整条工具链,仓库标注为 beta;同一版本还带来三个机器可读的 CLI 命令、可选的 SQLite 技能搜索索引、MiniMax 视频输入和 PDF 矢量图提取。

安装与最短示例

前置条件是 Python 3.10+ 和 Git。核心安装一条命令:

pip install skill-seekers

按需要叠加 extras,例如 pip install skill-seekers[all-llms] 装齐所有 LLM 平台支持,pip install skill-seekers[mcp] 装 MCP server,pip install skill-seekers[all] 全装。不确定要哪个就跑向导 skill-seekers-setup。

最短的一条完整链路是这样:

skill-seekers create https://docs.djangoproject.com/
skill-seekers package output/django --target claude

跑完会得到 output/django-claude.zip,可以直接用在 Claude 里。

关键参数

--agent 指定做 AI 增强的 agent,默认 claude;--agent-cmd 传入自定义命令,适合把别的命令行 agent 接进来。--target 决定打包成哪个平台的格式,示例里用到 claude 和 langchain。抓取文档站时 --max-pages 控制页面上限,README 的示例写法是 --max-pages 50。

扫描命令用 --out 指定配置输出目录。视频源写 --video-url 加 --name,装完 skill-seekers[video-full] 后再跑 skill-seekers create --setup 自动识别 GPU 并装上匹配的 PyTorch 版本和 easyocr。Confluence 用 --space-key,Notion 用 --database-id,Slack/Discord 导出用 --chat-export-path。

结果在哪里看

命令行构建产出的目录默认落在 output/ 下,例如 output/django,里面的核心文件是 SKILL.md 以及配套的参考文件。打包之后在同一个 output/ 下多出一个压缩包,名字形如 output/django-claude.zip。

scan 命令的结果不写进 output/,而是按 --out 指定的目录生成若干份框架配置文件。抓取阶段的进度和错误直接打在终端上,仓库里没有说明会额外落地日志文件。

实际使用中的坑

抓取 URL 时被追加 /index.html.md 之类的后缀导致 404。有用户反馈工具会去请求并不存在的地址,有时在链接后面补 .md,有时补 index.html。这条 Issue 有 6 条评论,状态已解决。

解析 llms-full 时报 Invalid IPv6 URL,整个 scrape 失败。有用户能稳定复现这个阻塞性错误,Issue 有 5 条评论,状态已解决。

JavaScript SPA 站点返回空内容。上面「常见疑问」里已经展开,对应 Issue 有 4 条评论,状态已解决。如果目标站点是 SPA,构建后最好抽查一次正文是否真的有内容。

官方快速开始文档本身被反馈跑不通。有用户按 BULLETPROOF_QUICKSTART.md 一步步操作,到 STEP5 执行 skill-seekers scrape --help 时出错,Issue 有 6 条评论,状态已解决。文档与 CLI 命令之间的措辞对不上,是这类多版本迭代项目里容易出现的偏差。

和同类的差别在哪

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
Skill_Seekers要给编码助手准备项目上下文、或搭 RAG 管道的开发者与文档维护者pip 安装,仓库提供 Dockerfile 与 docker-compose.yml,另有 MCP server 模式视频源需额外安装 skill-seekers[video];AI 增强默认调用 claude,本机需要有可用的 agent需要覆盖多种来源,并把同一份知识导出到多个平台时Skill_Seekers
Graphify想把代码库结构做成可查询图谱的人未逐一核实未逐一核实只需要把代码库本身变成可查询结构、不需要打包成平台格式时Graphify
Headroom想在本机压缩 AI 上下文、控制 token 开销的人未逐一核实未逐一核实只需要压缩上下文、不需要重新抓取来源时Headroom

只做上下文压缩或只做代码库图谱时,Skill_Seekers 的 18 种源类型和 22 个导出目标反而是多余的配置负担,安装体积和可选出错点都更多。它的价值体现在来源混杂、目标平台不止一个的场景;单一用途下选更专注的工具,链路会短很多。

合规前提

Skill_Seekers 的核心动作是抓取网页与文档站,只应当用于自己拥有的资产,或者已经获得明确授权的目标。抓取第三方站点前先看它的 robots.txt 和服务条款,很多站点明确限制自动化访问频率。

批量抓取会带来限流、封 IP 甚至账号风险,--max-pages 这类参数该设就设。把抓来的内容打包分发,还要注意原始材料的版权与许可,尤其是商业文档和付费内容。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 10.0 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)9.8 / 10
社区响应(权重 15%)10.0 / 10
文档质量(权重 15%)10.0 / 10
发布节奏(权重 10%)10.0 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

把文档站、仓库、PDF、视频抓成 AI 可用知识资产,同类工具不少,但这里把 18 种来源和 22 个导出目标收成一条命令链路,命令、参数、输出位置和已知坑都列得具体,能省掉翻仓库的时间。适合要给编码助手备项目上下文、或搭 RAG 管道的人。仓库指标与焚评分数来自公开披露,未独立验证;文中的坑虽标记已解决,实际行为仍以当前版本为准。

文中的 star、fork、开放 Issue 数、版本号与焚评各维度分数均来自原作者及焚.com 的公开披露,诀.com 未独立验证;命令与参数未做实测,Issue 状态为提交者标记的已解决,实际结果不保证复现。

项目来源与说明

开源项目:yusufkaraaslan(yusufkaraaslan)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库