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.
Self-hostable AI search
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 search "how does RRF rank fusion work"web 6 results (tavily)corpus 3 chunks (pgvector, qwen3-1024)$ rh recall "our embeddings config" -k 30.91 infra/embeddings.md#L120.88 notes/ingest-pipeline.md#L40
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.
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.
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.
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.
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.
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. Bring your own LLM key; everything runs on your machine.