shlokkhemani/rabbithole — explained in plain English
Analysis updated 2026-05-18
Research a topic by branching off any sentence into a new explained document.
Set up an MCP server so Claude Code or Codex can answer questions inside a visual canvas.
Drop in a PDF or URL and explore it interactively instead of reading top to bottom.
Self-host the static web build to keep documents and API keys fully local.
| shlokkhemani/rabbithole | spupuz/vibenvr | nevertoday/zhongguo-traditional-colors | |
|---|---|---|---|
| Stars | 288 | 287 | 285 |
| Language | JavaScript | JavaScript | JavaScript |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 3/5 | 1/5 |
| Audience | vibe coder | general | designer |
Figures from each repo's GitHub metadata at analysis time.
Needs an OpenRouter API key for the web app, or a local model server like Ollama for the no-key option.
Rabbithole is a tool for exploring a topic by following your curiosity. You open a document, select any piece of text, ask a question about it, and the answer opens as a new document connected to the spot you selected. You can keep doing this as many times as you like, going deeper into whatever interests you, and every one of these branches is saved so you can come back to it later. There are two ways to use it. The first is a web app at rabbithole.ing. You bring your own OpenRouter key, or point it at a model running on your own computer through something like Ollama or LM Studio, and everything, including your documents and your API key, stays in your browser. There is no account and no backend server involved. You can start from a PDF, a Markdown file, a URL, or just a question. The second way is as an MCP server, which lets AI coding agents like Claude Code or Codex answer your questions instead of a model you configure yourself. In this mode, the agent runs the server on your own machine and gives itself a canvas in your browser to work in. You install it with a single command, then tell your agent to open a document in Rabbithole, and a browser tab appears where you can select text and ask questions as before. The project ships with a reader mode for fullscreen reading with a sidebar of your branches, answers that stream in as they are written, and support for rich Markdown including math, code, and diagrams. You can also import a PDF directly, with selectable text and the ability to select regions of a page rather than just text. It is built in JavaScript, requires Node 18 or newer to run locally, and can be self-hosted as a static site since the browser build has no backend of its own. The full README is longer than what was shown.
An infinite canvas where selecting text and asking a question opens the answer as a new connected document, so you can follow your curiosity as deep as it goes.
Mainly JavaScript. The stack also includes JavaScript, Node.js, MCP.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly vibe coder.
This repo across BitVibe Labs
double-check against the repo, no cap.