Render your Obsidian vault as a browsable, print-friendly website. One command to install and run on a Mac.
Paste this into Terminal (Applications → Utilities → Terminal):
curl -fsSL https://accionlabs.github.io/knowledge-manager/install.sh | bash
On first run, it installs Node.js in your user profile (no admin needed), clones the repo into
~/knowledge-manager/, installs dependencies (~1 min), prompts for your Obsidian vault folder,
and opens the site in your browser.
On subsequent runs it just starts the server. Stop with Ctrl+C.
bash ~/knowledge-manager/site/install.sh).http://localhost:8080 (or the next free port).rm ~/knowledge-manager/.vault-path, then re-run the install command. You'll be re-prompted.git pull automatically on every run.~/knowledge-manager/ — source, node_modules, logs. Everything is in your home folder; no hidden library paths.Install Apple's Command Line Tools (one-time, ~5 min):
xcode-select --install
The script auto-picks a free port between 8080-8100 for HTTP and 3001-3100 for the
WebSocket live-reload. The actual port is printed in Terminal (Running at http://localhost:XXXX).
Reset and re-prompt:
rm ~/knowledge-manager/.vault-path
Then re-run the install command.
Delete the install folder:
rm -rf ~/knowledge-manager
Then re-run the install command.
The default sidebar search is fast and works offline (Quartz's built-in keyword index). If you want hybrid search — BM25 + vector embeddings + LLM rerank — over your notes, you can plug in tobi/qmd. Useful if you have a large vault and want natural-language queries like "what did we decide about authentication?".
# Install qmd globally
npm install -g @tobilu/qmd
# Index your vault (replace the path)
qmd collection add "/path/to/your/Obsidian/vault" --name content
# Generate embeddings (~5–10 min, downloads a GGUF model)
qmd embed
A tiny HTTP shim (in ~/knowledge-manager/qmd-search/) translates between the Quartz UI and qmd's CLI. Leave this running in its own Terminal tab:
cd ~/knowledge-manager/qmd-search
node server.mjs
Edit ~/knowledge-manager/quartz.layout.ts — find both occurrences of Component.Search() and replace with:
Component.Search({
backend: "qmd",
qmdEndpoint: "http://localhost:9090",
}),
Restart Knowledge Manager. The sidebar search now queries qmd. If the bridge server isn't running, the panel shows a friendly "qmd unreachable" message — no crash. To revert to FlexSearch, just remove the argument.
You can also use the standalone qmd-search UI at http://localhost:9090 (served by the bridge
server) without touching Quartz at all.
An alternative one-click installer packaged as a Mac .app. Early builds had Gatekeeper friction and
port-debugging issues, so the script above is the recommended path for now. The app is still available if
you'd like to try it:
On first launch macOS may warn that the app is from an unidentified developer. Right-click the app → Open → Open.