项目文件夹

文件
wehub-resource-sync 2cab53bc94
Test Vector Database Adaptors / Test MCP Vector DB Tools (push) Has been cancelled
Tests / Code Quality (Ruff & Mypy) (push) Has been cancelled
Tests / Fast Unit Tests (parallel) (macos-latest, 3.11) (push) Has been cancelled
Tests / Fast Unit Tests (parallel) (macos-latest, 3.12) (push) Has been cancelled
Tests / Tests (push) Has been cancelled
Docker Publish / Build and Push Docker Images (map[description:Skill Seekers CLI - Convert documentation to AI skills dockerfile:Dockerfile name:skill-seekers]) (push) Has been cancelled
Docker Publish / Build and Push Docker Images (map[description:Skill Seekers MCP Server - 25 tools for AI assistants dockerfile:Dockerfile.mcp name:skill-seekers-mcp]) (push) Has been cancelled
Docker Publish / Test Docker Images (push) Has been cancelled
Tests / Fast Unit Tests (parallel) (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / Fast Unit Tests (parallel) (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / Fast Unit Tests (parallel) (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / Serial / Integration / E2E Tests (push) Has been cancelled
Tests / MCP Server Tests (push) Has been cancelled
Test Vector Database Adaptors / Test chroma Adaptor (push) Has been cancelled
Test Vector Database Adaptors / Test faiss Adaptor (push) Has been cancelled
Test Vector Database Adaptors / Test qdrant Adaptor (push) Has been cancelled
Test Vector Database Adaptors / Test weaviate Adaptor (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:46:28 +08:00

432 行
9.4 KiB
Markdown

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 处理大型文档站点(10K+ 页面)
使用 Skill Seeker 抓取和管理大型文档站点的完整指南。
---
## 目录
- [何时拆分文档](#何时拆分文档)
- [拆分策略](#拆分策略)
- [快速开始](#快速开始)
- [详细工作流](#详细工作流)
- [最佳实践](#最佳实践)
- [示例](#示例)
- [故障排除](#故障排除)
---
## 何时拆分文档
### 规模指南
| 文档规模 | 建议 | 策略 |
|---------|------|------|
| < 5,000 页 | **单个技能** | 无需拆分 |
| 5,000 - 10,000 页 | **考虑拆分** | 按类别 |
| 10,000 - 30,000 页 | **建议拆分** | 路由器 + 类别 |
| 30,000+ 页 | **强烈建议拆分** | 路由器 + 类别 |
### 为什么要拆分大型文档?
**优势:**
- ✅ 抓取更快(并行执行)
- ✅ 技能更聚焦(Claude 表现更好)
- ✅ 维护更容易(一次更新一个主题)
- ✅ 用户体验更佳(回答更精准)
- ✅ 避免上下文窗口限制
**权衡:**
- ⚠️ 需要管理多个技能
- ⚠️ 初始设置更复杂
- ⚠️ 路由器会额外增加一个技能
---
## 拆分策略
### 1. **不拆分**(一个大技能)
**适用于:** 中小型文档(< 5K 页)
```bash
# Just use the config as-is
skill-seekers create --config configs/react.json
```
**优点:** 简单,只需维护一个技能
**缺点:** 大型文档可能很慢,可能触及限制
---
### 2. **按类别拆分**(多个聚焦技能)
**适用于:** 5K-15K 页且主题划分清晰的文档
```bash
# Auto-split by categories
python -m skill_seekers.cli.split_config configs/godot.json --strategy category
# Creates:
# - godot-scripting.json
# - godot-2d.json
# - godot-3d.json
# - godot-physics.json
# - etc.
```
**优点:** 技能聚焦,划分清晰
**缺点:** 用户必须知道该使用哪个技能
---
### 3. **路由器 + 类别**(智能枢纽)⭐ 推荐
**适用于:** 10K+ 页面,提供最佳用户体验
```bash
# Create router + sub-skills
python -m skill_seekers.cli.split_config configs/godot.json --strategy router
# Creates:
# - godot.json (router/hub)
# - godot-scripting.json
# - godot-2d.json
# - etc.
```
**优点:** 兼具两者优势,智能路由,自然的用户体验
**缺点:** 设置稍微复杂一些
---
### 4. **按大小拆分**
**适用于:** 没有清晰类别划分的文档
```bash
# Split every 5000 pages
python -m skill_seekers.cli.split_config configs/bigdocs.json --strategy size --target-pages 5000
# Creates:
# - bigdocs-part1.json
# - bigdocs-part2.json
# - bigdocs-part3.json
# - etc.
```
**优点:** 简单、可预测
**缺点:** 可能把相关主题拆开
---
## 快速开始
### 方案 1:自动(推荐)
```bash
# 1. Create config
skill-seekers create --interactive
# Name: godot
# URL: https://docs.godotengine.org
# ... fill in prompts ...
# 2. Estimate pages (discovers it's large)
skill-seekers estimate configs/godot.json
# Output: ⚠️ 40,000 pages detected - splitting recommended
# 3. Auto-split with router
python -m skill_seekers.cli.split_config configs/godot.json --strategy router
# 4. Scrape all sub-skills
for config in configs/godot-*.json; do
skill-seekers create --config $config &
done
wait
# 5. Generate router
skill-seekers create configs/godot-*.json
# 6. Package all
skill-seekers package output/godot*/
# 7. Upload all .zip files to Claude
```
---
### 方案 2:手动控制
```bash
# 1. Define split in config
nano configs/godot.json
# Add:
{
"split_strategy": "router",
"split_config": {
"target_pages_per_skill": 5000,
"create_router": true,
"split_by_categories": ["scripting", "2d", "3d", "physics"]
}
}
# 2. Split
skill-seekers create configs/godot.json
# 3. Continue as above...
```
---
## 详细工作流
### 工作流 1:路由器 + 类别(40K 页面)
**场景:** Godot 文档(40,000 页)
**第 1 步:估算**
```bash
skill-seekers estimate configs/godot.json
# Output:
# Estimated: 40,000 pages
# Recommended: Split into 8 skills (5K each)
```
**第 2 步:拆分配置**
```bash
python -m skill_seekers.cli.split_config configs/godot.json --strategy router --target-pages 5000
# Creates:
# configs/godot.json (router)
# configs/godot-scripting.json (5K pages)
# configs/godot-2d.json (8K pages)
# configs/godot-3d.json (10K pages)
# configs/godot-physics.json (6K pages)
# configs/godot-shaders.json (11K pages)
```
**第 3 步:抓取子技能(并行)**
```bash
# Open multiple terminals or use background jobs
skill-seekers create --config configs/godot-scripting.json &
skill-seekers create --config configs/godot-2d.json &
skill-seekers create --config configs/godot-3d.json &
skill-seekers create --config configs/godot-physics.json &
skill-seekers create --config configs/godot-shaders.json &
# Wait for all to complete
wait
# Time: 4-8 hours (parallel) vs 20-40 hours (sequential)
```
**第 4 步:生成路由器**
```bash
skill-seekers create configs/godot-*.json
# Creates:
# output/godot/SKILL.md (router skill)
```
**第 5 步:全部打包**
```bash
skill-seekers package output/godot*/
# Creates:
# output/godot.zip (router)
# output/godot-scripting.zip
# output/godot-2d.zip
# output/godot-3d.zip
# output/godot-physics.zip
# output/godot-shaders.zip
```
**第 6 步:上传到 Claude**
将全部 6 个 .zip 文件上传到 Claude。路由器会智能地将查询导向正确的子技能!
---
### 工作流 2:仅按类别拆分(15K 页面)
**场景:** Vue.js 文档(15,000 页)
**无需路由器——只要聚焦的技能:**
```bash
# 1. Split
python -m skill_seekers.cli.split_config configs/vue.json --strategy category
# 2. Scrape each
for config in configs/vue-*.json; do
skill-seekers create --config $config
done
# 3. Package
skill-seekers package output/vue*/
# 4. Upload all to Claude
```
**结果:** 5 个聚焦的 Vue 技能(组件、响应式、路由等)
---
## 最佳实践
### 1. **明智地选择目标大小**
```bash
# Small focused skills (3K-5K pages) - more skills, very focused
python -m skill_seekers.cli.split_config config.json --target-pages 3000
# Medium skills (5K-8K pages) - balanced (RECOMMENDED)
python -m skill_seekers.cli.split_config config.json --target-pages 5000
# Larger skills (8K-10K pages) - fewer skills, broader
python -m skill_seekers.cli.split_config config.json --target-pages 8000
```
### 2. **使用并行抓取**
```bash
# Serial (slow - 40 hours)
for config in configs/godot-*.json; do
skill-seekers create --config $config
done
# Parallel (fast - 8 hours) ⭐
for config in configs/godot-*.json; do
skill-seekers create --config $config &
done
wait
```
### 3. **完整抓取前先测试**
```bash
# Test with limited pages first
nano configs/godot-2d.json
# Set: "max_pages": 50
skill-seekers create --config configs/godot-2d.json
# If output looks good, increase to full
```
### 4. **长时间抓取使用检查点**
```bash
# Enable checkpoints in config
{
"checkpoint": {
"enabled": true,
"interval": 1000
}
}
# If scrape fails, resume
skill-seekers create --config config.json --resume
```
---
## 示例
### 示例 1:AWS 文档(假设 50K 页面)
```bash
# 1. Split by AWS services
python -m skill_seekers.cli.split_config configs/aws.json --strategy router --target-pages 5000
# Creates ~10 skills:
# - aws (router)
# - aws-compute (EC2, Lambda)
# - aws-storage (S3, EBS)
# - aws-database (RDS, DynamoDB)
# - etc.
# 2. Scrape in parallel (overnight)
# 3. Upload all skills to Claude
# 4. User asks "How do I create an S3 bucket?"
# 5. Router activates aws-storage skill
# 6. Focused, accurate answer!
```
### 示例 2Microsoft 文档(100K+ 页面)
```bash
# Too large even with splitting - use selective categories
# Only scrape key topics
python -m skill_seekers.cli.split_config configs/microsoft.json --strategy category
# Edit configs to include only:
# - microsoft-azure (Azure docs only)
# - microsoft-dotnet (.NET docs only)
# - microsoft-typescript (TS docs only)
# Skip less relevant sections
```
---
## 故障排除
### 问题:"拆分产生了太多技能"
**解决方案:** 增大目标大小或合并类别
```bash
# Instead of 5K per skill, use 8K
python -m skill_seekers.cli.split_config config.json --target-pages 8000
# Or manually combine categories in config
```
### 问题:"路由器路由不正确"
**解决方案:** 检查路由器 SKILL.md 中的路由关键词
```bash
# Review router
cat output/godot/SKILL.md
# Update keywords if needed
nano output/godot/SKILL.md
```
### 问题:"并行抓取失败"
**解决方案:** 降低并行度或检查速率限制
```bash
# Scrape 2-3 at a time instead of all
skill-seekers create --config config1.json &
skill-seekers create --config config2.json &
wait
skill-seekers create --config config3.json &
skill-seekers create --config config4.json &
wait
```
---
## 总结
**对于 40K+ 页面的文档:**
1.**先估算**`skill-seekers estimate config.json`
2.**用路由器拆分**`python -m skill_seekers.cli.split_config config.json --strategy router`
3.**并行抓取**:多个终端或后台任务
4.**生成路由器**`skill-seekers create configs/*-*.json`
5.**全部打包**`skill-seekers package output/*/`
6.**上传到 Claude**:所有 .zip 文件
**结果:** 智能、快速、聚焦且无缝协作的技能!
---
**有问题?请参阅:**
- [主 README](../README.md)
- [MCP 设置指南](MCP_SETUP.md)
- [增强指南](ENHANCEMENT.md)