Self-hostable AI search

AI search you can self-host

Perplexity-style search over the open web and your own files. Plug in your LLM key, run the whole stack yourself. This is a pattern and a working self-host example, not a hosted product.

$ rh --whoami
search Tavily, or self-hosted SearXNG
corpus your files, embedded in pgvector (qwen3, 1024-dim)
models bring your own key — any OpenAI-compatible gateway
cli rh — search, recall, research, ingest
deploy docker compose, one stack
license Apache-2.0
01

Agentic search, with citations

A multi-step tool-calling agent searches the web, Wikipedia, and your own corpus, then synthesizes a single cited answer. It decides which sources to reach for and when to stop.

02

Your files, made searchable

Ingest PDFs, documents, audio, and video. The bundled job processor parses and transcribes them, embeds the chunks into a pgvector corpus, and the agent searches it alongside the open web.

03

Bring your own key

Point it at any OpenAI-compatible gateway and pay for your own inference. No subscription, no per-seat pricing, no vendor lock-in. The same key drives the web app and the CLI.

04

Self-host the whole thing

One docker-compose stack: Postgres with pgvector, object storage, the job processor, and the app. Run it on a laptop or a homelab box. Your data and queries stay on your infrastructure.

05

A CLI built to be scripted

rh exposes search, recall, research, and ingest from the terminal. It is a thin tool over your search backends and LLM gateway — easy to pipe, automate, and shell out to from other agents.

Bring it up

git clone https://github.com/protoLabsAI/rabbit-hole.io
cd rabbit-hole.io
cp .env.example .env   # add your LLM key
docker compose up

Then open the docs for the quickstart, or poke the live BYOK demo — you bring the key, it runs on a homelab box behind a Cloudflare tunnel.