librarian
抓取、索引并搜索 GitHub 和网站上的开发者文档,为 AI 代理提供准确、基于真实来源且具备版本控制的代码上下文。
简介
Librarian 是一款专门为解决 AI 代理工作流程中「幻觉」问题而设计的工具,旨在提供基于真实资料来源的开发者文档。它使开发者和 AI 代理能够将外部知识库(从特定的 GitHub 仓库到公开的文档网站)导入至本地的向量索引数据库中。通过结合关键字匹配与语义向量搜索的混合搜索模式,Librarian 能确保 API 细节、复杂的代码示例以及特定版本的指南能被高精度地检索。对于使用如 Next.js、Hono 或自定义内部 API 等快速演进框架的开发者来说,这是不可或缺的工具,因为标准模型的训练资料往往过时或不足。
-
可从 GitHub 仓库(支持指定分支或版本)以及公开网站(通过 sitemap、llms.txt 或直接爬取)导入文档。
-
支持混合搜索模式,包括关键字搜索、语义向量搜索以及两者结合,以针对不同查询类型进行最优化。
-
维护特定于项目库的版本控制,允许用户将搜索范围限缩在特定版本标签或文档快照中。
-
提供强大的 CLI 界面来管理来源、触发导入作业,并在将文档整合至 AI 工作流程前在本地测试搜索结果。
-
内建 MCP (Model Context Protocol) 服务器,可将文档查询功能无缝整合至 Claude Code 或其他本地开发环境的 AI 代码助理中。
-
自动检测执行环境,处理 Bun、npm 和 pnpm 的复杂安装流程。
-
前置条件:运行期需要 Bun 以处理繁重的 CLI 操作与索引任务。
-
安装方式:建议通过
npm install -g @iannuttall/librarian或bun add -g进行全局安装。 -
操作流程:从
add加入来源开始,接着执行ingest --embed导入数据,最后使用search或get指令检索特定的文档片段。 -
版本管理:在项目目录中使用
librarian detect自动识别版本标签,并在搜索指令中使用--version旗标以限制范围。 -
性能调整:针对大型网站,请使用
--depth和--pages限制参数来控制爬取范围与导入速度。 -
隐私保护:所有操作均在本地执行,确保在检索过程中不会泄漏敏感文档或 API 金钥。
仓库统计
- Star 数
- 98
- Fork 数
- 8
- Open Issue 数
- 1
- 主要语言
- TypeScript
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年5月3日 17:38