[![MseeP.ai 安全评估徽章](https://mseep.net/pr/yusufkaraaslan-skill-seekers-badge.png)](https://mseep.ai/app/yusufkaraaslan-skill-seekers) # Skill Seeker [English](https://github.com/yusufkaraaslan/Skill_Seekers/blob/main/README.md) | 简体中文 > ⚠️ **机器翻译声明** > > 本文档由 AI 自动翻译生成。虽然我们努力确保翻译质量,但可能存在不准确或不自然的表述。 > > 欢迎通过 [GitHub Issue #260](https://github.com/yusufkaraaslan/Skill_Seekers/issues/260) 帮助改进翻译!您的反馈对我们非常宝贵。 [![版本](https://img.shields.io/badge/version-2.7.4-blue.svg)](https://github.com/yusufkaraaslan/Skill_Seekers/releases/tag/v2.7.4) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![MCP 集成](https://img.shields.io/badge/MCP-Integrated-blue.svg)](https://modelcontextprotocol.io) [![测试通过](https://img.shields.io/badge/Tests-1200+%20Passing-brightgreen.svg)](tests/) [![项目看板](https://img.shields.io/badge/Project-Board-purple.svg)](https://github.com/users/yusufkaraaslan/projects/2) [![PyPI 版本](https://badge.fury.io/py/skill-seekers.svg)](https://pypi.org/project/skill-seekers/) [![PyPI - 下载量](https://img.shields.io/pypi/dm/skill-seekers.svg)](https://pypi.org/project/skill-seekers/) [![PyPI - Python 版本](https://img.shields.io/pypi/pyversions/skill-seekers.svg)](https://pypi.org/project/skill-seekers/) [![官方网站](https://img.shields.io/badge/Website-skillseekersweb.com-blue.svg)](https://skillseekersweb.com/) [![关注 Twitter](https://img.shields.io/twitter/follow/_yUSyUS_?style=social)](https://x.com/_yUSyUS_) [![GitHub Stars](https://img.shields.io/github/stars/yusufkaraaslan/Skill_Seekers?style=social)](https://github.com/yusufkaraaslan/Skill_Seekers) **几分钟内自动将文档网站、GitHub 仓库和 PDF 文件转换为 Claude AI 技能。** > 🌐 **[访问 SkillSeekersWeb.com](https://skillseekersweb.com/)** - 浏览 24+ 个预设配置,分享您的配置,访问完整文档! > 📋 **[查看开发路线图和任务](https://github.com/users/yusufkaraaslan/projects/2)** - 10 个类别的 134 个任务,选择任意一个参与贡献! ## 什么是 Skill Seeker? Skill Seeker 是一个自动化工具,可将文档网站、GitHub 仓库和 PDF 文件转换为生产就绪的 [Claude AI 技能](https://www.anthropic.com/news/skills)。无需手动阅读和总结文档,Skill Seeker 可以: 1. **抓取**多个来源(文档、GitHub 仓库、PDF)的内容 2. **分析**代码仓库,进行深度 AST 解析 3. **检测**文档和代码实现之间的冲突 4. **组织**内容到分类的参考文件中 5. **增强**使用 AI 提取最佳示例和关键概念 6. **打包**所有内容为可上传的 `.zip` 文件供 Claude 使用 **结果**:20-40 分钟内获得任何框架、API 或工具的全面 Claude 技能,而不是数小时的手动工作。 ## 为什么使用 Skill Seeker? - 🎯 **面向开发者**:从文档 + GitHub 仓库创建技能,带冲突检测 - 🎮 **面向游戏开发者**:为游戏引擎生成技能(Godot 文档 + GitHub、Unity 等) - 🔧 **面向团队**:将内部文档 + 代码仓库合并为单一真相来源 - 📚 **面向学习者**:从文档、代码示例和 PDF 构建全面技能 - 🔍 **面向开源项目**:分析仓库以发现文档空白和过时示例 ## 核心功能 ### 🌐 文档抓取 - ✅ **llms.txt 支持** - 自动检测并使用专为 LLM 撰写的 Doc 文档(快 10 倍) - ✅ **通用抓取器** - 适用于任何文档网站 - ✅ **智能分类** - 自动按主题组织内容 - ✅ **代码语言检测** - 识别 Python、JavaScript、C++、GDScript 等 - ✅ **8 个开箱即用的预设 Preset** - Godot、React、Vue、Django、FastAPI 等 ### 📄 PDF 支持 (**v1.2.0**) - ✅ **基础 PDF 提取** - 从 PDF 文件提取文本、代码和图像 - ✅ **扫描 PDF 的 OCR** - 从扫描文档提取文本 - ✅ **密码保护的 PDF** - 处理加密 PDF - ✅ **表格提取** - 从 PDF 提取复杂表格 - ✅ **并行处理** - 大型 PDF 快 3 倍 - ✅ **智能缓存** - 重复运行快 50% ### 🐙 GitHub 仓库分析 (**v2.0.0**) - ✅ **深度代码分析** - 基于 AST(抽象语法树)解析 Python、JavaScript、TypeScript、Java、C++、Go 代码 - ✅ **API 提取** - 提取函数、类、方法及其参数和类型 - ✅ **仓库元数据** - README、文件树、语言分布、星标/fork 数 - ✅ **GitHub Issues 和 PR** - 获取带标签和里程碑的开放/关闭问题 - ✅ **CHANGELOG 和发布** - 自动提取版本历史 - ✅ **冲突检测** - 比较文档 API 与实际代码实现 - ✅ **MCP 集成** - 自然语言:「抓取 GitHub 仓库 facebook/react」 ### 🔄 统一多源抓取 (**全新 - v2.0.0**) - ✅ **组合多个来源** - 在一个技能中混合文档 + GitHub + PDF - ✅ **冲突检测** - 自动发现文档和代码之间的差异 - ✅ **智能合并** - 基于规则或 AI 驱动的冲突解决 - ✅ **透明报告** - 并排比较,带 ⚠️ 警告 - ✅ **文档差距分析** - 识别过时文档和未记录的功能 - ✅ **单一真相来源** - 一个技能同时显示意图(文档)和现实(代码) - ✅ **向后兼容** - 旧版单源配置仍然有效 ### 🤖 多 LLM 平台支持 (**全新 - v2.5.0**) - ✅ **4 个 LLM 平台** - Claude AI、Google Gemini、OpenAI ChatGPT、通用 Markdown - ✅ **通用抓取** - 相同文档适用于所有平台 - ✅ **平台特定打包** - 为每个 LLM 优化的格式 - ✅ **一键导出** - `--target` 标志选择平台 - ✅ **可选依赖** - 只安装您需要的 - ✅ **100% 向后兼容** - 现有 Claude 工作流程不变 | 平台 | 格式 | 上传 | 增强 | API 密钥 | |----------|--------|--------|-------------|---------| | **Claude AI** | ZIP + YAML | ✅ 自动 | ✅ 是 | ANTHROPIC_API_KEY | | **Google Gemini** | tar.gz | ✅ 自动 | ✅ 是 | GOOGLE_API_KEY | | **OpenAI ChatGPT** | ZIP + Vector Store | ✅ 自动 | ✅ 是 | OPENAI_API_KEY | | **通用 Markdown** | ZIP | ❌ 手动 | ❌ 否 | 无 | ```bash # Claude(默认 - 无需更改!) skill-seekers package output/react/ skill-seekers upload react.zip # Google Gemini pip install skill-seekers[gemini] skill-seekers package output/react/ --target gemini skill-seekers upload react-gemini.tar.gz --target gemini # OpenAI ChatGPT pip install skill-seekers[openai] skill-seekers package output/react/ --target openai skill-seekers upload react-openai.zip --target openai # 通用 Markdown(通用导出) skill-seekers package output/react/ --target markdown # 直接在任何 LLM 中使用 markdown 文件 ``` **安装:** ```bash # 安装 Gemini 支持 pip install skill-seekers[gemini] # 安装 OpenAI 支持 pip install skill-seekers[openai] # 安装所有 LLM 平台 pip install skill-seekers[all-llms] ``` ### 🌊 三流 GitHub 架构 (**全新 - v2.6.0**) - ✅ **三流分析** - 将 GitHub 仓库拆分为代码、文档和洞察流 - ✅ **统一代码库分析器** - 同时支持 GitHub URL 和本地路径 - ✅ **C3.x 作为分析深度** - 选择「基本」(1-2 分钟)或「c3x」(20-60 分钟)分析 - ✅ **增强路由生成** - GitHub 元数据、README 快速入门、常见问题 - ✅ **问题集成** - 来自 GitHub 问题的热门问题和解决方案 - ✅ **智能路由关键词** - GitHub 标签权重 2 倍,更好的主题检测 - ✅ **81 个测试通过** - 全面的端到端验证(0.44 秒) **三流解释:** - **流 1:代码** - 深度 C3.x 分析(模式、示例、指南、配置、架构) - **流 2:文档** - 仓库文档(README、CONTRIBUTING、docs/*.md) - **流 3:洞察** - 社区知识(问题、标签、星标、fork) ```python from skill_seekers.cli.unified_codebase_analyzer import UnifiedCodebaseAnalyzer # 使用所有三个流分析 GitHub 仓库 analyzer = UnifiedCodebaseAnalyzer() result = analyzer.analyze( source="https://github.com/facebook/react", depth="c3x", # 或 "basic" 进行快速分析 fetch_github_metadata=True ) # 访问代码流(C3.x 分析) print(f"设计模式: {len(result.code_analysis['c3_1_patterns'])}") print(f"测试示例: {result.code_analysis['c3_2_examples_count']}") # 访问文档流(仓库文档) print(f"README: {result.github_docs['readme'][:100]}") # 访问洞察流(GitHub 元数据) print(f"星标: {result.github_insights['metadata']['stars']}") print(f"常见问题: {len(result.github_insights['common_problems'])}") ``` **查看完整文档**:[三流实现摘要](docs/IMPLEMENTATION_SUMMARY_THREE_STREAM.md) ### 🔐 智能速率限制管理和配置 (**全新 - v2.7.0**) - ✅ **多令牌配置系统** - 管理多个 GitHub 账户(个人、工作、开源) - 安全配置存储在 `~/.config/skill-seekers/config.json`(600 权限) - 每个配置文件的速率限制策略:`prompt`、`wait`、`switch`、`fail` - 每个配置文件可配置超时(默认:30 分钟,防止无限等待) - 智能回退链:CLI 参数 → 环境变量 → 配置文件 → 提示 - Claude、Gemini、OpenAI 的 API 密钥管理 - ✅ **交互式配置向导** - 美观的终端 UI,便于设置 - 浏览器集成用于令牌创建(自动打开 GitHub 等) - 令牌验证和连接测试 - 带颜色编码的可视状态显示 - ✅ **智能速率限制处理器** - 不再无限等待! - 关于速率限制的前期警告(60/小时 vs 5000/小时) - 从 GitHub API 响应实时检测 - 带进度的实时倒计时器 - 速率受限时自动切换配置文件 - 四种策略:prompt(询问)、wait(倒计时)、switch(尝试另一个)、fail(中止) - ✅ **恢复能力** - 继续中断的任务 - 以可配置的间隔自动保存进度(默认:60 秒) - 列出所有可恢复的任务及进度详情 - 自动清理旧任务(默认:7 天) - ✅ **CI/CD 支持** - 用于自动化的非交互模式 - `--non-interactive` 标志快速失败,无提示 - `--profile` 标志选择特定 GitHub 账户 - 清晰的管道日志错误消息 - 自动化集成的退出代码 **快速设置:** ```bash # 一次性配置(5 分钟) skill-seekers config --github # 添加多个 GitHub 配置文件 skill-seekers config # → 选择「1. GitHub Token Setup」 # → 为个人、工作、开源账户添加配置文件 # 为私有仓库使用特定配置文件 skill-seekers github --repo mycompany/private-repo --profile work # CI/CD 模式(快速失败,无提示) skill-seekers github --repo owner/repo --non-interactive # 查看当前配置 skill-seekers config --show # 测试连接 skill-seekers config --test # 恢复中断的任务 skill-seekers resume --list skill-seekers resume github_react_20260117_143022 ``` **速率限制策略解释:** - **prompt**(默认)- 速率受限时询问要做什么(等待、切换、设置令牌、取消) - **wait** - 自动等待倒计时器(遵守超时) - **switch** - 自动尝试下一个可用配置文件(用于多账户设置) - **fail** - 立即失败并显示清晰错误(完美适用于 CI/CD) **查看完整文档**:[配置指南](docs/guides/CONFIGURATION.md)(即将推出) ### 🎯 Bootstrap 技能 - 自托管 (**全新 - v2.7.0**) 将 skill-seekers 生成为 Claude Code 技能,以便在 Claude 中使用: ```bash # 生成技能 ./scripts/bootstrap_skill.sh # 安装到 Claude Code cp -r output/skill-seekers ~/.claude/skills/ # 验证 ls ~/.claude/skills/skill-seekers/SKILL.md ``` **您将获得:** - ✅ **完整的技能文档** - 所有 CLI 命令和使用模式 - ✅ **CLI 命令参考** - 记录的每个工具及其选项 - ✅ **快速入门示例** - 常见工作流程和最佳实践 - ✅ **自动生成的 API 文档** - 代码分析、模式和示例 - ✅ **健壮的验证** - 检查 YAML frontmatter 和必需字段 - ✅ **一键 bootstrap** - 将手动标题与自动生成的分析相结合 **工作原理:** 1. 对 skill-seekers 本身运行代码库分析(dogfooding!) 2. 将手工制作的标题(先决条件、命令)与自动生成的内容相结合 3. 验证 SKILL.md 结构(frontmatter、必需字段) 4. 输出即用型技能目录 **结果:**使用 skill-seekers 在 Claude Code 中创建技能! ### 🔐 私有配置仓库 (**全新 - v2.2.0**) - ✅ **基于 Git 的配置源** - 从私有/团队 git 仓库获取配置 - ✅ **多源管理** - 注册无限的 GitHub、GitLab、Bitbucket 仓库 - ✅ **团队协作** - 在 3-5 人团队之间共享自定义配置 - ✅ **企业支持** - 扩展到 500+ 开发人员,基于优先级的解析 - ✅ **安全认证** - 环境变量令牌(GITHUB_TOKEN、GITLAB_TOKEN) - ✅ **智能缓存** - 克隆一次,自动拉取更新 - ✅ **离线模式** - 离线时使用缓存的配置 - ✅ **向后兼容** - 现有基于 API 的配置仍然有效 ### 🤖 代码库分析和 AI 增强 (**C3.x - 全新!**) **C3.4:配置模式提取与 AI 增强** - ✅ **9 种配置格式** - JSON、YAML、TOML、ENV、INI、Python、JavaScript、Dockerfile、Docker Compose - ✅ **7 种模式类型** - 数据库、API、日志、缓存、电子邮件、身份验证、服务器配置 - ✅ **AI 增强(全新!)** - 可选的双模式 AI 分析(API + LOCAL,如 C3.3) - 解释每个配置的作用 - 建议最佳实践和改进 - **安全分析** - 查找硬编码的秘密、暴露的凭据 - 迁移建议 - 整合机会 - 上下文感知文档 - ✅ **自动文档** - 生成所有配置的 JSON + Markdown 文档 - ✅ **类型推断** - 自动检测设置类型和环境变量 - ✅ **MCP 集成** - 带增强支持的 `extract_config_patterns` 工具 **C3.3:AI 增强的操作指南** - ✅ **全面的 AI 增强** - 将基础指南(⭐⭐)转变为专业教程(⭐⭐⭐⭐⭐) - ✅ **5 项自动改进** - 步骤描述、故障排除、先决条件、后续步骤、用例 - ✅ **双模式支持** - API 模式(Claude API)或 LOCAL 模式(Claude Code CLI) - ✅ **使用 LOCAL 模式无 API 成本** - 使用您的 Claude Code Max 计划免费增强 - ✅ **质量转变** - 75 行模板 → 500+ 行全面指南 **增强内容:** - 🔍 **步骤描述** - 自然语言解释(不仅仅是语法!) - 🔧 **故障排除** - 常见错误的诊断流程 + 解决方案 - 📋 **先决条件** - 为什么需要 + 设置说明 - 🔗 **后续步骤** - 相关指南、变体、学习路径 - 💡 **用例** - 显示何时使用指南的真实场景 **用法:** ```bash # 快速分析(1-2 分钟,基础功能) skill-seekers analyze --directory tests/ --quick # 综合分析(20-60 分钟,所有功能 + AI) skill-seekers analyze --directory tests/ --comprehensive # 启用 AI 增强(自动检测 API 或 LOCAL) skill-seekers analyze --directory tests/ --enhance # 自定义:禁用特定功能 skill-seekers analyze --directory tests/ --skip-how-to-guides ``` **完整文档:**[docs/HOW_TO_GUIDES.md](docs/HOW_TO_GUIDES.md#ai-enhancement-new) ### ⚡ 性能和规模 - ✅ **异步模式** - 使用 async/await 实现 2-3 倍更快的抓取(使用 `--async` 标志) - ✅ **大型文档支持** - 使用智能拆分处理 10K-40K+ 页文档 - ✅ **路由/中心技能** - 智能路由到专门的子技能 - ✅ **并行抓取** - 同时处理多个技能 - ✅ **检查点/恢复** - 长时间抓取时永不丢失进度 - ✅ **缓存系统** - 抓取一次,即时重建 ### ✅ 质量保证 - ✅ **完全测试** - 1200+ 个测试,全面覆盖 --- ## 📦 现已在 PyPI 上提供! **Skill Seekers 现已发布在 Python 包索引上!**一键安装: ```bash pip install skill-seekers ``` ### 安装选项 根据您需要的功能选择安装配置文件: ```bash # 1️⃣ 仅 CLI(技能生成) pip install skill-seekers # 功能: # • 抓取文档网站 # • 分析 GitHub 仓库 # • 从 PDF 提取 # • 为所有平台打包技能 # 2️⃣ MCP 集成(Claude Code、Cursor、Windsurf) pip install skill-seekers[mcp] # 功能: # • 仅 CLI 的所有功能 # • Claude Code 的 MCP 服务器 # • 一键技能安装 # • HTTP/stdio 传输模式 # 3️⃣ 多 LLM 支持(Gemini、OpenAI) pip install skill-seekers[all-llms] # 功能: # • 仅 CLI 的所有功能 # • Google Gemini 支持 # • OpenAI ChatGPT 支持 # • 增强的 AI 功能 # 4️⃣ 全部功能 pip install skill-seekers[all] # 功能: # • 所有功能启用 # • 最大灵活性 ``` **需要帮助选择?**运行设置向导: ```bash skill-seekers-setup ``` 该向导显示所有选项及详细功能列表,并指导您完成配置。 几秒钟即可开始。无需克隆,无需设置 - 只需安装并运行。请参阅下面的安装选项。 --- ## 快速开始 ### 选项 1:从 PyPI 安装(推荐) ```bash # 从 PyPI 安装(最简单的方法!) pip install skill-seekers # 使用统一 CLI skill-seekers scrape --config configs/react.json skill-seekers github --repo facebook/react skill-seekers enhance output/react/ skill-seekers package output/react/ ``` **时间:**约 25 分钟 | **质量:**生产就绪 | **成本:**免费 📖 **Skill Seekers 新手?**查看我们的[快速入门指南](QUICKSTART.md)或[保证指南](BULLETPROOF_QUICKSTART.md) ### 选项 2:通过 uv 安装(现代 Python 工具) ```bash # 使用 uv 安装(快速、现代的替代方案) uv tool install skill-seekers # 或直接运行而不安装 uv tool run --from skill-seekers skill-seekers scrape --config https://raw.githubusercontent.com/yusufkaraaslan/Skill_Seekers/main/configs/react.json # 统一 CLI - 简单命令 skill-seekers scrape --config configs/react.json skill-seekers github --repo facebook/react skill-seekers package output/react/ ``` **时间:**约 25 分钟 | **质量:**生产就绪 | **成本:**免费 ### 选项 3:开发安装(从源代码) ```bash # 克隆并以可编辑模式安装 git clone https://github.com/yusufkaraaslan/Skill_Seekers.git cd Skill_Seekers pip install -e . # 使用统一 CLI skill-seekers scrape --config configs/react.json ``` ### 选项 4:从 Claude Code 和其他 4 个 AI 代理使用(MCP 集成) ```bash # 一次性设置(5 分钟)- 自动配置 5 个 AI 代理! ./setup_mcp.sh # 然后在 Claude Code、Cursor、Windsurf、VS Code + Cline 或 IntelliJ IDEA 中,只需问: "从 https://react.dev/ 生成 React 技能" "抓取 docs/manual.pdf 的 PDF 并创建技能" ``` **时间**:自动化 | **质量**:生产就绪 | **成本**:免费 **v2.4.0 全新:**MCP 服务器现在支持 5 个 AI 编码代理,带自动配置! ### 选项 5:旧版 CLI(向后兼容) ```bash # 安装依赖 pip3 install requests beautifulsoup4 # 直接运行脚本(旧方法) python3 src/skill_seekers/cli/doc_scraper.py --config configs/react.json # 上传 output/react.zip 到 Claude - 完成! ``` **时间**:约 25 分钟 | **质量**:生产就绪 | **成本**:免费 --- ## 🚀 **全新!**一键安装工作流程 (v2.1.1) **从配置到上传技能的最快方式 - 完全自动化:** ```bash # 从官方配置安装 React 技能(自动上传到 Claude) skill-seekers install --config react # 从本地配置文件安装 skill-seekers install --config configs/custom.json # 不上传安装(仅打包) skill-seekers install --config django --no-upload # 无限抓取(无页面限制) skill-seekers install --config godot --unlimited # 预览工作流程而不执行 skill-seekers install --config react --dry-run ``` **时间**:总共 20-45 分钟 | **质量**:生产就绪(9/10)| **成本**:免费 ### 它自动执行的操作: 1. ✅ **获取配置**(如果提供配置名称) 2. ✅ **抓取文档**(遵守速率限制,处理分页) 3. ✅ **AI 增强(强制性)** - 30-60 秒,质量从 3/10 提升到 9/10 4. ✅ **打包技能**为 .zip 文件 5. ✅ **上传到 Claude**(如果设置了 ANTHROPIC_API_KEY) ### 为什么使用这个? - **零摩擦** - 一个命令代替 5 个单独的步骤 - **质量保证** - 增强是强制性的,确保专业输出 - **完全自动化** - 从配置名称到 Claude 中上传的技能 - **节省时间** - 完全自动化的端到端工作流程 ### 执行的阶段: ``` 📥 阶段 1:获取配置(如果提供配置名称) 📖 阶段 2:抓取文档 ✨ 阶段 3:AI 增强(强制性 - 无跳过选项) 📦 阶段 4:打包技能 ☁️ 阶段 5:上传到 Claude(可选,需要 API 密钥) ``` **要求:** - ANTHROPIC_API_KEY 环境变量(用于自动上传) - Claude Code Max 计划(用于本地 AI 增强) **示例:** ```bash # 一次性设置 API 密钥 export ANTHROPIC_API_KEY=sk-ant-your-key-here # 运行一个命令 - 坐下来放松! skill-seekers install --config react # 结果:20-45 分钟内 React 技能上传到 Claude ``` --- ## 📊 功能矩阵 Skill Seekers 支持 **4 个平台**和 **5 种技能模式**,具有完整的功能对等性。 **平台:**Claude AI、Google Gemini、OpenAI ChatGPT、通用 Markdown **技能模式:**文档、GitHub、PDF、统一多源、本地仓库 查看[完整功能矩阵](docs/FEATURE_MATRIX.md)了解详细的平台和功能支持。 ### 快速平台比较 | 功能 | Claude | Gemini | OpenAI | Markdown | |---------|--------|--------|--------|----------| | 格式 | ZIP + YAML | tar.gz | ZIP + Vector | ZIP | | 上传 | ✅ API | ✅ API | ✅ API | ❌ 手动 | | 增强 | ✅ Sonnet 4 | ✅ 2.0 Flash | ✅ GPT-4o | ❌ 无 | | 所有技能模式 | ✅ | ✅ | ✅ | ✅ | **示例:** ```bash # 为所有平台打包(相同技能) skill-seekers package output/react/ --target claude skill-seekers package output/react/ --target gemini skill-seekers package output/react/ --target openai skill-seekers package output/react/ --target markdown # 为特定平台安装 skill-seekers install --config django --target gemini skill-seekers install --config fastapi --target openai ``` --- ## 使用示例 ### 文档抓取 ```bash # 抓取文档网站 skill-seekers scrape --config configs/react.json # 无配置快速抓取 skill-seekers scrape --url https://react.dev --name react # 使用异步模式(快 3 倍) skill-seekers scrape --config configs/godot.json --async --workers 8 ``` ### PDF 提取 ```bash # 基础 PDF 提取 skill-seekers pdf --pdf docs/manual.pdf --name myskill # 高级功能 skill-seekers pdf --pdf docs/manual.pdf --name myskill \ --extract-tables \ # 提取表格 --parallel \ # 快速并行处理 --workers 8 # 使用 8 个 CPU 核心 # 扫描的 PDF(需要:pip install pytesseract Pillow) skill-seekers pdf --pdf docs/scanned.pdf --name myskill --ocr # 密码保护的 PDF skill-seekers pdf --pdf docs/encrypted.pdf --name myskill --password mypassword ``` **时间:**约 5-15 分钟(或使用并行处理 2-5 分钟)| **质量:**生产就绪 | **成本:**免费 ### GitHub 仓库抓取 ```bash # 基础仓库抓取 skill-seekers github --repo facebook/react # 使用配置文件 skill-seekers github --config configs/react_github.json # 使用身份验证(更高速率限制) export GITHUB_TOKEN=ghp_your_token_here skill-seekers github --repo facebook/react # 自定义要包含的内容 skill-seekers github --repo django/django \ --include-issues \ # 提取 GitHub Issues --max-issues 100 \ # 限制问题数量 --include-changelog \ # 提取 CHANGELOG.md --include-releases # 提取 GitHub Releases ``` **时间:**约 5-10 分钟 | **质量:**生产就绪 | **成本:**免费 ### 统一多源抓取 (**全新 - v2.0.0**) **问题:**文档和代码经常分离。文档可能过时,缺少代码中存在的功能,或记录已删除的功能。 **解决方案:**将文档 + GitHub + PDF 组合成一个统一的技能,显示记录的内容和实际存在的内容,并对差异发出明确警告。 ```bash # 使用现有的统一配置 skill-seekers unified --config configs/react_unified.json skill-seekers unified --config configs/django_unified.json # 或创建统一配置(混合文档 + GitHub) cat > configs/myframework_unified.json << 'EOF' { "name": "myframework", "description": "来自文档 + 代码的完整框架知识", "merge_mode": "rule-based", "sources": [ { "type": "documentation", "base_url": "https://docs.myframework.com/", "extract_api": true, "max_pages": 200 }, { "type": "github", "repo": "owner/myframework", "include_code": true, "code_analysis_depth": "surface" } ] } EOF # 运行统一抓取器 skill-seekers unified --config configs/myframework_unified.json # 打包和上传 skill-seekers package output/myframework/ # 上传 output/myframework.zip 到 Claude - 完成! ``` **时间:**约 30-45 分钟 | **质量:**生产就绪,带冲突检测 | **成本:**免费 **特别之处:** ✅ **冲突检测** - 自动发现 4 种差异类型: - 🔴 **代码中缺失**(高):已记录但未实现 - 🟡 **文档中缺失**(中):已实现但未记录 - ⚠️ **签名不匹配**:不同的参数/类型 - ℹ️ **描述不匹配**:不同的解释 ✅ **透明报告** - 并排显示两个版本: ```markdown #### `move_local_x(delta: float)` ⚠️ **冲突**:文档签名与实现不同 **文档说明:** ``` def move_local_x(delta: float) ``` **代码实现:** ```python def move_local_x(delta: float, snap: bool = False) -> None ``` ``` ✅ **优势:** - **识别文档差距** - 自动查找过时或缺失的文档 - **捕获代码更改** - 了解 API 何时更改而文档未更新 - **单一真相来源** - 一个技能显示意图(文档)和现实(代码) - **可操作的见解** - 获得修复每个冲突的建议 - **开发辅助** - 查看代码库中实际存在的内容与记录的内容 **示例统一配置:** - `configs/react_unified.json` - React 文档 + GitHub 仓库 - `configs/django_unified.json` - Django 文档 + GitHub 仓库 - `configs/fastapi_unified.json` - FastAPI 文档 + GitHub 仓库 **完整指南:**请参阅 [docs/UNIFIED_SCRAPING.md](docs/UNIFIED_SCRAPING.md) 获取完整文档。 ### 私有配置仓库 (**全新 - v2.2.0**) **问题:**团队需要共享内部文档的自定义配置,但不想公开发布。 **解决方案:**将私有 git 仓库注册为配置源。从团队仓库获取配置,就像公共 API 一样,完全支持身份验证。 ```bash # 设置:设置您的 GitHub 令牌(一次性) export GITHUB_TOKEN=ghp_your_token_here # 选项 1:使用 MCP 工具(推荐) # 注册您团队的私有仓库 add_config_source( name="team", git_url="https://github.com/mycompany/skill-configs.git", token_env="GITHUB_TOKEN" ) # 从团队仓库获取配置 fetch_config(source="team", config_name="internal-api") # 列出所有注册的源 list_config_sources() # 不再需要时删除源 remove_config_source(name="team") ``` **直接 Git URL 模式**(无需注册): ```bash # 直接从 git URL 获取 fetch_config( git_url="https://github.com/mycompany/configs.git", config_name="react-custom", token="ghp_your_token_here" ) ``` **支持的平台:** - GitHub(令牌环境变量:`GITHUB_TOKEN`) - GitLab(令牌环境变量:`GITLAB_TOKEN`) - Gitea(令牌环境变量:`GITEA_TOKEN`) - Bitbucket(令牌环境变量:`BITBUCKET_TOKEN`) - 任何 git 服务器(令牌环境变量:`GIT_TOKEN`) **用例:** 📋 **小团队(3-5 人)** ```bash # 团队负责人创建仓库 gh repo create myteam/skill-configs --private # 将配置添加到仓库 cd myteam-skill-configs cp ../Skill_Seekers/configs/react.json ./react-custom.json # 为您的内部文档编辑选择器、类别... git add . && git commit -m "Add custom React config" && git push # 团队成员注册(一次性) add_config_source(name="team", git_url="https://github.com/myteam/skill-configs.git") # 每个人现在都可以获取 fetch_config(source="team", config_name="react-custom") ``` 🏢 **企业(500+ 开发人员)** ```bash # IT 为所有人预配置源 add_config_source(name="platform", git_url="gitlab.company.com/platform/configs", priority=1) add_config_source(name="mobile", git_url="gitlab.company.com/mobile/configs", priority=2) add_config_source(name="official", git_url="api.skillseekersweb.com", priority=3) # 开发人员透明使用 fetch_config(config_name="internal-platform") # 在平台源中查找 fetch_config(config_name="react") # 回退到官方 API ``` **存储位置:** - 注册表:`~/.skill-seekers/sources.json` - 缓存:`$SKILL_SEEKERS_CACHE_DIR`(默认:`~/.skill-seekers/cache/`) **功能:** - ✅ **浅克隆** - 快 10-50 倍,最小磁盘空间 - ✅ **自动拉取** - 自动获取最新更改 - ✅ **离线模式** - 离线时使用缓存的仓库 - ✅ **优先级解析** - 具有冲突解决的多个源 - ✅ **安全** - 仅通过环境变量的令牌 **示例团队仓库:** 尝试包含的示例: ```bash # 使用 file:// URL 测试(无需身份验证) cd /path/to/Skill_Seekers # 运行端到端测试 python3 configs/example-team/test_e2e.py # 或手动测试 add_config_source( name="example", git_url="file://$(pwd)/configs/example-team", branch="master" ) fetch_config(source="example", config_name="react-custom") ``` **完整指南:**请参阅 [docs/GIT_CONFIG_SOURCES.md](docs/GIT_CONFIG_SOURCES.md) 获取完整文档。 ## 工作原理 ```mermaid graph LR A[文档网站] --> B[Skill Seeker] B --> C[抓取器] B --> D[AI 增强] B --> E[打包器] C --> F[组织的参考] D --> F F --> E E --> G[Claude 技能 .zip] G --> H[上传到 Claude AI] ``` 0. **检测 llms.txt** - 首先检查 llms-full.txt、llms.txt、llms-small.txt 1. **抓取**:从文档中提取所有页面 2. **分类**:将内容组织到主题中(API、指南、教程等) 3. **增强**:AI 分析文档并创建带示例的全面 SKILL.md 4. **打包**:将所有内容捆绑到 Claude 就绪的 `.zip` 文件中 ## 📋 先决条件 **开始之前,请确保您有:** 1. **Python 3.10 或更高版本** - [下载](https://www.python.org/downloads/) | 检查:`python3 --version` 2. **Git** - [下载](https://git-scm.com/) | 检查:`git --version` 3. **15-30 分钟**用于首次设置 **首次使用?** → **[从这里开始:保证快速入门指南](BULLETPROOF_QUICKSTART.md)** 🎯 本指南逐步引导您完成所有操作(Python 安装、git clone、首次技能创建)。 --- ## 🚀 快速开始 ### 方法 1:5 个 AI 代理的 MCP 服务器(最简单 - **全新 v2.4.0!**) 直接从 **Claude Code、Cursor、Windsurf、VS Code + Cline 或 IntelliJ IDEA** 使用自然语言使用 Skill Seeker! ```bash # 克隆仓库 git clone https://github.com/yusufkaraaslan/Skill_Seekers.git cd Skill_Seekers # 一次性设置(5 分钟)- 自动配置所有 5 个代理! ./setup_mcp.sh # 重启您的 AI 代理,然后只需问: ``` **在 Claude Code、Cursor、Windsurf、VS Code + Cline 或 IntelliJ IDEA 中:** ``` 列出所有可用配置 为 Tailwind 在 https://tailwindcss.com/docs 生成配置 使用 configs/react.json 抓取文档 在 output/react/ 打包技能 ``` **优势:** - ✅ 无需手动 CLI 命令 - ✅ 自然语言界面 - ✅ 与您的工作流程集成 - ✅ **18 个工具**即时可用(从 9 个增加!) - ✅ **支持 5 个 AI 代理** - 一个命令自动配置 - ✅ **经测试并在生产中工作** **v2.4.0 全新:** - ✅ **升级到 MCP SDK v1.25.0** - 最新功能和性能 - ✅ **FastMCP 框架** - 现代、可维护的 MCP 实现 - ✅ **HTTP + stdio 传输** - 适用于更多 AI 代理 - ✅ **18 个工具**(从 9 个增加)- 更多功能 - ✅ **多代理自动配置** - 一个命令设置所有代理 **完整指南:** - 📘 [MCP 设置指南](docs/MCP_SETUP.md) - 完整安装说明 - 🧪 [MCP 测试指南](docs/TEST_MCP_IN_CLAUDE_CODE.md) - 测试所有 18 个工具 - 📦 [大型文档指南](docs/LARGE_DOCUMENTATION.md) - 处理 10K-40K+ 页 - 📤 [上传指南](docs/UPLOAD_GUIDE.md) - 如何上传技能到 Claude ### 方法 2:CLI(传统) #### 一次性设置:创建虚拟环境 ```bash # 克隆仓库 git clone https://github.com/yusufkaraaslan/Skill_Seekers.git cd Skill_Seekers # 创建虚拟环境 python3 -m venv venv # 激活虚拟环境 source venv/bin/activate # macOS/Linux # 或在 Windows 上:venv\Scripts\activate # 安装依赖 pip install requests beautifulsoup4 pytest # 保存依赖 pip freeze > requirements.txt # 可选:安装 anthropic 用于基于 API 的增强(LOCAL 增强不需要) # pip install anthropic ``` **在使用 Skill Seeker 之前始终激活虚拟环境:** ```bash source venv/bin/activate # 每次启动新终端会话时运行此命令 ``` #### 最简单:使用预设 ```bash # 确保 venv 已激活(您应该在提示中看到 (venv)) source venv/bin/activate # 可选:首先估计页面(快速,1-2 分钟) skill-seekers estimate configs/godot.json # 使用 Godot 预设 skill-seekers scrape --config configs/godot.json # 使用 React 预设 skill-seekers scrape --config configs/react.json # 查看所有预设 ls configs/ ``` ### 交互模式 ```bash skill-seekers scrape --interactive ``` ### 快速模式 ```bash skill-seekers scrape \ --name react \ --url https://react.dev/ \ --description "用于 UI 的 React 框架" ``` ## 📤 上传技能到 Claude 打包技能后,您需要将其上传到 Claude: ### 选项 1:自动上传(基于 API) ```bash # 设置您的 API 密钥(一次性) export ANTHROPIC_API_KEY=sk-ant-... # 或使用兼容 Claude 的 API 端点(如 GLM-4.7 智谱 AI) # export ANTHROPIC_API_KEY=your-api-key # export ANTHROPIC_BASE_URL=https://your-compatible-endpoint.com/v1 # 自动打包和上传 skill-seekers package output/react/ --upload # 或上传现有的 .zip skill-seekers upload output/react.zip ``` **优势:** - ✅ 完全自动 - ✅ 无需手动步骤 - ✅ 从命令行工作 **要求:** - Anthropic API 密钥(从 https://console.anthropic.com/ 获取) ### 选项 2:手动上传(无需 API 密钥) ```bash # 打包技能 skill-seekers package output/react/ # 这将: # 1. 创建 output/react.zip # 2. 自动打开 output/ 文件夹 # 3. 显示上传说明 # 然后手动上传: # - 转到 https://claude.ai/skills # - 点击「上传技能」 # - 选择 output/react.zip # - 完成! ``` **优势:** - ✅ 无需 API 密钥 - ✅ 适用于所有人 - ✅ 文件夹自动打开 ### 选项 3:Claude Code(MCP)- 智能且自动 ``` 在 Claude Code 中,只需问: "打包并上传 React 技能" # 如果设置了 API 密钥: # - 打包技能 # - 自动上传到 Claude # - 完成!✅ # 没有 API 密钥: # - 打包技能 # - 显示 .zip 的位置 # - 提供手动上传说明 ``` **优势:** - ✅ 自然语言 - ✅ 智能自动检测(如果有 API 密钥则上传) - ✅ 有或没有 API 密钥都可以工作 - ✅ 无错误或失败 --- ## 🤖 安装到 AI 代理 Skill Seekers 可以自动将技能安装到 10+ 个 AI 编码代理。 ### 快速开始 ```bash # 安装到特定代理 skill-seekers install-agent output/react/ --agent cursor # 一次性安装到所有代理 skill-seekers install-agent output/react/ --agent all # 覆盖现有安装 skill-seekers install-agent output/react/ --agent claude --force # 预览而不安装 skill-seekers install-agent output/react/ --agent cursor --dry-run ``` ### 支持的代理 | 代理 | 路径 | 类型 | |-------|------|------| | **Claude Code** | `~/.claude/skills/` | 全局 | | **Cursor** | `.cursor/skills/` | 项目 | | **VS Code / Copilot** | `.github/skills/` | 项目 | | **Amp** | `~/.amp/skills/` | 全局 | | **Goose** | `~/.config/goose/skills/` | 全局 | | **OpenCode** | `~/.opencode/skills/` | 全局 | | **Letta** | `~/.letta/skills/` | 全局 | | **Aide** | `~/.aide/skills/` | 全局 | | **Windsurf** | `~/.windsurf/skills/` | 全局 | | **Neovate Code** | `~/.neovate/skills/` | 全局 | **全局路径**安装到用户的主目录(~/)。 **项目路径**安装到当前项目的根目录。 ### 完整工作流程 ```bash # 1. 抓取文档 skill-seekers scrape --config configs/react.json --enhance-local # 2. 打包技能 skill-seekers package output/react/ # 3. 安装到您的代理 skill-seekers install-agent output/react/ --agent cursor # 4. 重启 Cursor 以加载技能 ``` --- ## 🤖 多代理 MCP 支持(v2.4.0 全新) **Skill Seekers MCP 服务器现在适用于 5 个领先的 AI 编码代理!** ### 支持的 AI 代理 | 代理 | 传输 | 设置难度 | 自动配置 | |-------|-----------|------------------|-----------------| | **Claude Code** | stdio | 简单 | ✅ 是 | | **VS Code + Cline** | stdio | 简单 | ✅ 是 | | **Cursor** | HTTP | 中等 | ✅ 是 | | **Windsurf** | HTTP | 中等 | ✅ 是 | | **IntelliJ IDEA** | HTTP | 中等 | ✅ 是 | ### 快速设置 - 一次性设置所有代理 ```bash # 克隆仓库 git clone https://github.com/yusufkaraaslan/Skill_Seekers.git cd Skill_Seekers # 运行一个命令 - 自动配置所有 5 个代理! ./setup_mcp.sh # 重启您的 AI 代理并开始使用自然语言: "列出所有可用配置" "从 https://react.dev/ 生成 React 技能" "在 output/react/ 打包技能" ``` **`setup_mcp.sh` 的功能:** 1. ✅ 安装 MCP 服务器依赖 2. ✅ 配置 Claude Code(stdio 传输) 3. ✅ 配置 VS Code + Cline(stdio 传输) 4. ✅ 配置 Cursor(HTTP 传输) 5. ✅ 配置 Windsurf(HTTP 传输) 6. ✅ 配置 IntelliJ IDEA(HTTP 传输) 7. ✅ 显示每个代理的后续步骤 **时间:**5 分钟 | **结果:**所有代理已配置并准备使用 ### 传输模式 Skill Seekers MCP 服务器支持 2 种传输模式: #### stdio 传输(Claude Code、VS Code + Cline) **工作原理:**代理将 MCP 服务器作为子进程启动,并通过 stdin/stdout 通信 **优势:** - ✅ 更安全(无网络端口) - ✅ 自动生命周期管理 - ✅ 更简单的配置 - ✅ 更适合单用户开发 **配置示例(Claude Code):** ```json { "mcpServers": { "skill-seeker": { "command": "python3", "args": ["-m", "skill_seekers.mcp.server_fastmcp"], "cwd": "/path/to/Skill_Seekers" } } } ``` #### HTTP 传输(Cursor、Windsurf、IntelliJ IDEA) **工作原理:**MCP 服务器作为 HTTP 服务运行,代理作为客户端连接 **优势:** - ✅ 多代理支持(一个服务器,多个客户端) - ✅ 服务器可以独立运行 - ✅ 更适合团队协作 - ✅ 更容易调试和监控 **配置示例(Cursor):** ```json { "mcpServers": { "skill-seeker": { "url": "http://localhost:8765/sse" } } } ``` **启动 HTTP 服务器:** ```bash # 手动启动服务器(在后台运行) cd /path/to/Skill_Seekers python3 -m skill_seekers.mcp.server_fastmcp --transport http --port 8765 # 或使用自动启动脚本 ./scripts/start_mcp_server.sh ``` ### 代理特定说明 #### Claude Code(stdio) ```bash # setup_mcp.sh 已配置! # 只需重启 Claude Code # 配置位置:~/.claude/claude_code_config.json ``` **用法:** ``` 在 Claude Code 中: "列出所有可用配置" "抓取 React 文档在 https://react.dev/" ``` #### VS Code + Cline 扩展(stdio) ```bash # setup_mcp.sh 已配置! # 只需重启 VS Code # 配置位置:~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ``` **用法:** ``` 在 Cline 中: "为 Tailwind 生成配置" "在 output/tailwind/ 打包技能" ``` #### Cursor(HTTP) ```bash # 1. 设置已配置 HTTP 设置 # 配置位置:~/.cursor/mcp_settings.json # 2. 启动 HTTP 服务器(每个会话一次) ./scripts/start_mcp_server.sh # 3. 重启 Cursor ``` **用法:** ``` 在 Cursor 中: "显示所有 skill-seeker 配置" "从文档创建 Django 技能" ``` #### Windsurf(HTTP) ```bash # 1. 设置已配置 HTTP 设置 # 配置位置:~/.windsurf/mcp_settings.json # 2. 启动 HTTP 服务器(每个会话一次) ./scripts/start_mcp_server.sh # 3. 重启 Windsurf ``` **用法:** ``` 在 Windsurf 中: "估计 Godot 配置的页数" "为 FastAPI 构建统一技能" ``` #### IntelliJ IDEA(HTTP) ```bash # 1. 设置已配置 HTTP 设置 # 配置位置:~/.intellij/mcp_settings.json # 2. 启动 HTTP 服务器(每个会话一次) ./scripts/start_mcp_server.sh # 3. 重启 IntelliJ IDEA ``` **用法:** ``` 在 IntelliJ IDEA 中: "验证我的配置文件" "拆分大型 Godot 配置" ``` ### 可用的 MCP 工具(共 18 个) 所有代理都可以访问这 18 个工具: **核心工具(9 个):** 1. `list_configs` - 列出所有可用的预设配置 2. `generate_config` - 为任何文档站点生成新配置 3. `validate_config` - 验证配置结构 4. `estimate_pages` - 抓取前估计页数 5. `scrape_docs` - 抓取并构建技能 6. `package_skill` - 将技能打包成 .zip 7. `upload_skill` - 上传 .zip 到 Claude 8. `split_config` - 拆分大型文档配置 9. `generate_router` - 生成路由/中心技能 **扩展工具(8 个 - 全新!):** 10. `scrape_github` - 抓取 GitHub 仓库 11. `scrape_pdf` - 从 PDF 提取内容 12. `unified_scrape` - 组合多个来源 13. `merge_sources` - 合并文档 + 代码 14. `detect_conflicts` - 查找文档/代码差异 15. `add_config_source` - 注册私有 git 仓库 16. `fetch_config` - 从 git 获取配置 17. `list_config_sources` - 列出注册的源 ### v2.4.0 的新功能 **MCP 基础设施:** - ✅ **升级到 MCP SDK v1.25.0** - 最新稳定版本 - ✅ **FastMCP 框架** - 现代、可维护的实现 - ✅ **双传输** - stdio + HTTP 支持 - ✅ **18 个工具** - 从 9 个增加(正好 2 倍!) - ✅ **自动配置** - 一个脚本配置所有代理 **代理支持:** - ✅ **支持 5 个代理** - Claude Code、VS Code + Cline、Cursor、Windsurf、IntelliJ IDEA - ✅ **自动设置** - `./setup_mcp.sh` 配置一切 - ✅ **传输检测** - 每个代理自动选择 stdio vs HTTP - ✅ **配置管理** - 处理所有代理特定的配置格式 **开发者体验:** - ✅ **一个设置命令** - 适用于所有代理 - ✅ **自然语言** - 在任何代理中使用简单英语 - ✅ **无需 CLI** - 通过 MCP 工具的所有功能 - ✅ **全面测试** - 所有 18 个工具已测试并工作 ### 多代理设置故障排除 **HTTP 服务器无法启动?** ```bash # 检查端口 8765 是否正在使用 lsof -i :8765 # 使用不同的端口 python3 -m skill_seekers.mcp.server_fastmcp --transport http --port 9000 # 使用新端口更新代理配置 ``` **代理找不到 MCP 服务器?** ```bash # 验证配置文件是否存在 cat ~/.claude/claude_code_config.json cat ~/.cursor/mcp_settings.json # 重新运行设置 ./setup_mcp.sh # 检查服务器日志 tail -f logs/mcp_server.log ``` **工具未出现在代理中?** ```bash # 完全重启代理(退出并重新启动) # 对于 HTTP 传输,确保服务器正在运行: ps aux | grep "skill_seekers.mcp.server_fastmcp" # 直接测试服务器 curl http://localhost:8765/health ``` ### 完整的多代理工作流程 ```bash # 1. 一次性设置(5 分钟) git clone https://github.com/yusufkaraaslan/Skill_Seekers.git cd Skill_Seekers ./setup_mcp.sh # 2. 对于 HTTP 代理(Cursor/Windsurf/IntelliJ),启动服务器 ./scripts/start_mcp_server.sh # 3. 重启您的 AI 代理 # 4. 在任何代理中使用自然语言: "列出所有可用配置" "从 https://react.dev/ 生成 React 技能" "估计 Godot 配置的页数" "在 output/react/ 打包并上传技能" # 5. 结果:无需触摸 CLI 即可创建技能! ``` **完整指南:**请参阅 [docs/MCP_SETUP.md](docs/MCP_SETUP.md) 获取详细的多代理设置说明。 --- ## 📁 简单结构 ``` doc-to-skill/ ├── cli/ │ ├── doc_scraper.py # 主抓取工具 │ ├── package_skill.py # 打包到 .zip │ ├── upload_skill.py # 自动上传(API) │ └── enhance_skill.py # AI 增强 ├── mcp/ # 5 个 AI 代理的 MCP 服务器 │ └── server.py # 18 个 MCP 工具(v2.7.0) ├── configs/ # 预设配置 │ ├── godot.json # Godot 引擎 │ ├── react.json # React │ ├── vue.json # Vue.js │ ├── django.json # Django │ └── fastapi.json # FastAPI └── output/ # 所有输出(自动创建) ├── godot_data/ # 抓取的数据 ├── godot/ # 构建的技能 └── godot.zip # 打包的技能 ``` ## ✨ 功能 ### 1. 快速页面估计(全新!) ```bash skill-seekers estimate configs/react.json # 输出: 📊 估计结果 ✅ 发现页面:180 📈 估计总数:230 ⏱️ 经过时间:1.2 分钟 💡 推荐的 max_pages:280 ``` **优势:** - 抓取之前知道页面数量(节省时间) - 验证 URL 模式是否正确工作 - 估计总抓取时间 - 推荐最佳 `max_pages` 设置 - 快速(1-2 分钟 vs 20-40 分钟完整抓取) ### 2. 自动检测现有数据 ```bash skill-seekers scrape --config configs/godot.json # 如果数据存在: ✓ 找到现有数据:245 页 使用现有数据?(y/n): y ⏭️ 跳过抓取,使用现有数据 ``` ### 3. 知识生成 **自动模式提取:** - 从文档中提取常见代码模式 - 检测编程语言 - 创建带真实示例的快速参考 - 使用评分进行更智能的分类 **增强的 SKILL.md:** - 来自文档的真实代码示例 - 语言注释的代码块 - 常见模式部分 - 来自实际使用示例的快速参考 ### 4. 智能分类 自动从以下推断类别: - URL 结构 - 页面标题 - 内容关键词 - 使用评分以获得更好的准确性 ### 5. 代码语言检测 ```python # 自动检测: - Python(def、import、from) - JavaScript(const、let、=>) - GDScript(func、var、extends) - C++(#include、int main) - 等等... ``` ### 5. 跳过抓取 ```bash # 抓取一次 skill-seekers scrape --config configs/react.json # 稍后,只需重建(即时) skill-seekers scrape --config configs/react.json --skip-scrape ``` ### 6. 用于更快抓取的异步模式(2-3 倍速度!) ```bash # 启用 8 个工作线程的异步模式(推荐用于大型文档) skill-seekers scrape --config configs/react.json --async --workers 8 # 小型文档(约 100-500 页) skill-seekers scrape --config configs/mydocs.json --async --workers 4 # 无速率限制的大型文档(2000+ 页) skill-seekers scrape --config configs/largedocs.json --async --workers 8 --no-rate-limit ``` **性能比较:** - **同步模式(线程):**约 18 页/秒,120 MB 内存 - **异步模式:**约 55 页/秒,40 MB 内存 - **结果:**快 3 倍,内存少 66%! **何时使用:** - ✅ 大型文档(500+ 页) - ✅ 网络延迟高 - ✅ 内存受限 - ❌ 小型文档(< 100 页)- 开销不值得 **查看完整指南:**[ASYNC_SUPPORT.md](ASYNC_SUPPORT.md) ### 7. AI 驱动的 SKILL.md 增强 ```bash # 选项 1:抓取期间(基于 API,需要 API 密钥) pip3 install anthropic export ANTHROPIC_API_KEY=sk-ant-... # 或使用兼容 Claude 的 API(如 GLM-4.7 智谱 AI): # export ANTHROPIC_BASE_URL=https://your-endpoint.com/v1 skill-seekers scrape --config configs/react.json --enhance # 选项 2:抓取期间(LOCAL,无需 API 密钥 - 使用 Claude Code Max) skill-seekers scrape --config configs/react.json --enhance-local # 选项 3:抓取后(基于 API,独立) skill-seekers enhance output/react/ # 选项 4:抓取后(LOCAL,无需 API 密钥,独立) skill-seekers enhance output/react/ ``` **它的功能:** - 读取您的参考文档 - 使用 Claude 生成出色的 SKILL.md - 提取最佳代码示例(5-10 个实用示例) - 创建全面的快速参考 - 添加特定领域的关键概念 - 为不同技能级别提供导航指导 - 自动备份原始文件 - **质量:**将 75 行模板转变为 500+ 行全面指南 **LOCAL 增强(推荐):** - 使用您的 Claude Code Max 计划(无 API 成本) - 使用 Claude Code 打开新终端 - 自动分析参考文件 - 需要 30-60 秒 - 质量:9/10(与 API 版本相当) ### 7. 大型文档支持(10K-40K+ 页) **对于像 Godot(40K 页)、AWS 或 Microsoft Docs 这样的海量文档站点:** ```bash # 1. 首先估计(发现页面数量) skill-seekers estimate configs/godot.json # 2. 自动拆分为专注的子技能 python3 -m skill_seekers.cli.split_config configs/godot.json --strategy router # 创建: # - godot-scripting.json(5K 页) # - godot-2d.json(8K 页) # - godot-3d.json(10K 页) # - godot-physics.json(6K 页) # - godot-shaders.json(11K 页) # 3. 并行抓取所有内容(4-8 小时而不是 20-40!) for config in configs/godot-*.json; do skill-seekers scrape --config $config & done wait # 4. 生成智能路由/中心技能 python3 -m skill_seekers.cli.generate_router configs/godot-*.json # 5. 打包所有技能 python3 -m skill_seekers.cli.package_multi output/godot*/ # 6. 将所有 .zip 文件上传到 Claude # 用户只需自然提问! # 路由器自动引导到正确的子技能! ``` **拆分策略:** - **auto** - 根据页面数量智能检测最佳策略 - **category** - 按文档类别拆分(脚本、2d、3d 等) - **router** - 创建中心技能 + 专门的子技能(推荐) - **size** - 每 N 页拆分(用于没有明确类别的文档) **优势:** - ✅ 更快的抓取(并行执行) - ✅ 更专注的技能(更好的 Claude 性能) - ✅ 更容易维护(一次更新一个主题) - ✅ 自然的用户体验(路由器处理路由) - ✅ 避免上下文窗口限制 **配置:** ```json { "name": "godot", "max_pages": 40000, "split_strategy": "router", "split_config": { "target_pages_per_skill": 5000, "create_router": true, "split_by_categories": ["scripting", "2d", "3d", "physics"] } } ``` **完整指南:**[大型文档指南](docs/LARGE_DOCUMENTATION.md) ### 8. 长时间抓取的检查点/恢复 **长时间运行抓取时永不丢失进度:** ```bash # 在配置中启用 { "checkpoint": { "enabled": true, "interval": 1000 // 每 1000 页保存 } } # 如果抓取被中断(Ctrl+C 或崩溃) skill-seekers scrape --config configs/godot.json --resume # 从上次检查点恢复 ✅ 从检查点恢复(已抓取 12,450 页) ⏭️ 跳过 12,450 个已抓取的页面 🔄 从我们离开的地方继续... # 重新开始(清除检查点) skill-seekers scrape --config configs/godot.json --fresh ``` **优势:** - ✅ 每 1000 页自动保存(可配置) - ✅ 中断时保存(Ctrl+C) - ✅ 使用 `--resume` 标志恢复 - ✅ 永不丢失数小时的抓取进度 ## 🎯 完整工作流程 ### 首次(使用抓取 + 增强) ```bash # 1. 抓取 + 构建 + AI 增强(LOCAL,无需 API 密钥) skill-seekers scrape --config configs/godot.json --enhance-local # 2. 等待新终端关闭(增强完成) # 检查增强的 SKILL.md: cat output/godot/SKILL.md # 3. 打包 skill-seekers package output/godot/ # 4. 完成!您有带出色 SKILL.md 的 godot.zip ``` **时间:**20-40 分钟(抓取)+ 60 秒(增强)= 约 21-41 分钟 ### 使用现有数据(快速!) ```bash # 1. 使用缓存数据 + 本地增强 skill-seekers scrape --config configs/godot.json --skip-scrape skill-seekers enhance output/godot/ # 2. 打包 skill-seekers package output/godot/ # 3. 完成! ``` **时间:**1-3 分钟(构建)+ 60 秒(增强)= 约 2-4 分钟总计 ### 无增强(基础) ```bash # 1. 抓取 + 构建(无增强) skill-seekers scrape --config configs/godot.json # 2. 打包 skill-seekers package output/godot/ # 3. 完成!(SKILL.md 将是基础模板) ``` **时间:**20-40 分钟 **注意:**SKILL.md 将是通用的 - 强烈建议增强! ## 📋 可用预设 | 配置 | 框架 | 描述 | |--------|-----------|-------------| | `godot.json` | Godot 引擎 | 游戏开发 | | `react.json` | React | UI 框架 | | `vue.json` | Vue.js | 渐进式框架 | | `django.json` | Django | Python web 框架 | | `fastapi.json` | FastAPI | 现代 Python API | | `ansible-core.json` | Ansible Core 2.19 | 自动化和配置 | ### 使用预设 ```bash # Godot skill-seekers scrape --config configs/godot.json # React skill-seekers scrape --config configs/react.json # Vue skill-seekers scrape --config configs/vue.json # Django skill-seekers scrape --config configs/django.json # FastAPI skill-seekers scrape --config configs/fastapi.json # Ansible skill-seekers scrape --config configs/ansible-core.json ``` ## 🎨 创建您自己的配置 ### 选项 1:交互式 ```bash skill-seekers scrape --interactive # 按照提示,它将为您创建配置 ``` ### 选项 2:复制和编辑 ```bash # 复制预设 cp configs/react.json configs/myframework.json # 编辑它 nano configs/myframework.json # 使用它 skill-seekers scrape --config configs/myframework.json ``` ### 配置结构 ```json { "name": "myframework", "description": "何时使用此技能", "base_url": "https://docs.myframework.com/", "selectors": { "main_content": "article", "title": "h1", "code_blocks": "pre code" }, "url_patterns": { "include": ["/docs", "/guide"], "exclude": ["/blog", "/about"] }, "categories": { "getting_started": ["intro", "quickstart"], "api": ["api", "reference"] }, "rate_limit": 0.5, "max_pages": 500 } ``` ## 📊 创建的内容 ``` output/ ├── godot_data/ # 抓取的原始数据 │ ├── pages/ # JSON 文件(每页一个) │ └── summary.json # 概述 │ └── godot/ # 技能 ├── SKILL.md # 用真实示例增强 ├── references/ # 分类文档 │ ├── index.md │ ├── getting_started.md │ ├── scripting.md │ └── ... ├── scripts/ # 空(添加您自己的) └── assets/ # 空(添加您自己的) ``` ## 🎯 命令行选项 ```bash # 交互模式 skill-seekers scrape --interactive # 使用配置文件 skill-seekers scrape --config configs/godot.json # 快速模式 skill-seekers scrape --name react --url https://react.dev/ # 跳过抓取(使用现有数据) skill-seekers scrape --config configs/godot.json --skip-scrape # 带描述 skill-seekers scrape \ --name react \ --url https://react.dev/ \ --description "用于构建 UI 的 React 框架" ``` ## 💡 提示 ### 1. 先测试小规模 在配置中编辑 `max_pages` 以测试: ```json { "max_pages": 20 // 仅测试 20 页 } ``` ### 2. 重用抓取的数据 ```bash # 抓取一次 skill-seekers scrape --config configs/react.json # 多次重建(即时) skill-seekers scrape --config configs/react.json --skip-scrape skill-seekers scrape --config configs/react.json --skip-scrape ``` ### 3. 查找选择器 ```python # 在 Python 中测试 from bs4 import BeautifulSoup import requests url = "https://docs.example.com/page" soup = BeautifulSoup(requests.get(url).content, 'html.parser') # 尝试不同的选择器 print(soup.select_one('article')) print(soup.select_one('main')) print(soup.select_one('div[role="main"]')) ``` ### 4. 检查输出质量 ```bash # 构建后,检查: cat output/godot/SKILL.md # 应该有真实示例 cat output/godot/references/index.md # 类别 ``` ## 🐛 故障排除 ### 未提取内容? - 检查您的 `main_content` 选择器 - 尝试:`article`、`main`、`div[role="main"]` ### 数据存在但不使用它? ```bash # 强制重新抓取 rm -rf output/myframework_data/ skill-seekers scrape --config configs/myframework.json ``` ### 类别不好? 使用更好的关键词编辑配置 `categories` 部分。 ### 想要更新文档? ```bash # 删除旧数据 rm -rf output/godot_data/ # 重新抓取 skill-seekers scrape --config configs/godot.json ``` ## 📈 性能 | 任务 | 时间 | 注释 | |------|------|-------| | 抓取(同步)| 15-45 分钟 | 仅首次,基于线程 | | 抓取(异步)| 5-15 分钟 | 使用 --async 标志快 2-3 倍 | | 构建 | 1-3 分钟 | 快速!| | 重建 | <1 分钟 | 使用 --skip-scrape | | 打包 | 5-10 秒 | 最终 zip | ## ✅ 总结 **一个工具完成所有工作:** 1. ✅ 抓取文档 2. ✅ 自动检测现有数据 3. ✅ 生成更好的知识 4. ✅ 创建增强的技能 5. ✅ 使用预设或自定义配置 6. ✅ 支持跳过抓取以实现快速迭代 **简单结构:** - `doc_scraper.py` - 工具 - `configs/` - 预设 - `output/` - 其他所有内容 **更好的输出:** - 带语言检测的真实代码示例 - 从文档中提取的常见模式 - 智能分类 - 带实际示例的增强 SKILL.md ## 📚 文档 ### 入门 - **[BULLETPROOF_QUICKSTART.md](BULLETPROOF_QUICKSTART.md)** - 🎯 **从这里开始**如果您是新手! - **[QUICKSTART.md](QUICKSTART.md)** - 有经验的用户快速入门 - **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - 常见问题和解决方案 ### 指南 - **[docs/LARGE_DOCUMENTATION.md](docs/LARGE_DOCUMENTATION.md)** - 处理 10K-40K+ 页文档 - **[ASYNC_SUPPORT.md](ASYNC_SUPPORT.md)** - 异步模式指南(抓取快 2-3 倍) - **[docs/ENHANCEMENT.md](docs/ENHANCEMENT.md)** - AI 增强指南 - **[docs/TERMINAL_SELECTION.md](docs/TERMINAL_SELECTION.md)** - 为本地增强配置终端应用 - **[docs/UPLOAD_GUIDE.md](docs/UPLOAD_GUIDE.md)** - 如何上传技能到 Claude - **[docs/MCP_SETUP.md](docs/MCP_SETUP.md)** - MCP 集成设置 ### 技术 - **[docs/CLAUDE.md](docs/CLAUDE.md)** - 技术架构 - **[STRUCTURE.md](STRUCTURE.md)** - 仓库结构 ## 🎮 准备好了吗? ```bash # 尝试 Godot skill-seekers scrape --config configs/godot.json # 尝试 React skill-seekers scrape --config configs/react.json # 或进入交互式 skill-seekers scrape --interactive ``` ## 📝 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 --- 快乐技能构建!🚀