一个可执行文件包含完整的本地 AI 技术栈:它运行并管理模型,并使用它们搜索你拥有的一切。
项目站点 · 教程短片 · PyPI · Obsidian 插件 · REST API · 聊天 (#lilbee)
lilbee 运行并管理你的模型:聊天、嵌入、视觉和重排序,部署在你拥有的每一块 GPU 上。它将其用作一个你可以对话的搜索引擎,针对你的文件、笔记、代码和网络,每个答案都引用确切的文件和行。它将网站爬取到你的库中,在本地模型上启动你的编码代理,并向任何 MCP 感知代理 提供来自你已索引的所有内容的引用答案。同一个引擎支持 Obsidian 社区插件,因此你的库无需终端即可获得所有这些功能。用普通英语提问。无需容器,无需网络,无需安装或设置其他任何内容。

它就是一个程序:没有独立的模型服务器、向量数据库,或需要启动的容器。lilbee 自行运行模型并维护索引。你可以将其作为终端应用、CLI、Model Context Protocol 服务器、HTTP API 或 Python 库来访问。关闭它即消失,或将其作为服务运行以保持热状态。一切都在你的计算机上运行;仅当你选择云端模型时才使用云端模型。
模型也不例外:lilbee 拥有自己的模型管理器和多 GPU 集群,基于 llama.cpp 构建,因此一个可执行文件即可完成所有操作(浏览 Hugging Face、下载模型、分配角色、在 Metal / Vulkan / CUDA 上运行)。你完全不需要 Ollama 或 LM Studio:lilbee 运行的模型家族 是 Hugging Face 上 190,000+ 个 GGUF 仓库中大多数背后的架构,并在真实 GPU 上按家族进行了验证。如果你已经在使用它们,请将 lilbee 指向你现有的配置并保留你的模型。
教程视频: 本页面上的所有演示(以及额外内容)均以真实视频播放器形式呈现于 lilbee.sh/tutorial。
⚠️ Beta 软件
lilbee 正处于活跃 Beta 开发阶段。PyPI 上的每个版本都是预发布版;安装时必须使用
--pre(或 uv 的--prerelease=allow)。接口、命令名称和磁盘格式可能在 Beta 版本之间发生变化。非常欢迎反馈、错误报告和问题;这正是 Beta 的意义所在。最新预发布版(始终):lilbee on PyPI →
- 快速入门
- 教程视频 (长视频)
- 亮点
- 为什么选择 lilbee
- 首次启动
- 你可以用它做什么
- TUI
- 硬件要求
- 安装
- Agent 集成
- HTTP Server · REST API 参考
- 支持的格式
- Wiki
- 基于
快速入门
根据你是否亲自操作,推荐使用以下两种方式使用 lilbee:
- 运行
lilbee以启动全屏终端应用。欢迎向导会引导你选择聊天模型和嵌入模型,随后你可以在不离开 TUI 的情况下索引文件、搜索并进行对话。设置界面暴露了所有检索参数(搜索深度、距离阈值、重排序器、分块),以便你根据库的结构调整 lilbee。 - 通过 MCP 将其连接到你的智能体。 任何支持 MCP 的编码智能体都可以调用
lilbee_search/lilbee_add并获取可引用的带引用片段的文本。智能体还可以通过lilbee_settings_set对 lilbee 进行 实时微调。引入 lilbee-mcp 技能 后,智能体即可读取完整接口:所有工具、所有检索参数,以及何时针对散文扩大范围、何时针对代码缩小范围。参见 智能体集成。
检索默认值是合理的,且所有设置均可通过 TUI、/set、MCP、环境变量或 config.toml 进行调整。CLI 和 HTTP API 涵盖了脚本化和无头运行。参见 使用指南。
亮点
- 答案引用源行。 点击引用,跳转至文件的精确行;当答案不在你的库中时,lilbee 会如实说明,而不是编造一个。
- 它确实有效,演示也证明了这一点。 这里的每个 GIF 和 reel 都是在真实硬件上实时录制的,没有摆拍,由 100% 测试覆盖率、完整类型检查以及在 macOS、Linux 和 Windows 上的 CI 提供支持。
- 一条命令即可运行。 安装,运行
lilbee,首次运行向导会拉取一个模型并让你进入聊天界面。 - 几乎可以读取任何内容: 90+ 种格式和 150+ 种语言 涵盖文档、扫描页、电子表格、电子书、网页和源代码。
- 独立的分块。 散文和代码采用不同的分割方式 使每个片段保留其含义,这正是检索质量的关键所在。
- 顶部有一个真正的 搜索引擎, 根据回答质量对每个结果进行排名,提供 50+ 个 可调参数 和合理的默认值。
- 它自带并运行模型, 支持 Metal、Vulkan 或 CUDA,无需指向服务器,也无需云账户。浏览 Hugging Face,拉取模型,分配角色(聊天、嵌入、视觉、重排序)。
- 对于单卡过大的模型,可跨所有卡运行, 使用 gguf-parser 和 tensor-split 自动调整大小,或手动固定。 运行比单卡更大的模型。
- 已经在使用 Ollama 或 LM Studio?保留它们。 lilbee 自己的管理器处理它们运行的相同 模型系列 的所有内容,它们的模型也会出现在相同的选择器中。
- 一次安装,多端可用: TUI、CLI、MCP 服务器、REST API 以及 Python 库,让您的编码智能体基于您的真实文件进行回答,并附带引用。
- 一切尽在一文件中,无需运维。 该二进制文件打包了完整的技术栈(搜索引擎、爬虫、MCP + HTTP 服务器、TUI、Python、llama.cpp),大小约为 290-420 MB,启用 CUDA 后约为 0.6-1.2 GB;它按需加载,且不会常驻运行。
- 按项目划分库。 一个库涵盖所有内容,或每个项目一个库。
为什么选择 lilbee
小型本地模型固然有趣,但单靠它本身能力有限。给它提供经过恰当处理的文档,以及一个针对这些文档的搜索引擎,它就能变得真正强大。没有这些,它永远无法超越新奇感。
lilbee 在一次安装中完成所有工作:它运行模型,处理你的文档,爬取你指定的网页,并使用真正的引擎搜索所有内容。同一个引擎有两种工作方式:
- 一个针对你自己文件的 Encarta 99。 从你的文档和保存的网页中构建一个库,然后在终端中阅读它并向它提问。
- 代码的参考层。 将其指向你的项目、依赖项和 API 文档,你的编码代理将从实际存在的内容中回答,并附带 file:line 引用,而不是猜测函数名。
长期目标: 让你已经拥有的硬件上的本地 AI 真正有用,无需 token 预算,也无需依赖提供商;云只在你需要时存在。
lilbee 的对比
lilbee 专为消费级硬件和不想照看基础设施的人而构建。它不是另一个供应用指向的模型服务器;它是一个内置模型运行器的本地搜索引擎。一次安装即可在一个可执行文件中提供整个技术栈:
- 一个针对你文件的搜索引擎,答案会引用源文件行号,而不仅仅是一个供你聊天的模型。
- 一个托管集群,涵盖聊天、嵌入、视觉和重排序,通过负载均衡路由器分布在机器中的每一块 GPU 上,而不是每次只加载一个模型。
- 一切皆打包:模型管理器、搜索引擎、网络爬虫、用于编码代理的 MCP 服务器(原生支持 opencode 和 hermes)、HTTP 服务器、TUI 以及 Python,全部集成在一个文件中。
它介于两个世界之间:那些能让模型在你的机器上聊天的桌面运行器(Ollama、LM Studio),以及 vLLM,后者是你搭建的用于将单个模型推向用户集群的服务器。lilbee 运行模型以对你的文件进行检索,并将整个技术栈扩展到机器中的每一块 GPU,只需一个小型文件即可实现。
完整对比表:lilbee 与 Ollama、LM Studio 和 vLLM。点击展开。
完整对比表
| lilbee | LM Studio | Ollama | vLLM | |
|---|---|---|---|---|
| Primary focus | 跨 GPU 的本地搜索、聊天和服务 | 用于运行和聊天模型的桌面应用 | 拥有不断扩展生态系统的本地模型运行器 | 高吞吐量 GPU 服务 |
| Runs local models | ✓ | ✓ | ✓ | ✓ |
| Search your own files, with citations | ✓ 完整 RAG 流水线,逐行内联引用 | 按会话附加文档(RAG,文档级引用) | — | — |
| Chat, embedding, vision, rerank as one managed fleet | ✓ 四种功能,协同工作 | 聊天、嵌入、视觉(无重排序),单独加载 | 聊天、嵌入、视觉(无重排序),单独加载 | 均支持,但每个服务器一个模型 |
| Multi-GPU model placement | ✓ VRAM 感知的张量分割 | ✓ GPU 选择 + 张量并行(CUDA) | ✓ 自动多 GPU 卸载 | ✓ 张量 + 流水线并行 |
| Scales the whole stack, not just one model | ✓ 每 GPU 副本 + 负载均衡路由器 | — | — | 每个服务器一个模型 |
| Built for many-user throughput at scale | ✓ 每 GPU 一个数据并行副本,请求负载均衡 | — | 有限 | ✓ 这是其核心功能 |
| Web crawler built in | ✓ 内置 | — | — | — |
| Long-term memory (opt-in) | ✓ 可选 | — | — | — |
| 接口 | TUI, CLI, MCP, REST, Python, Obsidian GUI | 桌面 GUI, lms CLI, Python + TS SDKs, REST API, MCP 客户端 | 桌面 GUI, CLI, REST API, Python/JS 库 | API 服务器 |
| 使用现有的 Ollama / LM Studio / 云端作为后端 | ✓ 如何 | — | — | — |
在这四者中,lilbee 是唯一一个围绕检索构建的,也是唯一一个通过负载均衡路由器,在机器上的每一块 GPU 上扩展整个技术栈(聊天、嵌入、视觉和重排序)的。
各平台的安装大小:一个文件,在功能更多的同时,体积小于其他产品。点击展开。
安装大小(单文件下载,不含模型)
下载大小以十进制 GB/MB(字节 ÷ 1000)表示,数据来自各项目自身的发布产物,并附有链接。lilbee 和 Ollama 的数据于 2026-07-25 从其发布 API 测量(lilbee v0.6.90b420.dev726,Ollama v0.32.4)。
| macOS | Windows | Linux | 您将获得 | |
|---|---|---|---|---|
| lilbee (Metal / Vulkan,默认) | 317 MB | 333 MB | 478 MB | 完整技术栈:搜索引擎、爬虫、服务器、TUI、模型运行器、集群管理器 |
| lilbee (CUDA,NVIDIA 可选) | n/a | 666 MB | 1.25 GB | 相同的完整技术栈,附带更快的 CUDA 运行时 |
| lilbee (ROCm,AMD 可选) | n/a | n/a | 854 MB* | 相同的完整技术栈,附带更快的 ROCm 运行时 |
| Ollama | 181 MB | 1.56 GB (捆绑 CUDA) | 1.42 GB (捆绑 CUDA) | 一个模型运行器,需单独获取其运行时 |
| LM Studio | 569 MB | 617 MB | 1.10 GB | 一个桌面应用 (Electron) |
| vLLM | n/a | n/a | 数 GB | 一个 Python + CUDA 服务引擎 |
即使是 lilbee 的 CUDA 构建版本,其大小也小于 Ollama,而且它是完整的技术栈,而不仅仅是一个模型运行器。
* ROCm 是唯一一个尚未来自某个发布版本的指标:它是当前二进制 CI 构建中测量的,并在首个包含它的发布版本中原样落地于此。
已经在用 Ollama 或 LM Studio 了吗?lilbee 运行在它们之上。更喜欢图形界面而非终端?Obsidian 插件 将 lilbee 的模型管理器和搜索功能映射到 Vault 内的可视化界面。
首次启动
首次启动会执行一次性工作:捆绑的构建文件会在进度条后解压,模型会在你的第一个回答之前加载,并实时显示在回答气泡中。之后的每次启动都会在几秒内直接打开聊天界面。
| 首次启动 | 之后的每次启动 |
|---|---|
![]() | ![]() |
使用小型聊天模型(Qwen3 0.6B)测量:
| 首次启动 | 之后的每次启动 | |
|---|---|---|
| 聊天界面显示 | 15 到 20 秒,一次性解压 | 2 到 3 秒 |
| 会话的第一个回答 | 10 到 20 秒,引擎加载在气泡中播放 | 相同,或使用 Keep engine warm 时即时 |
| 之后的回答 | 模型速度 | 模型速度 |
更大的模型加载时间更长;气泡在读取权重时显示实际进度。 引擎生命周期如何运作,以及如何保持其处于热状态以使重新启动完全跳过 加载过程,详见使用指南。
你可以用它做什么
你自己的文件库
将 lilbee 指向包含 PDF、笔记、电子书或代码的文件夹,它会构建一个可搜索的库,并带有可点击返回源行的引用。该模式适用于你拥有大量文本的任何内容:一架子家电说明书、某个领域的研究论文、汽车的维修手册、你公司的内部 wiki。你提供的任何内容都可被搜索,并且你可以与之对话。

问它一个有实际答案的问题,你会得到答案,而不是对问题的复述。在这里,它从汽车手册中读取拖车部分,并附上来源页码作答,以便你核实。右侧的面板显示的是这台机器上执行此操作的 GPU。

在本地模型上启动你的编码代理
lilbee launch opencode 和 lilbee launch hermes 通过一条命令在你的代理中配置 lilbee 的本地模型。lilbee 会在代理自身的配置中注册为提供商和 MCP 服务器,保持你现有的设置不变,预热一个模型,并打开指向该模型的代理。无需 API 密钥,无需提供商设置,且没有任何数据离开你的机器。工具调用支持许多 GGUF 系列;docs/agent-models.md 包含已验证的列表以及 QA 测试框架如何衡量它。
一个模型可以服务于你想运行的任意数量的代理。这些演示视频展示了四个代理同时针对单个本地模型工作,每个代理执行各自的任务:查找并修复导致测试失败的 bug,重构两个函数中重复的逻辑,以及使用 lilbee_search 搜索已索引的项目。


它也会自我调优。告诉一个小型本地模型,当首次返回的结果较为单薄时,扩大 lilbee 的搜索范围,第二次遍历便会返回带有 file:line 引用的完整函数体;一个能力更强的模型,仅凭类似“改进你的搜索结果”的提示词,也能做到同样的效果。lilbee-mcp 技能 会教会你自己的模型这一模式。

AI 代理参考
配置完成后,lilbee 通过 MCP 接入你使用的任何代理。将你的项目文档、依赖源码、API 文档和设计笔记喂给它;代理不再凭空捏造函数名,而是读取实际代码,引用文件和行号,并在答案不在你的库中时明确表示不知道。
你的文件、搜索索引和嵌入向量都保留在你的计算机上。代理调用 lilbee_search 并获取带引用的代码片段。下面的演示是 lilbee 与 lilbee 的对话:一个代理索引 lilbee 自身的源码,然后回答关于 lilbee 如何工作的问题,并附带 file:line 引用。

网站的离线副本
安装 [crawler] 扩展,将 lilbee 指向文档站点、Wiki 或供应商的 API 参考,页面将被获取、转换为 Markdown 并添加到你的库中。从此,即使该站点发生变化或下线,你也可以离线搜索或与该站点的副本进行对话。

或者爬取整个网站,而不仅仅是单个页面。开启递归爬取后,lilbee 会跟随链接并索引所有内容;在任务中心中观察页面数量的增长,然后提出一个综合整个网站内容的问题。

文档、代码与扫描图像
lilbee 根据读取的内容类型拆分索引:
- 散文与结构化文档(PDF、Office 文件、电子书、HTML、90+ 种格式)通过 Xberg 进行处理,采用感知标题的分块方式,使每个分块保留其章节上下文。
- 代码 通过 tree-sitter 的感知 AST 的分块器处理,覆盖 150+ 种语言,使分块映射到函数、类和模块,而非任意行范围。
- 扫描版 PDF 和照片 通过 100+ 种语言的 OCR 处理:Tesseract 用于纯文本(设置
LILBEE_OCR_LANGUAGE,例如eng+deu),或本地 / 远程视觉模型,将表格和布局保留为 markdown。
检索返回的是独立有意义的结果,而非截断论点或函数签名的片段。
选择并调整你的模型
聊天、嵌入、视觉和重排序模型可在终端内安装和切换:浏览目录,拉取模型,选择角色。检索和生成暴露了 50+ 项设置(分块大小、搜索严格度、重排序深度等),可通过 TUI、环境变量或项目本地配置文件进行编辑。合理的默认值。
经过测试的 GPU 和后端
Placement 读取引擎报告的硬件信息,而每个后端对这些信息的表述方式各不相同,因此每一项都在真实硅片上进行验证,而非从上一项推断得出。涵盖从 RTX 3090 到 H200 的 CUDA,以及最多同时使用八块 A100;NVIDIA 和 Intel 上的 Vulkan;AMD Instinct MI300X 上的 ROCm;Apple Silicon 上的 Metal;以及仅使用 CPU 的主机。docs/tested-gpus.md 列出了每台机器以及每次运行确定的结果。欢迎提供未列出的硬件的捕获数据。
已测试的模型家族
每个架构家族选取一个代表,通过 lilbee model pull 拉取,并在消费级硬件上运行完整流水线(索引、搜索、回答;视觉模型包含 OCR)。docs/tested-models.md 包含详细信息和方法。这些家族共同构成了 Hugging Face 上 190,000+ 个 GGUF 模型仓库背后的大多数架构:如果某个模型的家族在列表中,其变体和量化版本预期可以正常工作。
按角色划分的家族表格。点击展开。
视觉(均在单张 12 GB 显卡上,投影器由拉取过程自动获取):
| 家族 | 投影器类型 |
|---|---|
| LightOnOCR | lightonocr |
| Qwen2.5-VL | qwen2.5vl merger |
| Qwen3-VL | qwen3vl |
| Gemma 3 | gemma3 |
| SmolVLM2 | idefics3 |
| MiniCPM-V | resampler |
| InternVL3 | internvl |
| LLaVA 1.6 | mlp |
| Gemma 4 | mixed vision+audio |
| dots.ocr | dots.ocr |
对话(每个内存架构类别一个):
| 类别 | 代表模型 |
|---|---|
| 稠密 GQA | Llama 3.2 |
| 稠密 | Qwen3 |
| 滑动窗口注意力 | Gemma 3 |
| 多头潜在注意力 | DeepSeek V2 Lite |
| 混合专家 | OLMoE |
| 混合 SSM | LFM2 |
嵌入:
| 类别 | 代表模型 |
|---|---|
| BERT 编码器 | all-MiniLM-L6-v2 |
| nomic-bert | nomic-embed-text v1.5 |
| 解码器池化 | Qwen3-Embedding 0.6B |
| 解码器池化,大模型 | Qwen3-Embedding 8B |
| XLM-RoBERTa | bge-m3 |
重排序:
| 类别 | 代表模型 |
|---|---|
| 交叉编码器 | bge-reranker-v2-m3 |
| LLM 重排序器 | Qwen3-Reranker 0.6B |

已经在运行 Ollama 或 LM Studio?保留它们。
观看: Ollama 作为模型管理器 和 LM Studio 作为模型管理器。将 lilbee 指向一个正在运行的管理器,对摄像头中的 PDF 进行索引,并获取带引用的答案。
lilbee 支持 Ollama 和 LM Studio。 为您查找并运行模型是默认且最简单的路径(lilbee 会拉取并在 Metal / Vulkan / CUDA 上运行它们,无需启动服务器),但您不必采用新的模型管理器来使用 lilbee。
- 将其指向正在运行的管理器。 您在 Ollama 或 LM Studio 中的模型会显示在相同的目录和角色选择器(chat、embedding、vision、rerank)中,并标注其运行位置,与 lilbee 自身的模型以及任何云端模型并列。可自由混合使用。
- 它们保持只读。 lilbee 列出并运行这些模型,但从不拉取或删除它们,因此它们的生命周期仍由您已在使用的应用程序管理。
- 在
pip/uv上, 这需要[litellm]附加组件(pip install --pre 'lilbee[litellm]');Homebrew、AUR、Nix、Docker、Flatpak 和 Snap 构建版本已包含该组件。参见 安装。
这两个 reel 都在其他管理器的模型上运行 chat 和 embedding,这些模型从目录的 Library 选项卡中选取,其中每一行都标明了其运行的服务器。


在下载前查看模型是否无法加载
Hugging Face 上有数千个 GGUF,但捆绑的 llama.cpp 仅支持部分架构,且新架构需要时间才能到达固定的运行时。lilbee 会在目录中标记不兼容的模型,并拒绝下载(带有覆盖确认),这样你就不必等待数 GB 的拉取,却在加载时遇到“不支持的架构”。

云端模型,随取随用
lilbee 默认完全在你的机器上运行。当你需要云端模型时,有两种使用方式:
- 自带密钥。 安装
[litellm]扩展,添加一个 API 密钥,然后将任何角色(chat、embedding、vision、rerank)指向同一目录中的云端模型。只要云端模型处于开启状态,TUI 就会持续显示警告。 - 通过 MCP 将 lilbee 与云端智能体配对。 你的文件、嵌入和索引保持本地存储。任何支持 MCP 的智能体调用
lilbee_search/lilbee_add并获取带引用的片段。
无论哪种方式,你的文件和索引都保留在你的计算机上。只有你提出的问题以及回答所需的相关片段会被发送到云端模型。
运行比单卡更大的模型
当聊天模型无法装入单个 GPU 时,lilbee 会将其分布到你拥有的多张 GPU 上。它使用 gguf-parser 为每个角色计算内存大小,在每张卡上保留余量,并将聊天模型张量拆分到能容纳它的最少 GPU 上,同时将嵌入器、重排序器和视觉模型放置在其旁边,由负载均衡路由器进行调度。这是自动完成的:提出一个问题,模型就会拆分加载到你的多张卡上,并从你自己的索引源中回答。
你也可以手动放置。放置编辑器将每个角色固定到你选择的卡上,在加载前预览适配情况,并实时应用。请求一个无法容纳的布局时,它会告诉你确切的不足量,而不是在加载时失败。

TUI
lilbee (无参数) 启动一个完整的 Textual 终端应用:支持可点击引用的流式聊天、带有可搜索选择器和 Search/Chat 切换功能的模型栏、用于后台任务的 Task Center,以及模型目录、设置、设置向导和生成的 wiki 的界面。输入 / 查看命令列表;Tab 补全在所有位置均可用。

Ctrl+P 打开 Textual 命令面板,? 在空提示符处(或在任意位置按 F1)切换键位速查表,/help 打开斜杠命令目录。lilbee 可执行的每个操作都可以通过这三个入口之一访问。

对话会被保留。重新打开之前的对话,其历史记录和引用将完整恢复。

告诉它一些关于你自己的信息,它便能跨对话记住,而不仅仅局限于单次对话。

所有设置均可在应用中编辑,首次运行时会引导您选择模型。


本页面上的每个 GIF(以及无法在此处容纳的额外内容)均以带有长篇字幕的嵌入式视频形式收录于 lilbee.sh/tutorial。磁带来源见 demos/。有关命令和设置,请参阅 使用指南。
硬件要求
独立模式完全在你的机器上运行。无需云端。最低要求: Apple Silicon Mac,或 2013 年及以后的 64 位 Intel/AMD CPU(较旧的 CPU:在较旧的 CPU 上),或 ARMv8 Linux 设备;8 GB 内存,2 GB 磁盘。
完整的平台与资源分解
| 平台 | 最低要求 | 推荐配置 |
|---|---|---|
| macOS arm64 | Apple Silicon (M1 或更新版本), macOS 11+ | M 系列 Pro / Max / Ultra |
| Linux x86_64 | 2013 年及以后的 64 位 Intel/AMD (x86-64-v3) | 现代 Intel/AMD CPU + NVIDIA、AMD 或 Intel Arc GPU |
| Windows x86_64 | 2013 年及以后的 64 位 Intel/AMD (x86-64-v3), Windows 10/11 | 现代台式机 / 工作站 CPU + GPU |
| Linux ARM64 | 支持 ARMv8 NEON (Raspberry Pi 4+, AWS Graviton, Ampere Altra) | 配备 16 GB 以上 RAM 的现代 ARM 服务器 |
| 资源 | 最低要求 | 推荐配置 |
|---|---|---|
| RAM | 8 GB | 16 至 32 GB,以便同时保持多个本地模型处于热状态(聊天 + 嵌入 + 重排序 + 视觉);实际占用空间取决于您选择的模型大小和量化方式 |
| GPU / Accelerator | 无需(仅 CPU 即可运行) | Apple Silicon (Metal) · NVIDIA / AMD / Intel Arc (Vulkan) · 捆绑运行时的更快厂商构建:NVIDIA 上的 CUDA,AMD 上的 ROCm(参见 安装) |
| Disk | 2 GB | 多个模型需 10 GB 以上 |
安装
两条路径,且差异至关重要:
- 自包含捆绑包(从这里开始):独立二进制文件,或封装它的 Homebrew / AUR / Nix / Docker / Flatpak / Snap / Scoop 构建。它自带 Python 运行时、
llama.cpp、模型引擎以及可选的附加组件,因此无需安装其他内容,也无需进行组装。其代价是一次较大的下载,以及首次自解压时微小的冷启动开销。 - 安装到你自己的 Python 中,使用
pip或uv(Python 3.11 到 3.14),详见下文中的独立章节。这是开发者路径:它将 lilbee 作为库安装在你管理的环境中,而模型引擎是来自另一个索引的独立附加组件,需要显式请求。如果你正在开发 lilbee 或将其导入到自己的代码中,请选择此路径。
拥有独立 GPU?捆绑构建和 Vulkan 引擎已经在使用它。还有更快的厂商构建:NVIDIA (CUDA) 和 AMD (ROCm)。
两种方式均无需外部服务;lilbee 在本地下载并运行模型。可选,用于扫描版 PDF / 图像 OCR:Tesseract(brew install tesseract / apt install tesseract-ocr)或 GGUF 视觉模型。
| 方式 | 命令 | 备注 |
|---|---|---|
| Homebrew | brew tap tobocop2/lilbee && brew install lilbee | macOS arm64 / Linux x86_64。捆绑构建;会为您清除 macOS 隔离标记。 |
| AUR | paru -S lilbee | Arch Linux。封装 Linux x86_64 二进制文件;可与 yay / pacaur / 任何辅助工具配合使用。 |
| Docker | docker run --rm -v lilbee-data:/home/lilbee/data ghcr.io/tobocop2/lilbee:latest --help | GHCR 镜像,按版本和 latest 标记。数据位于 /home/lilbee/data。请在此处挂载卷。:cuda 和 :rocm 标签包含厂商构建。 |
| Nix | nix run github:tobocop2/lilbee | NixOS、nix-darwin 或任何装有 nix 的主机。在 Linux 上,flake 捆绑了 glibc、libgomp 和 vulkan-loader,因此可在裸 NixOS 上运行。 |
| Flatpak | flatpak remote-add --if-not-exists lilbee https://tobocop2.github.io/flatpak-lilbee/lilbee.flatpakrepo && flatpak install lilbee io.github.tobocop2.lilbee | Linux x86_64,任何装有 flatpak 的发行版。需要 Flathub 远程源 以获取运行时。使用 flatpak run io.github.tobocop2.lilbee 运行(建议设置别名);flatpak update 可获取新版本。数据存储在 ~/.var/app/io.github.tobocop2.lilbee/ 下。偏好单文件?从 release 获取 lilbee.flatpakref 并 flatpak install ./lilbee.flatpakref。 |
| Snap | curl -LO https://github.com/tobocop2/lilbee/releases/latest/download/lilbee-linux-x86_64.snap && sudo snap install ./lilbee-linux-x86_64.snap --dangerous --classic | Linux x86_64。由于是侧载安装,snapd 会将其标记为 --dangerous(仅表示未签名),且不会自动更新;重新运行相同命令即可升级。 |
| Scoop | scoop bucket add lilbee https://github.com/tobocop2/lilbee && scoop install lilbee | Windows x86_64。在装有较新 NVIDIA 驱动器的机器上安装 CUDA 版本,否则安装 CPU 版本。scoop update lilbee 用于升级。 |
| Standalone binary | download for your platform → | 单文件,自带 Python 运行时,无需 pip。Linux 需要 glibc 2.28+;macOS / Windows 版本未签名(若 Gatekeeper 阻止,请 xattr -d com.apple.quarantine ./lilbee-macos-arm64)。 |
在 NVIDIA 硬件上
默认的 Vulkan 构建可在 NVIDIA 显卡上运行,但存在一个专用的 CUDA 构建,它在 NVIDIA 硬件上速度更快,并规避了 Windows 上 iGPU + dGPU 的 Vulkan 加载器崩溃问题。
CUDA 安装命令
| 命令 | |
|---|---|
| Homebrew | brew install tobocop2/lilbee/lilbee-cuda |
| AUR | paru -S lilbee-cuda |
| Nix | nix run github:tobocop2/lilbee#lilbee-cuda |
| Scoop | scoop install lilbee (当存在 NVIDIA 驱动程序时,自动选择 CUDA 构建) |
| Binary | lilbee-linux-x86_64-cu125 或 lilbee-windows-x86_64-cu125.exe |
| pip (开发者) | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/cu125/ |
| uv (开发者) | uv tool install --prerelease=allow 'lilbee[engine]' --extra-index-url https://lilbee.sh/cu125/ |
安装后使用相同的 lilbee 命令。CUDA 运行时已捆绑;您只需安装 NVIDIA 驱动程序。已安装常规 lilbee?在 AUR 上,paru -S lilbee-cuda 会自动替换它;在 Homebrew 上,请先运行 brew uninstall lilbee。驱动程序版本较旧?cu124 和 cu121 通过对应的 wheel 索引提供,并在发布页面上提供直接下载的 Linux 二进制文件。
在 AMD 硬件上
默认的 Vulkan 构建版本适用于 AMD 显卡,并且在未配置 ROCm 时作为回退方案。此外,还有一个性能更快的专用 ROCm 构建版本。它捆绑了 ROCm 用户空间,因此你只需要 amdgpu 内核驱动。
ROCm 安装命令
| 命令 | |
|---|---|
| Homebrew | brew install tobocop2/lilbee/lilbee-rocm |
| AUR | paru -S lilbee-rocm |
| Nix | nix run github:tobocop2/lilbee#lilbee-rocm |
| Flatpak | flatpak install lilbee io.github.tobocop2.lilbee.rocm |
| Binary | lilbee-linux-x86_64-rocm |
| pip (开发者) | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/rocm/ |
| uv (开发者) | uv tool install --prerelease=allow 'lilbee[engine]' --extra-index-url https://lilbee.sh/rocm/ |
安装后使用相同的 lilbee 命令。仅限 Linux。支持的显卡:MI100、MI200、MI300、MI350、RDNA2、RDNA3、RDNA3.5 APU 以及 RDNA4。ROCm 7 不包含 MI50 的 GEMM 内核,因此需要使用 Vulkan 构建版本。它是三种构建版本中最大的一个,因为 ROCm 用户空间和针对每张显卡的内核都包含在其中。
然后检查其运行并选择一个模型:
lilbee self-check # ~90 MB download; runs an inference + an embedding; "SELF-CHECK PASSED" on success
lilbee # launch the terminal app; pick a chat + embedding model on the welcome screen
使用指南涵盖了其余部分:TUI 界面、斜杠命令、CLI、HTTP 服务器、MCP、环境变量以及config.toml。
在较旧的 CPU 上(AVX2 之前)
2013 年之前的 Intel 或 Zen 之前的 AMD CPU 缺少 AVX2,因此常规构建在启动时会崩溃。lilbee-compat 构建可在任何 x86-64 芯片上运行,最早可追溯至 2008 年左右。
所有频道的安装命令,以及为何需要它
| 命令 | |
|---|---|
| Homebrew | brew install tobocop2/lilbee/lilbee-compat |
| AUR | paru -S lilbee-compat |
| Nix | nix run github:tobocop2/lilbee#lilbee-compat |
| Scoop | scoop install lilbee-compat |
| Flatpak | flatpak install lilbee io.github.tobocop2.lilbee.compat |
| Snap | curl -LO https://github.com/tobocop2/lilbee/releases/latest/download/lilbee-compat-linux-x86_64.snap && sudo snap install ./lilbee-compat-linux-x86_64.snap --dangerous --classic |
| Binary | lilbee-compat-linux-x86_64, lilbee-compat-windows-x86_64.exe, 或 lilbee-compat-macos-x86_64 (pre-AVX2 Intel Macs, e.g. the 2013 Mac Pro) |
| pip (devs) | pip install --pre lilbee 'lancedb==0.34.0+compat' --extra-index-url https://lilbee.sh/compat/ — 无引擎:没有兼容引擎 wheel,因此请使用上述捆绑构建或自带 llama-server |
如果可能,请在此处使用捆绑构建。兼容索引仅包含打过补丁的 lancedb,因此 pip 行会在没有引擎的情况下安装 lilbee,直到你将 LILBEE_LLAMA_SERVER_PATH 指向一个能在你的 CPU 上运行的 llama-server 之前,所有模型调用都会失败。
安装后使用相同的 lilbee 命令。崩溃源于 lancedb 的 AVX2 编译轮子;此构建替换为一个在运行时选择指令的 lancedb 分支。在上游 lance PR 上点赞或评论有助于其合并。
Linux 运行时要求
Linux x86_64 的 wheel 和二进制文件在运行时链接 Vulkan 加载器。大多数桌面发行版(Ubuntu 22.04+、Pop!_OS、Mint)都附带 libvulkan1;而裸的 Arch / Fedora / Alpine 镜像则没有,且 lilbee self-check 会因 cannot open shared object file: libvulkan.so.1 而失败。只需安装一次:sudo pacman -S vulkan-icd-loader(Arch / Manjaro)、sudo dnf install vulkan-loader(Fedora、RHEL)或 sudo apt-get install libvulkan1(Debian、Ubuntu)。
可选附加组件
这些仅对 pip 或 uv 安装有影响:添加括号中的名称,例如 pip install --pre 'lilbee[engine,crawler,litellm]'(可组合多个,且 --extra-index-url 仍然有效)。独立二进制文件以及 Homebrew / AUR / Nix / Docker / Flatpak / Snap 构建版本已包含全部四项,因此无需执行上述操作。[engine] 是真正不可选的一项;lilbee 在没有其他三项的情况下也能正常运行。
| 附加组件 | 新增功能 |
|---|---|
[engine] | 用于运行模型的捆绑版 llama-server。发布在 lilbee.sh 而非 PyPI 上,因此需要针对您的硬件的 --extra-index-url;没有它,任何模型都无法加载。 |
[crawler] | 将网站与您的文件一起建立索引:将文档站点或 wiki 爬取为 markdown,然后进行离线搜索。 |
[litellm] | 用于聊天、视觉或嵌入的托管模型提供商桥接,同时其他角色保持本地运行。TUI 会在托管角色激活时进行标记。 |
[graph] | 概念图搜索:提取文档中的想法,并利用它们之间的关系来呈现纯关键词搜索遗漏的匹配项。无需额外的模型调用。 |
请参阅 完整指南:可选附加组件 以获取配置说明。
开发者安装:pip 和 uv
用于开发 lilbee,或将其作为库导入到您管理的环境中。
以下所有内容都需要 [engine] 附加组件及其索引;上述捆绑构建不需要。
pip / uv 安装命令,以及按硬件划分的引擎索引
| 方式 | 命令 | 备注 |
|---|---|---|
| pip | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/cpu/ | Python 3.11 至 3.14。适用于任何支持 AVX2 的 x86_64 CPU(2013 年及以后;较旧的 CPU:在较旧的 CPU 上)。请根据下方内容替换为您的硬件对应的索引。 |
| uv | uv tool install --prerelease=allow 'lilbee[engine]' --extra-index-url https://lilbee.sh/cpu/ | 与 pip 使用相同的 wheel;如需 Python,它会为您获取一个。 |
| 从源码 | git clone https://github.com/tobocop2/lilbee && cd lilbee && uv sync && uv run lilbee | 需要 git 和 uv。uv sync 解析仓库内的引擎包,但 CI 才是填充其 bin/ 的环节,因此检出(checkout)中没有引擎二进制文件:请从下方索引安装 [engine] 额外依赖,或将 LILBEE_LLAMA_SERVER_PATH 指向您自己的 llama-server。 |
引擎。 llama-server 运行所有模型,它作为 [engine]
额外组件发布,而非 lilbee 的一部分。它不在 PyPI 上:CUDA 和 ROCm
轮子每个大小为 444 MiB 到 863 MiB,是
PyPI 默认的 100 MiB 单文件限制的数倍,
因此每个后端都从 lilbee 自己的
PEP 503 软件包索引 lilbee.sh 发布。
这正是 --extra-index-url 的用途,你选择的索引决定了你获得的构建版本:
cpu 编译时禁用了所有 GPU 后端,metal 仅发布 macOS
arm64 轮子,vulkan 仅发布 Linux 和 Windows 轮子。
| 硬件 | 索引 | 命令 |
|---|---|---|
| NVIDIA (CUDA) | cu125 | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/cu125/ |
| AMD (ROCm) | rocm | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/rocm/ |
| Apple silicon | metal | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/metal/ |
| 其他 GPU | vulkan | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/vulkan/ |
| 无 GPU | cpu | pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/cpu/ |
关闭该额外组件后,lilbee 仍然可以安装并启动。第一个需要模型的操作 会失败,并显示一个指明引擎名称并重复适用于你硬件的命令的错误, 因此它是可恢复的而非令人困惑的,但这是一步你必须执行的操作。
Agent 集成
将 lilbee-mcp skill 放入 .opencode/skills/ 或 .claude/skills/,将 lilbee 注册为 MCP 服务器,任何支持 MCP 的编码代理都可以搜索你的库、切换模型并调整检索。该 skill 是唯一的入口点:它记录了所有工具、代理应遵循的工作流,并指向 examples/agent-integration/ 下的即插即用 AGENTS.md 和 worker-subagent 启动器。
以下演示使用 opencode 配合云端模型。lilbee 保持本地运行;只有查询和返回的文本块会发送到云端模型。 若要改为在本地模型上运行代理本身,请参阅上文 Launch your coding agent on local models。
实时索引示例:opencode(云端模型)索引 Godot 4 寻路子集(约 3 秒),然后针对 AStarGrid2D 进行 lilbee_search,并针对你的 本地 文件逐方法作答。

它可以扩展。预索引 Godot 4 的完整类参考(810 个 XML,3449 个块),相同的 opencode + 云配置编写了一个程序化关卡生成器,每个 API 调用都有 godot-classes/<Class>.xml:line 引用作为支撑;并排基准测试 显示,没有 lilbee 时存在 4 个幻觉 API,有则 0 个。

HTTP 服务器
HTTP 服务器暴露了一个 REST API,任何工具或 GUI 都可以访问:搜索(支持 SSE 流式传输)、文档生命周期、爬取、模型管理、配置。请参阅 REST API 参考 和 使用指南 以了解设置。
Obsidian 插件 是基于它构建的 GUI:它在后台启动 HTTP 服务器,并且每个引用都会打开一个滚动到确切位置的 Source Preview。它是一个官方的 Obsidian 社区插件:在 Obsidian 内部从 Settings 然后 Community plugins 中安装它。插件 README 包含设置说明。
作为服务运行(可选)
对于与 lilbee 的 HTTP REST API 通信的工具(Obsidian 插件、自定义 GUI、任何访问 /api/* 的组件),你的操作系统启动器可以保持 HTTP 服务器处于热状态,以便请求跳过冷启动。
各平台的守护进程设置
这是 lilbee 唯一受益于守护进程的表面。TUI、lilbee chat、MCP 服务器以及 CLI 的其余部分都是按需加载,并在你关闭它们时退出。没有需要照看的常驻进程。
首先拉取一个聊天和嵌入模型;所有配方都将服务器固定到 127.0.0.1:42697。
| 平台 | 命令 |
|---|---|
| macOS (Homebrew) | brew services start lilbee |
| Linux (Arch / AUR) | systemctl --user enable --now lilbee (在无头服务器上添加 loginctl enable-linger $USER) |
| NixOS | 导入 lilbee.nixosModules.lilbee,设置 services.lilbee.enable = true; |
支持的格式
文档提取由 Xberg 提供支持,代码分块由 tree-sitter 提供支持。lilbee 支持 Xberg 可提取的所有格式(100+),并直接跟踪其列表,因此随着 Xberg 添加新格式,支持范围也会随之扩展。下表涵盖了常见格式。
格式表
| 格式 | 扩展名 | 依赖 |
|---|---|---|
.pdf | 无 | |
| 扫描版 PDF | .pdf(无可提取文本) | Tesseract(自动,纯文本,通过 LILBEE_OCR_LANGUAGE 支持 100 多种语言),或通过原生 mtmd 后端使用 GGUF 视觉模型(推荐,可将表格、标题和布局保留为 markdown) |
| 办公 | .docx, .xlsx, .pptx, .doc, .xls, .ppt, .odt, .ods, .rtf | 无 |
| 电子书 | .epub, .fb2 | 无 |
| 图像 (OCR) | .png, .jpg, .jpeg, .tiff, .bmp, .webp, .gif, .heic, .avif, .jp2/.j2k/.jpx (JPEG-2000) | Tesseract 或视觉模型 |
| 文本/标记 | .md, .txt, .html, .rst, .org, .tex, .typst | 无 |
| 数据 | .csv, .tsv, .json, .jsonl, .xml, .yaml, .toml | 无 |
| 电子邮件 | .eml, .msg | 无 |
| 归档 | .zip, .tar, .gz, .7z, .pst (合并内容已提取) | 无 |
| 代码 | .py, .js, .ts, .go, .rs, .java 以及 150+ 更多 通过 tree-sitter (AST 感知分块) | 无 |
Wiki
lilbee 读取你已索引的文档,并围绕它们撰写维基:每个概念或实体对应一个页面,而非每个文档对应一个页面。反复出现的主题会获得专属页面,该页面基于提及该主题最多的来源进行撰写和引用,并通过 [[wiki link]] 与其他页面交叉链接,跨来源的覆盖则来自综合页面。每个章节在发布前都会针对源文本进行引用验证;置信度较低的页面会进入 drafts/ 队列等待审核。
页面按需撰写:打开一个尚不存在的页面,lilbee 便会基于其拥有的来源进行撰写,并将其链接到其余部分。

请参阅使用指南了解命令和配置,以及wiki 如何验证了解其背后的依据。
其他项目也会生成 wiki 风格的页面;它们在读取内容、运行位置以及生成与发布之间发生的事情上有所不同。
对比表:lilbee 的 wiki 与 STORM、GraphRAG 和 DeepWiki-Open。点击展开。
| 能力 | lilbee wiki | STORM | GraphRAG | DeepWiki-Open |
|---|---|---|---|---|
| 从您自己的私有文档(PDF、笔记)构建 wiki | ✓ | 部分¹ | ✓ | —(代码仓库)² |
| 完全本地运行,无需云账户 | ✓ | ✓ | ✓³ | ✓(Ollama) |
| 每个生成的声明都带有引用及引文摘录 | ✓⁴ | — | — | —⁵ |
| 发布前对引用进行机械验证,确保与源文本一致 | ✓ | — | — | — |
| 质量门控(忠实度评分),隔离未通过的页面 | ✓ | — | — | — |
| 针对门控页面的人工审查队列:差异对比、接受、拒绝 | ✓ | — | — | — |
| 当源文档变更时检测过时的引用 | ✓ | — | —⁶ | — |
| 当源被删除时归档页面 | ✓ | — | — | — |
| 漂移保护:超过阈值的重写绝不会静默替换已审查的页面 | ✓ | — | — | — |
| Wiki 页面与您的文档一起反馈到搜索中 | ✓ | — | ✓ | — |
| 没有明确操作时绝不生成(自动更新严格为可选) | ✓ | 不适用 | 不适用 | 不适用 |
| 写作前进行多视角研究和大纲规划 | — | ✓ | — | 部分⁷ |
| 带有层级主题社区的实体关系图 | 部分⁸ | — | ✓ | — |
| 写作时在实时网络上研究主题 | — | ✓ | — | — |
| Web UI(自托管) | — | ✓(演示) | — | ✓ |
¹ STORM 的检索器是网络搜索引擎;其 VectorRM 基于自定义语料库,但文档必须预先转换为 CSV 并索引到 Qdrant 中。仓库中不支持 PDF 或笔记摄取。
² 一个包含 .md/.txt 文件的本地文件夹可通过 repo_type=local 工作,但不支持 PDF,且提示词假设存在代码库。
³ 任何兼容 OpenAI 的本地端点均可使用;配置验证器要求一个占位符 api_key 值。
⁴ 声明通过引用摘录或明确标记 [*inference*] 进行引用;lint 会标记任何未标记的声明。
⁵ 页面提示词指示对每个声明进行 file:line 引用,但没有任何机制验证这些引用,也没有引用任何摘录。
⁶ 存在增量索引,但旧的社区报告被原样保留;没有任何机制标记过时的页面。
⁷ 一个 LLM 结构规划步骤在撰写前生成页面大纲;没有多视角研究。
⁸ lilbee 的可选 [graph] 扩展构建了一个概念共现图(PMI 加权),具有扁平的 Leiden 社区,可用作 wiki 综合聚类器;没有类型化实体关系或层级社区。
构建基础
lilbee 构建于一套成熟的开源项目之上,全部打包为一次安装:
- Xberg 解析 90 多种文档格式,支持基于标题的文本分块。
- llama.cpp 是本地模型运行时:lilbee 捆绑了其
llama-server并为你启动它,因此每次聊天、嵌入、视觉和重排序调用都通过它进行。llama-swap 让每个角色的服务器常驻在一起,共享一个端点,而 gguf-parser 估算每个模型的内存占用,以便 lilbee 加载适合的内容。没有 llama.cpp 就没有 lilbee。 - Hugging Face Hub(通过 huggingface_hub)托管模型目录并处理所有下载。搜索、浏览和拉取都通过它进行。
- LanceDB 是嵌入式向量存储。
- tree-sitter(通过 tree-sitter-language-pack)对 150 多种语言的代码进行分块。
- crawl4ai 和 Playwright 爬取网络;当未设置视觉模型时,Tesseract 作为 OCR 回退方案。
- LiteLLM 桥接云端模型提供商(
[litellm]可选附加组件)。 - Textual 绘制终端界面;Litestar 运行 HTTP 服务器。
- MCP Python SDK 是代理接口;Typer 是 CLI;Pydantic 是配置 + 验证的核心。
- Nuitka 将整个项目编译为独立的单文件二进制文件,捆绑其自身的 Python 运行时,因此无需安装也无需编译。
常见问题
我的数据会离开我的机器吗? 不会。你的文件保留在磁盘上,搜索在本地运行。仅当你选择云端模型时才会使用云端模型。
模型能装进我的 GPU 吗? lilbee 会读取 GGUF 文件和你的设备信息,在下载前估算是否适配,并将大模型拆分到多块 GPU 上。详见 lilbee.sh/gpu。
我的编码智能体可以使用它吗? 可以,通过 MCP。智能体会在回答前读取你的实际代码和文档,并引用到具体的文件和行号。详见 lilbee.sh/mcp。
支持
遇到问题?请参阅 TROUBLESHOOTING.md 了解日志位置和常见故障。
lilbee 由一人构建和维护。如果它对你有用,你可以通过 PayPal 赞助。Bug 报告和 Pull Request 同样重要。
许可证
MIT。详见 LICENSE。

