ITADN
tobocop2/lilbee
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

lilbee

一个可执行文件包含完整的本地 AI 技术栈:它运行并管理模型,并使用它们搜索你拥有的一切。

项目站点  ·  教程短片  ·  PyPI  ·  Obsidian 插件  ·  REST API  ·  聊天 (#lilbee)

Latest release lilbee on PyPI Python 3.11+ License: MIT    CI Coverage Typed Ruff

平台 从 PyPI 安装 Homebrew tap AUR 上的 lilbee Nix flake Scoop bucket GHCR 上的 Docker 镜像 Flatpak 仓库 Snap 软件包

PyPI downloads per month Glama MCP server score MCP Toplist rank

Obsidian community plugin #lilbee on Libera.Chat

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

ask lilbee "what is lilbee in one sentence?" and get a cited answer drawn from its own README

它就是一个程序:没有独立的模型服务器、向量数据库,或需要启动的容器。lilbee 自行运行模型并维护索引。你可以将其作为终端应用、CLI、Model Context Protocol 服务器、HTTP API 或 Python 库来访问。关闭它即消失,或将其作为服务运行以保持热状态。一切都在你的计算机上运行;仅当你选择云端模型时才使用云端模型。

模型也不例外:lilbee 拥有自己的模型管理器和多 GPU 集群,基于 llama.cpp 构建,因此一个可执行文件即可完成所有操作(浏览 Hugging Face、下载模型、分配角色、在 Metal / Vulkan / CUDA 上运行)。你完全不需要 OllamaLM Studiolilbee 运行的模型家族 是 Hugging Face 上 190,000+ 个 GGUF 仓库中大多数背后的架构,并在真实 GPU 上按家族进行了验证。如果你已经在使用它们,请将 lilbee 指向你现有的配置并保留你的模型。

教程视频: 本页面上的所有演示(以及额外内容)均以真实视频播放器形式呈现于 lilbee.sh/tutorial

⚠️ Beta 软件

lilbee 正处于活跃 Beta 开发阶段。PyPI 上的每个版本都是预发布版;安装时必须使用 --pre(或 uv 的 --prerelease=allow)。接口、命令名称和磁盘格式可能在 Beta 版本之间发生变化。非常欢迎反馈、错误报告和问题;这正是 Beta 的意义所在。

最新预发布版(始终):lilbee on PyPI →



快速入门

根据你是否亲自操作,推荐使用以下两种方式使用 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 服务器(原生支持 opencodehermes)、HTTP 服务器、TUI 以及 Python,全部集成在一个文件中。

它介于两个世界之间:那些能让模型在你的机器上聊天的桌面运行器(OllamaLM Studio),以及 vLLM,后者是你搭建的用于将单个模型推向用户集群的服务器。lilbee 运行模型以对你的文件进行检索,并将整个技术栈扩展到机器中的每一块 GPU,只需一个小型文件即可实现。

完整对比表:lilbee 与 Ollama、LM Studio 和 vLLM。点击展开。

完整对比表

lilbeeLM StudioOllamavLLM
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 placementVRAM 感知的张量分割✓ 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)。

macOSWindowsLinux您将获得
lilbee (Metal / Vulkan,默认)317 MB333 MB478 MB完整技术栈:搜索引擎、爬虫、服务器、TUI、模型运行器、集群管理器
lilbee (CUDA,NVIDIA 可选)n/a666 MB1.25 GB相同的完整技术栈,附带更快的 CUDA 运行时
lilbee (ROCm,AMD 可选)n/an/a854 MB*相同的完整技术栈,附带更快的 ROCm 运行时
Ollama181 MB1.56 GB (捆绑 CUDA)1.42 GB (捆绑 CUDA)一个模型运行器,需单独获取其运行时
LM Studio569 MB617 MB1.10 GB一个桌面应用 (Electron)
vLLMn/an/a数 GB一个 Python + CUDA 服务引擎

即使是 lilbee 的 CUDA 构建版本,其大小也小于 Ollama,而且它是完整的技术栈,而不仅仅是一个模型运行器。

* ROCm 是唯一一个尚未来自某个发布版本的指标:它是当前二进制 CI 构建中测量的,并在首个包含它的发布版本中原样落地于此。

已经在用 Ollama 或 LM Studio 了吗?lilbee 运行在它们之上。更喜欢图形界面而非终端?Obsidian 插件 将 lilbee 的模型管理器和搜索功能映射到 Vault 内的可视化界面。

首次启动

首次启动会执行一次性工作:捆绑的构建文件会在进度条后解压,模型会在你的第一个回答之前加载,并实时显示在回答气泡中。之后的每次启动都会在几秒内直接打开聊天界面。

首次启动之后的每次启动
First launch: a one-time unpack bar, chat opens, the first answer shows the engine loading in its bubble, then streamsEvery later launch: chat opens in about two seconds and the answer follows

使用小型聊天模型(Qwen3 0.6B)测量:

首次启动之后的每次启动
聊天界面显示15 到 20 秒,一次性解压2 到 3 秒
会话的第一个回答10 到 20 秒,引擎加载在气泡中播放相同,或使用 Keep engine warm 时即时
之后的回答模型速度模型速度

更大的模型加载时间更长;气泡在读取权重时显示实际进度。 引擎生命周期如何运作,以及如何保持其处于热状态以使重新启动完全跳过 加载过程,详见使用指南

你可以用它做什么

你自己的文件库

将 lilbee 指向包含 PDF、笔记、电子书或代码的文件夹,它会构建一个可搜索的库,并带有可点击返回源行的引用。该模式适用于你拥有大量文本的任何内容:一架子家电说明书、某个领域的研究论文、汽车的维修手册、你公司的内部 wiki。你提供的任何内容都可被搜索,并且你可以与之对话。

/add a PDF, watch the Task Center, ask a cited question

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

ask what the manual says about towing a trailer; lilbee answers from the indexed PDF and cites the page

在本地模型上启动你的编码代理

lilbee launch opencodelilbee launch hermes 通过一条命令在你的代理中配置 lilbee 的本地模型。lilbee 会在代理自身的配置中注册为提供商和 MCP 服务器,保持你现有的设置不变,预热一个模型,并打开指向该模型的代理。无需 API 密钥,无需提供商设置,且没有任何数据离开你的机器。工具调用支持许多 GGUF 系列;docs/agent-models.md 包含已验证的列表以及 QA 测试框架如何衡量它。

一个模型可以服务于你想运行的任意数量的代理。这些演示视频展示了四个代理同时针对单个本地模型工作,每个代理执行各自的任务:查找并修复导致测试失败的 bug,重构两个函数中重复的逻辑,以及使用 lilbee_search 搜索已索引的项目。

four agents at once on Qwen3 Coder 30B A3B, each fixing, refactoring or searching through lilbee

four agents at once on MiniMax M2.7, writing Python functions through lilbee

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

agent fine-tunes lilbee mid-conversation: outline, then widened retrieval, then source with file:line citations

AI 代理参考

配置完成后,lilbee 通过 MCP 接入你使用的任何代理。将你的项目文档、依赖源码、API 文档和设计笔记喂给它;代理不再凭空捏造函数名,而是读取实际代码,引用文件和行号,并在答案不在你的库中时明确表示不知道。

你的文件、搜索索引和嵌入向量都保留在你的计算机上。代理调用 lilbee_search 并获取带引用的代码片段。下面的演示是 lilbee 与 lilbee 的对话:一个代理索引 lilbee 自身的源码,然后回答关于 lilbee 如何工作的问题,并附带 file:line 引用。

an agent indexes lilbee's own source through lilbee's MCP server, then answers questions about how lilbee works with file:line citations

网站的离线副本

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

/crawl a Wikipedia page, then ask a cited question against it

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

crawl a whole site at depth 1, then ask a multipart question that spans it: a cited answer drawn from across the pages, with Qwen3-8B and a reranker

文档、代码与扫描图像

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 显卡上,投影器由拉取过程自动获取):

家族投影器类型
LightOnOCRlightonocr
Qwen2.5-VLqwen2.5vl merger
Qwen3-VLqwen3vl
Gemma 3gemma3
SmolVLM2idefics3
MiniCPM-Vresampler
InternVL3internvl
LLaVA 1.6mlp
Gemma 4mixed vision+audio
dots.ocrdots.ocr

对话(每个内存架构类别一个):

类别代表模型
稠密 GQALlama 3.2
稠密Qwen3
滑动窗口注意力Gemma 3
多头潜在注意力DeepSeek V2 Lite
混合专家OLMoE
混合 SSMLFM2

嵌入:

类别代表模型
BERT 编码器all-MiniLM-L6-v2
nomic-bertnomic-embed-text v1.5
解码器池化Qwen3-Embedding 0.6B
解码器池化,大模型Qwen3-Embedding 8B
XLM-RoBERTabge-m3

重排序:

类别代表模型
交叉编码器bge-reranker-v2-m3
LLM 重排序器Qwen3-Reranker 0.6B

browse the model catalog, search Hugging Face Hub, pull a model live

已经在运行 Ollama 或 LM Studio?保留它们。

观看: Ollama 作为模型管理器LM Studio 作为模型管理器。将 lilbee 指向一个正在运行的管理器,对摄像头中的 PDF 进行索引,并获取带引用的答案。

lilbee 支持 OllamaLM 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 选项卡中选取,其中每一行都标明了其运行的服务器。

models served by Ollama, picked from the catalog, answering from an indexed manual

models served by LM Studio, picked from the catalog, answering from an indexed manual

在下载前查看模型是否无法加载

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

search HF Hub for deepseek-v4, see the unsupported pill in grid and list view

云端模型,随取随用

lilbee 默认完全在你的机器上运行。当你需要云端模型时,有两种使用方式:

  • 自带密钥。 安装 [litellm] 扩展,添加一个 API 密钥,然后将任何角色(chat、embedding、vision、rerank)指向同一目录中的云端模型。只要云端模型处于开启状态,TUI 就会持续显示警告。
  • 通过 MCP 将 lilbee 与云端智能体配对。 你的文件、嵌入和索引保持本地存储。任何支持 MCP 的智能体调用 lilbee_search / lilbee_add 并获取带引用的片段。

无论哪种方式,你的文件和索引都保留在你的计算机上。只有你提出的问题以及回答所需的相关片段会被发送到云端模型。

运行比单卡更大的模型

当聊天模型无法装入单个 GPU 时,lilbee 会将其分布到你拥有的多张 GPU 上。它使用 gguf-parser 为每个角色计算内存大小,在每张卡上保留余量,并将聊天模型张量拆分到能容纳它的最少 GPU 上,同时将嵌入器、重排序器和视觉模型放置在其旁边,由负载均衡路由器进行调度。这是自动完成的:提出一个问题,模型就会拆分加载到你的多张卡上,并从你自己的索引源中回答。

你也可以手动放置。放置编辑器将每个角色固定到你选择的卡上,在加载前预览适配情况,并实时应用。请求一个无法容纳的布局时,它会告诉你确切的不足量,而不是在加载时失败。

the placement editor: a too-small layout refused with the exact shortfall, then spread across the cards and applied

TUI

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

sweep through every TUI screen

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

command palette, keybinding cheat sheet, slash-command catalog

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

resume an earlier conversation from the sessions drawer

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

remember a fact and a preference, then answer from them in a brand new chat

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

walk every settings pane without leaving the terminal

the first-run wizard: pick a chat model and an embedding model, and go

本页面上的每个 GIF(以及无法在此处容纳的额外内容)均以带有长篇字幕的嵌入式视频形式收录于 lilbee.sh/tutorial。磁带来源见 demos/。有关命令和设置,请参阅 使用指南

硬件要求

独立模式完全在你的机器上运行。无需云端。最低要求: Apple Silicon Mac,或 2013 年及以后的 64 位 Intel/AMD CPU(较旧的 CPU:在较旧的 CPU 上),或 ARMv8 Linux 设备;8 GB 内存,2 GB 磁盘。

完整的平台与资源分解
平台最低要求推荐配置
macOS arm64Apple Silicon (M1 或更新版本), macOS 11+M 系列 Pro / Max / Ultra
Linux x86_642013 年及以后的 64 位 Intel/AMD (x86-64-v3)现代 Intel/AMD CPU + NVIDIA、AMD 或 Intel Arc GPU
Windows x86_642013 年及以后的 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 服务器
资源最低要求推荐配置
RAM8 GB16 至 32 GB,以便同时保持多个本地模型处于热状态(聊天 + 嵌入 + 重排序 + 视觉);实际占用空间取决于您选择的模型大小和量化方式
GPU / Accelerator无需(仅 CPU 即可运行)Apple Silicon (Metal) · NVIDIA / AMD / Intel Arc (Vulkan) · 捆绑运行时的更快厂商构建:NVIDIA 上的 CUDA,AMD 上的 ROCm(参见 安装)
Disk2 GB多个模型需 10 GB 以上

安装

两条路径,且差异至关重要:

  • 自包含捆绑包(从这里开始):独立二进制文件,或封装它的 Homebrew / AUR / Nix / Docker / Flatpak / Snap / Scoop 构建。它自带 Python 运行时、llama.cpp、模型引擎以及可选的附加组件,因此无需安装其他内容,也无需进行组装。其代价是一次较大的下载,以及首次自解压时微小的冷启动开销。
  • 安装到你自己的 Python 中,使用 pipuv(Python 3.11 到 3.14),详见下文中的独立章节。这是开发者路径:它将 lilbee 作为库安装在你管理的环境中,而模型引擎是来自另一个索引的独立附加组件,需要显式请求。如果你正在开发 lilbee 或将其导入到自己的代码中,请选择此路径。

拥有独立 GPU?捆绑构建和 Vulkan 引擎已经在使用它。还有更快的厂商构建:NVIDIA (CUDA)AMD (ROCm)

两种方式均无需外部服务;lilbee 在本地下载并运行模型。可选,用于扫描版 PDF / 图像 OCR:Tesseractbrew install tesseract / apt install tesseract-ocr)或 GGUF 视觉模型

方式命令备注
Homebrewbrew tap tobocop2/lilbee && brew install lilbeemacOS arm64 / Linux x86_64。捆绑构建;会为您清除 macOS 隔离标记。
AURparu -S lilbeeArch Linux。封装 Linux x86_64 二进制文件;可与 yay / pacaur / 任何辅助工具配合使用。
Dockerdocker run --rm -v lilbee-data:/home/lilbee/data ghcr.io/tobocop2/lilbee:latest --helpGHCR 镜像,按版本和 latest 标记。数据位于 /home/lilbee/data。请在此处挂载卷。:cuda:rocm 标签包含厂商构建。
Nixnix run github:tobocop2/lilbeeNixOS、nix-darwin 或任何装有 nix 的主机。在 Linux 上,flake 捆绑了 glibclibgompvulkan-loader,因此可在裸 NixOS 上运行。
Flatpakflatpak remote-add --if-not-exists lilbee https://tobocop2.github.io/flatpak-lilbee/lilbee.flatpakrepo && flatpak install lilbee io.github.tobocop2.lilbeeLinux x86_64,任何装有 flatpak 的发行版。需要 Flathub 远程源 以获取运行时。使用 flatpak run io.github.tobocop2.lilbee 运行(建议设置别名);flatpak update 可获取新版本。数据存储在 ~/.var/app/io.github.tobocop2.lilbee/ 下。偏好单文件?从 release 获取 lilbee.flatpakrefflatpak install ./lilbee.flatpakref
Snapcurl -LO https://github.com/tobocop2/lilbee/releases/latest/download/lilbee-linux-x86_64.snap && sudo snap install ./lilbee-linux-x86_64.snap --dangerous --classicLinux x86_64。由于是侧载安装,snapd 会将其标记为 --dangerous(仅表示未签名),且不会自动更新;重新运行相同命令即可升级。
Scoopscoop bucket add lilbee https://github.com/tobocop2/lilbee && scoop install lilbeeWindows x86_64。在装有较新 NVIDIA 驱动器的机器上安装 CUDA 版本,否则安装 CPU 版本。scoop update lilbee 用于升级。
Standalone binarydownload 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 安装命令
命令
Homebrewbrew install tobocop2/lilbee/lilbee-cuda
AURparu -S lilbee-cuda
Nixnix run github:tobocop2/lilbee#lilbee-cuda
Scoopscoop install lilbee (当存在 NVIDIA 驱动程序时,自动选择 CUDA 构建)
Binarylilbee-linux-x86_64-cu125lilbee-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。驱动程序版本较旧?cu124cu121 通过对应的 wheel 索引提供,并在发布页面上提供直接下载的 Linux 二进制文件。

在 AMD 硬件上

默认的 Vulkan 构建版本适用于 AMD 显卡,并且在未配置 ROCm 时作为回退方案。此外,还有一个性能更快的专用 ROCm 构建版本。它捆绑了 ROCm 用户空间,因此你只需要 amdgpu 内核驱动。

ROCm 安装命令
命令
Homebrewbrew install tobocop2/lilbee/lilbee-rocm
AURparu -S lilbee-rocm
Nixnix run github:tobocop2/lilbee#lilbee-rocm
Flatpakflatpak install lilbee io.github.tobocop2.lilbee.rocm
Binarylilbee-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 年左右。

所有频道的安装命令,以及为何需要它
命令
Homebrewbrew install tobocop2/lilbee/lilbee-compat
AURparu -S lilbee-compat
Nixnix run github:tobocop2/lilbee#lilbee-compat
Scoopscoop install lilbee-compat
Flatpakflatpak install lilbee io.github.tobocop2.lilbee.compat
Snapcurl -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
Binarylilbee-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)。

可选附加组件

这些仅对 pipuv 安装有影响:添加括号中的名称,例如 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 安装命令,以及按硬件划分的引擎索引
方式命令备注
pippip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/cpu/Python 3.11 至 3.14。适用于任何支持 AVX2 的 x86_64 CPU(2013 年及以后;较旧的 CPU:在较旧的 CPU 上)。请根据下方内容替换为您的硬件对应的索引。
uvuv 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需要 gituvuv 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)cu125pip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/cu125/
AMD (ROCm)rocmpip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/rocm/
Apple siliconmetalpip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/metal/
其他 GPUvulkanpip install --pre 'lilbee[engine]' --extra-index-url https://lilbee.sh/vulkan/
无 GPUcpupip 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,并针对你的 本地 文件逐方法作答。

an MCP-driven coding agent indexes a small local godot subset and answers with cited methods

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

cited codegen against the full Godot class reference

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.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 感知分块)

此外,还支持笔记本、参考文献、iWork 以及音频/视频等。请参阅 使用指南 了解 OCR 设置以及 模型基准测试

Wiki

lilbee 读取你已索引的文档,并围绕它们撰写维基:每个概念或实体对应一个页面,而非每个文档对应一个页面。反复出现的主题会获得专属页面,该页面基于提及该主题最多的来源进行撰写和引用,并通过 [[wiki link]] 与其他页面交叉链接,跨来源的覆盖则来自综合页面。每个章节在发布前都会针对源文本进行引用验证;置信度较低的页面会进入 drafts/ 队列等待审核。

页面按需撰写:打开一个尚不存在的页面,lilbee 便会基于其拥有的来源进行撰写,并将其链接到其余部分。

browse a cited wiki, then watch lilbee write a new page on demand

请参阅使用指南了解命令和配置,以及wiki 如何验证了解其背后的依据。

其他项目也会生成 wiki 风格的页面;它们在读取内容、运行位置以及生成与发布之间发生的事情上有所不同。

对比表:lilbee 的 wiki 与 STORM、GraphRAG 和 DeepWiki-Open。点击展开。
能力lilbee wikiSTORMGraphRAGDeepWiki-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 多种语言的代码进行分块。
  • crawl4aiPlaywright 爬取网络;当未设置视觉模型时,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