核心用法
curated-search 是一款面向开发者的本地化技术文档搜索引擎。其核心工作流程分为两步:
1. 索引构建(一次性):通过 npm run crawl 命令,按用户配置的白名单域名抓取技术文档(如 MDN、Python 官方文档等),生成本地搜索索引
2. 离线搜索:构建完成后,所有查询完全本地执行,通过 curated-search.search 工具检索,支持关键词匹配、域名过滤、相关性评分(BM25)和分页
显著优点
- 极致隐私:搜索阶段完全离线,查询内容、用户数据零外传,适合对隐私敏感的企业和个人开发者
- 结果权威:仅搜索经人工筛选的技术文档源,自动过滤搜索引擎广告、SEO 垃圾和低质量内容
- 低延迟:本地 BM25 索引查询,毫秒级响应,无网络波动影响
- 高度可控:通过
config.yaml精确控制爬取范围、内容长度、请求频率,尊重robots.txt
潜在缺点与局限性
- 初始配置成本:需手动维护域名白名单和种子 URL,新文档源不会自动收录
- 内容时效性:索引为静态快照,文档更新需重新运行爬虫;无法获取实时社区讨论(如 Stack Overflow 最新回答)
- 覆盖范围有限:仅支持预配置的技术文档,通用网页、博客、论坛内容无法搜索
- 技术门槛:需要 Node.js 环境,配置 YAML 和理解 BM25 评分机制对非技术用户不友好
- 存储开销:大型文档库(如完整 MDN)可能产生数百 MB 的本地索引文件
适合人群
- 需要在离线环境(如内网、飞机、偏远地区)查阅技术文档的开发者
- 对数据隐私有严格要求的企业团队(金融、医疗、政务等)
- 希望屏蔽搜索干扰、专注权威技术来源的技术写作者和架构师
- 已有稳定技术栈、文档更新频率低的长期项目维护者
常规风险
| 风险类别 | 说明 | 缓解措施 |
|---------|------|---------|
| 索引过期 | 文档源更新后本地索引滞后 | 设置定时任务重新爬取 |
| 爬虫被封 | 爬取频率过高触发源站防护 | 配置 `crawl.delay` 和 `max_documents` |
| 存储泄露 | 本地索引文件包含爬取内容 | 确保 `data/` 目录权限控制 |
| 配置错误 | 白名单配置不当导致爬取非预期内容 | 审计 `config.yaml` 变更 |
该技能代表了"本地优先、隐私优先"的开发者工具设计理念,是云依赖时代的反潮流但高价值选择。