免费使用 · 在你自己的电脑上运行
用你自己的文件搭建知识库,为你和你的 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同样的问题,小模型
150 道题 · 4B俄罗斯法律(15 部法典,pravo.gov.ru)
150 道题 · qwen3.8-27bthree.js r186 API 测验
90 个回答 · Claude Haiku 4.5¹ 返回完整的法条,而不是前 800 个字符(此前结果为 69.1%)。对于 2024 年以来修订过的条文,模型的正确率从 25% 提升到 81%。
以表格显示数据
| 任务 | 模型 | 不使用知识库 | 安慰剂 | 使用 lib2027 |
|---|---|---|---|---|
| 最新 Web 文档(devdocs,2026 年 9 月) 150 道题 · qwen3.8-27b | qwen3.8-27b | 17.8% | 12.7% | 85.1% |
| 同样的问题,小模型 150 道题 · 4B | 4B | 9.1% | 0.4% | 83.1% |
| 俄罗斯法律(15 部法典,pravo.gov.ru) 150 道题 · qwen3.8-27b | qwen3.8-27b | 34.7% | 33.8% | 84.4%¹ |
| three.js r186 API 测验 90 个回答 · Claude Haiku 4.5 | Claude Haiku 4.5 | 27.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)
initializeadd ./docs(6 个文档,237 个片段)工作原理
三种检索,一份排序结果
每次查询都同时经过三个通道。结果经合并和重排序后,你或你的智能体拿到的是可以阅读和引用的完整段落,而不是零碎片段。
语义
基于 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_knowledgeread_sourcelist_librariescheck_codeexplore_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 | 显示已安装的内容及所用的计算设备 |
在你工作的地方运行
平台
| 平台 | CUDA | DirectML | CPU |
|---|---|---|---|
| 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 组成。复制书架即可随身携带。
用你自己的文档试一试
两条命令,只需 Node.js 18+。
# 把文件夹放上书架
$ npx lib2027 add ./docs
# 打开 Web 界面 → http://127.0.0.1:2027
$ npx lib2027