magehand — Local RAG Assistant for Tabletop Game Masters
Answers rules questions from your own books and keeps track of your campaign. Runs against a local model or a hosted one.
- ROLE
- Solo — design and engineering
- PERIOD
- 2026 – Present
- RUNS FULLY OFFLINE
- Local
- STACK
- Rust, RAG, Local LLMs (Ollama), OpenRouter, Whisper
THE PROBLEM
Running a campaign means holding two things at once. The rules are thousands of pages you can't search while four people wait. Your own canon lives in scattered notes and in your head. A general chatbot is bad at the first, since it will invent a rule and sound sure about it, and useless at the second, since it has never read your notes.
WHAT I BUILT
- Indexes your rulebooks and your campaign vault locally. Answers quote the passages they came from and cite them, so they're checkable.
- Campaign state is a plain-markdown Obsidian vault that magehand reads and writes. If the tool disappears the notes are still notes.
- Record a table ruling once and later answers lead with your version rather than arguing with it.
- Player mode restricts retrieval to player-visible sources. A per-player secret ledger keeps one player's briefing from leaking another's.
- Live mode transcribes game night locally and shows entity cards matched against your vault, with no model calls while you play. Afterwards a cleanup pass writes a draft. You read it and promote it. Nothing enters canon on its own.
- Runs against a local Ollama model or a hosted one through OpenRouter. The offline path is a real option, not a degraded one.
OUTCOME
- Rules answers that quote the actual text and cite it, instead of sounding right.
- Continuity that survives between sessions: open threads, debts, NPCs and an in-world calendar, all tracked.
- Nothing enters canon without review, and the whole thing runs with no network.
SCREENSHOTS

