工程開發
librarian avatar

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/librarianbun add -g 進行全域安裝。

  • 操作流程:從 add 加入來源開始,接著執行 ingest --embed 匯入資料,最後使用 searchget 指令檢索特定的文件片段。

  • 版本管理:在專案目錄中使用 librarian detect 自動識別版本標籤,並在搜尋指令中使用 --version 旗標以限制範圍。

  • 效能調整:針對大型網站,請使用 --depth--pages 限制參數來控制爬取範圍與匯入速度。

  • 隱私保護:所有操作均在本機執行,確保在檢索過程中不會洩漏敏感文件或 API 金鑰。

倉庫統計

Star 數
98
Fork 數
8
Open Issue 數
1
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 下午05:38
在 GitHub 查看