lib2027
简体中文

免费使用 · 在你自己的电脑上运行

用你自己的文件搭建知识库,为你和你的 AI 智能体服务

放入一个文档文件夹,即可同时用三种方式检索:按语义、按 15 种语言的词形变化,以及按精确的 API 名称。为你提供 Web 界面,为 Claude Code、pi、Cursor 等智能体提供 MCP 服务器。

  • 单个 Rust 程序,npx 即可运行
  • 无需 Python,无需数据库
  • NVIDIA GPU、DirectML 或 CPU
# 把文件夹放上书架
$ npx lib2027 add ./docs
# 打开 Web 界面 → http://127.0.0.1:2027
$ npx lib2027

基准测试

它真的能帮模型答对吗?

模型凭记忆并不掌握最新或小众的知识,单纯塞进更多文本也解决不了问题。我们测量了“对的片段”能带来什么。

测量方法

同一模型,同样的问题

每组对比都让同一个模型回答同一组问题,唯一变化的是模型能读到的内容。

安慰剂对照组

等长的无关文本,用来检验“上下文越多越好”这一说法。

预先注册

问题、评分规则和成功阈值均在收集任何数据之前确定。

重复运行并做检验

每组各运行 3 次,显著性基于按题配对的符号检验。

答对比例

  • 不使用知识库
  • 安慰剂
  • 使用 lib2027
  • 不使用知识库 — 模型凭记忆作答
  • 安慰剂 — 等长的无关文本
  • 使用 lib2027 — lib2027 检索返回的片段

最新 Web 文档(devdocs,2026 年 9 月)

150 道题 · qwen3.8-27b
不使用知识库17.8%
安慰剂12.7%
使用 lib202785.1%

同样的问题,小模型

150 道题 · 4B
不使用知识库9.1%
安慰剂0.4%
使用 lib202783.1%

俄罗斯法律(15 部法典,pravo.gov.ru)

150 道题 · qwen3.8-27b
不使用知识库34.7%
安慰剂33.8%
使用 lib202784.4%¹

three.js r186 API 测验

90 个回答 · Claude Haiku 4.5
不使用知识库27.8%
安慰剂未测量
使用 lib202788.9%

¹ 返回完整的法条,而不是前 800 个字符(此前结果为 69.1%)。对于 2024 年以来修订过的条文,模型的正确率从 25% 提升到 81%。

以表格显示数据
任务模型不使用知识库安慰剂使用 lib2027
最新 Web 文档(devdocs,2026 年 9 月)
150 道题 · qwen3.8-27b
qwen3.8-27b17.8%12.7%85.1%
同样的问题,小模型
150 道题 · 4B
4B9.1%0.4%83.1%
俄罗斯法律(15 部法典,pravo.gov.ru)
150 道题 · qwen3.8-27b
qwen3.8-27b34.7%33.8%84.4%¹
three.js r186 API 测验
90 个回答 · Claude Haiku 4.5
Claude Haiku 4.527.8%—88.9%

测验之外:three.js 与 Claude Haiku 4.5

使用过时 API 的回答

24.4%5.6%

越少越好

“写一个游戏”任务得分(满分 100)

5275

越高越好

完成游戏所需轮次

5636

且成本略低

模型从未见过的库

2% - 5%84% - 96%

当 lib2027 为任务提供迁移说明时,4B 模型的任务通过率从 2% - 5% 提升到 84% - 96%。

结论

模型凭记忆并不掌握最新或小众的知识,单纯增加上下文也无济于事:安慰剂组从未胜过凭记忆作答。真正有用的是对的片段,而这正是 lib2027 所提供的。

速度:Rust 版与早先的 Python 版对比

在配备 RTX 5090 的 Windows 上测量,使用同一书架、同样的查询。两个版本返回的结果相同:在法律测验中,两者都为 150 道题中的 122 道找到了对应法条。

  • Python + PyTorch
  • lib2027(Rust)
越低越好
混合检索,中位数(GPU)
Python + PyTorch207 ms
lib2027(Rust)103 ms
词法检索
Python + PyTorch39 ms
lib2027(Rust)5 ms
仅用 CPU 检索
Python + PyTorch4.4 s
lib2027(Rust)1.7 s
74.3万 个片段(devdocs),每次查询
Python + PyTorch~0.4 s
lib2027(Rust)0.15 s
MCP 服务器就绪,可响应 initialize
Python + PyTorch2.6–3.8 s
lib2027(Rust)< 0.2 s
add ./docs(6 个文档,237 个片段)
Python + PyTorch36.6 s
lib2027(Rust)8.6 s
构建 15 部法典(1.6万 个片段)
Python + PyTorch169 s
lib2027(Rust)127 s
解析 7,170 个文件
Python + PyTorch136 s
lib2027(Rust)4.1 s
安装

Python + PyTorch: Python + PyTorch,约 2.5 GB

lib2027(Rust): Node.js + 一个 7 MB 的二进制文件;运行时和模型在首次运行时下载

工作原理

三种检索,一份排序结果

每次查询都同时经过三个通道。结果经合并和重排序后,你或你的智能体拿到的是可以阅读和引用的完整段落,而不是零碎片段。

语义

基于 Qwen3-Embedding-0.6B 嵌入模型的语义检索,能找到换了说法但意思相同的段落。

词形

支持俄语、英语及另外 13 种语言的词形变化分析:搜索一个词的某种形式,也能找到它的其他变形。

精确 API 名称

函数、类和选项名称按原样精确匹配:搜某个名称,找到的就是它本身,而不是看起来相似的东西。

重排序器

bge-reranker-v2-m3 交叉编码器把每个候选结果与查询放在一起阅读,把最好的排在前面。

完整条文

保留文档结构。法律按条文切分,并返回完整条文:这让法律基准测试的成绩从 69.1% 提升到 84.4%。

支持格式:md、txt、html、pdf、docx 以及源代码(js、ts、json……)。npx lib2027 package <name> 可添加整个 npm 包:API 类型、文档、测试和示例。

面向智能体

接入 Claude Code、pi、Cursor 及其他 MCP 客户端

lib2027 可作为 MCP 服务器运行。一条命令即可接入,之后智能体会自行检索你的知识库。

Claude Code

npx lib2027 claude

自动为你执行 claude mcp add。Claude Code 将获得以下工具:

  • search_knowledge
  • read_source
  • list_libraries
  • check_code
  • explore_graph

pi

npx lib2027 pi

在 pi 中安装 MCP 适配器并接入 lib2027。npx lib2027 pi --remove 可断开连接。

Cursor、Claude Desktop 及其他客户端

将以下内容添加到 MCP 配置中:

{ "mcpServers": { "lib2027": { "command": "npx", "args": ["-y", "lib2027", "mcp"] } } }

在 Windows 上,通过 cmd 运行 npx:

{ "mcpServers": { "lib2027": { "command": "cmd", "args": ["/c", "npx", "-y", "lib2027", "mcp"] } } }

更喜欢用浏览器?npx lib2027 会在 http://127.0.0.1:2027 打开 Web 界面,同时提供 HTTP API。

命令

一个二进制文件,寥寥几条命令。

命令作用
add <folder|files…> [--name …] [--lang auto|ru|en|…] [--to slug]把文件夹变成一个库;文件则添加到指定的库。重复运行会更新有改动的文件。
list书架上的库
search "query" [-l slug] [--top-k 5]检索
remove <slug> / restore <slug>从检索中隐藏 / 恢复(文件仍保留在磁盘上)
package <npm-package>[@version]整个 npm 包:API 类型、文档、测试和示例
ui [--port 2027] [--no-open]Web 界面和 HTTP API(与不带命令运行相同)
mcp基于 stdio 的 MCP 服务器(由智能体启动)
claude [--scope user|project]自动为你执行 claude mcp add;未安装 Claude Code 时,输出供其他客户端使用的配置
pi [--project] [--remove]在 pi 中安装 MCP 适配器并接入 lib2027(或断开连接)
ask "question"给出带有已核验引用的回答(需要模型密钥:LIB2027_ANSWER_*)
setup [--device cuda|directml|cpu]提前安装运行时和模型
doctor显示已安装的内容及所用的计算设备

在你工作的地方运行

平台

平台CUDADirectMLCPU
Windows x64✓✓✓
Windows arm64——✓
Linux x64glibc 2.35+✓—✓
Linux arm64glibc 2.35+——✓
macOS Apple Silicon——✓

加速

x64 Windows 和 Linux 上支持 NVIDIA CUDA,x64 Windows 上支持 DirectML。其他情况均在 CPU 上运行。

运行要求

只需 Node.js 18+。首次运行时会把其余组件一次性下载到 ~/.lib2027,约需 2 分钟:适配你硬件的 ONNX 运行时,以及两个模型 Qwen3-Embedding-0.6B 和 bge-reranker-v2-m3。

你的文档始终留在你的设备上

天生本地

你的文档和书架都保存在你的设备上。检索在二进制程序内完成,使用你自己的 GPU 或 CPU。

除非你要求,否则不发送任何内容

只有当你为回答服务配置了外部模型(LIB2027_ANSWER_*)时,文本才会发送给第三方。

默认仅限本机访问

未设置 LIB2027_API_KEY 时,Web 界面和 HTTP API 无需密钥,且只能从 localhost 访问。

就是一个普通文件夹

每个库由 library.sqlite、vectors.f16 和 knowledge.json 组成。复制书架即可随身携带。

许可

可免费使用,包括商业用途,设备数量不限。闭源。你可以再分发未经修改的软件包。模型和 ONNX Runtime 从各自发布方下载,遵循其各自的许可证。

在 npm 上查看许可证

用你自己的文档试一试

两条命令,只需 Node.js 18+。

# 把文件夹放上书架
$ npx lib2027 add ./docs
# 打开 Web 界面 → http://127.0.0.1:2027
$ npx lib2027