A batteries-included local search engine you can talk to: it runs the AI models, indexes your files and code, crawls the web, and plugs into your coding agent, so there's nothing else to install or set up. Ask in plain English; every answer cites the file and line.

It's all one program: no separate model server, vector database, or container to stand up. lilbee runs the models and keeps the index itself. Reach it as a terminal app, CLI, Model Context Protocol server, HTTP API, or Python library. Close it and it's gone, or run it as a service to keep it warm. Everything runs on your computer; it uses a cloud model only when you pick one.
Models are no different: lilbee has its own model manager and multi-GPU fleet, built on llama.cpp, so one executable does everything (browse Hugging Face, download a model, give it a role, run it on Metal / Vulkan / CUDA). Battle-tested managers are always supported too. If you already use Ollama or LM Studio, point lilbee at your existing setup and skip its native model support if you prefer.
Tutorial reel: every demo on this page (and the extras) as a real video player at lilbee.sh/tutorial.
⚠️ Beta software
lilbee is in active beta development. Every release on PyPI is a pre-release; you must use
--pre(or uv's--prerelease=allow) when installing. Interfaces, command names, and on-disk formats may shift between betas. Feedback, bug reports, and issues are very welcome; that's the whole point of the beta.Latest pre-release (always): lilbee on PyPI →
The multi-GPU and agent-integration features highlighted in this README are brand new: they live on
mainonly for now, and they'll land in a formal release once they've been vetted.
- Quick start
- Tutorial reel (long-form videos)
- Highlights
- Why lilbee
- What you can do with it
- TUI
- Hardware requirements
- Install
- Agent integration
- HTTP Server · REST API reference
- Supported formats
- Experimental
- Built on
Quick start
Two recommended ways to use lilbee, depending on whether you're the one driving:
- Run
lilbeefor the full-screen terminal app. A welcome wizard picks a chat and embedding model, then you index files, search, and chat without leaving the TUI. The Settings screen exposes every retrieval knob (search depth, distance threshold, reranker, chunking) so you can tune lilbee to your library shape. - Connect it to your agent over MCP. Any MCP-aware coding agent calls
lilbee_search/lilbee_addand gets back cited snippets it can quote. Agents can also fine-tune lilbee on the fly vialilbee_settings_set. Drop in the lilbee-mcp skill and the agent reads the full surface: every tool, every retrieval knob, and when to widen for prose vs narrow for code. See Agent integration.
Defaults are sane for chatting with code, documentation, crawled sites, and long PDFs. Every retrieval setting is writable from the TUI Settings screen, the /set slash command, MCP lilbee_settings_set, or config.toml. When answers feel thin or noisy, the usual knobs are top_k, max_distance, or diversity_max_per_source.
CLI, the HTTP API, env vars, and config.toml are there for scripting, headless runs, and custom integrations. See the usage guide.
Highlights
- Answers cite the source line. Click a citation, jump to the file at the exact line. When the answer isn't in your library, lilbee says so instead of inventing one.
- It works, and the demos prove it. Every GIF and tutorial reel here is recorded live on real hardware, nothing staged. Backed by 100% test coverage, full typing, and CI on macOS, Linux, and Windows.
- Up and running in one command. Install, run
lilbee, and a first-run wizard pulls a model and drops you straight into chat. - Reads almost anything you point it at. Documents, scanned pages, spreadsheets, ebooks, web pages, and source code: 90+ formats and 150+ languages in all. Whatever you give it becomes searchable.
- Splits it into pieces that stand on their own. Prose and code are chunked differently, so each piece keeps its meaning instead of getting cut mid-thought. A search engine is only as good as the chunks underneath it, and this is where most of the quality lives.
- A sophisticated search engine on top, built on published research. It ranks every result by how well it answers you, so the best match comes back first. 50+ knobs to tune from the Settings screen or hand to your agent, with sane defaults if you'd rather not.
- It brings and runs the models itself. Browse Hugging Face, pull a model, give it a role (chat, embedding, vision, reranking); lilbee runs it on Metal, Vulkan, or CUDA. You never point it at a server you set up.
- Already on Ollama or LM Studio? Keep them. Managing models for you is the default, but lilbee also works with both, so you never have to switch model managers. Their models show up in the same catalog and role pickers, alongside lilbee's own.
- Your hardware, put to work. Your machine can do a lot more than you're using it for. lilbee runs local models on hardware you already own, no cloud account required.
- Per-project libraries. Keep one library for everything, or give each project its own.
- One install, many surfaces. TUI, CLI, MCP server, REST API, and Python library. Nothing to stand up.
- Everything in one file, nothing to operate. The standalone binary bundles the whole thing (search engine, web crawler, MCP server, HTTP server, terminal UI, Python, and llama.cpp) in 250-365 MB, or 600 MB+ with CUDA. No Docker, no vector database, no model server, nothing to keep running; it loads on demand. Comparable desktop AI apps (often Electron) ship hundreds of MB to several GB and do less.
- Works with your coding agent. Connect lilbee to your AI coding assistant and it answers from your actual files and code, with citations, instead of guessing. It can even adjust its own search as it works.
Why lilbee
A small local model is fun, but limited on its own. Give it properly processed documents and a search engine over them, and it becomes genuinely powerful. Without those, it never gets past novelty.
lilbee does all of it in one install: it runs the models, processes your documents, crawls the web pages you point it at, and searches the lot with a real engine. Use it in the terminal, or connect it to your coding a
…