- Add Twitter/X follow badge to both READMEs (English and Chinese) - Add GitHub stars badge for social proof - Add Author link to pyproject.toml pointing to X profile - Set repository homepage URL to skillseekersweb.com These changes improve discoverability and community engagement.
1963 lines
58 KiB
Markdown
1963 lines
58 KiB
Markdown
[](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://github.com/yusufkaraaslan/Skill_Seekers/releases/tag/v2.7.4)
|
||
[](https://opensource.org/licenses/MIT)
|
||
[](https://www.python.org/downloads/)
|
||
[](https://modelcontextprotocol.io)
|
||
[](tests/)
|
||
[](https://github.com/users/yusufkaraaslan/projects/2)
|
||
[](https://pypi.org/project/skill-seekers/)
|
||
[](https://pypi.org/project/skill-seekers/)
|
||
[](https://pypi.org/project/skill-seekers/)
|
||
[](https://skillseekersweb.com/)
|
||
[](https://x.com/_yUSyUS_)
|
||
[](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 就绪的文档文件(快 10 倍)
|
||
- ✅ **通用抓取器** - 适用于任何文档网站
|
||
- ✅ **智能分类** - 自动按主题组织内容
|
||
- ✅ **代码语言检测** - 识别 Python、JavaScript、C++、GDScript 等
|
||
- ✅ **8 个开箱即用的预设** - Godot、React、Vue、Django、FastAPI 等
|
||
|
||
### 📄 PDF 支持 (**v1.2.0**)
|
||
- ✅ **基础 PDF 提取** - 从 PDF 文件提取文本、代码和图像
|
||
- ✅ **扫描 PDF 的 OCR** - 从扫描文档提取文本
|
||
- ✅ **密码保护的 PDF** - 处理加密 PDF
|
||
- ✅ **表格提取** - 从 PDF 提取复杂表格
|
||
- ✅ **并行处理** - 大型 PDF 快 3 倍
|
||
- ✅ **智能缓存** - 重复运行快 50%
|
||
|
||
### 🐙 GitHub 仓库抓取 (**v2.0.0**)
|
||
- ✅ **深度代码分析** - 对 Python、JavaScript、TypeScript、Java、C++、Go 进行 AST 解析
|
||
- ✅ **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
|
||
# AUTO 模式(默认)- 自动检测最佳选项
|
||
skill-seekers-codebase tests/ --build-how-to-guides --ai-mode auto
|
||
|
||
# API 模式 - 快速、高效(需要 ANTHROPIC_API_KEY)
|
||
skill-seekers-codebase tests/ --build-how-to-guides --ai-mode api
|
||
|
||
# LOCAL 模式 - 使用 Claude Code Max 免费(无需 API 密钥)
|
||
skill-seekers-codebase tests/ --build-how-to-guides --ai-mode local
|
||
|
||
# 禁用增强 - 仅基础指南
|
||
skill-seekers-codebase tests/ --build-how-to-guides --ai-mode none
|
||
```
|
||
|
||
**完整文档:**[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-...
|
||
|
||
# 自动打包和上传
|
||
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-...
|
||
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) 文件
|
||
|
||
---
|
||
|
||
快乐技能构建!🚀
|