Chronicle KeeperScriptorium
Local-first · Offline · Open source

Turn session recordings into chronicle-worthy notes.

Drop in a Craig Bot recording, label who's who, and Chronicle Keeper transcribes every track on your own machine and writes up the session — Markdown with Obsidian frontmatter, ready for your vault.

Download for your OS Read the docs macOS · Windows · Linux
chronicle-keeper
The Sunless Citadel — Session 7
4 tracks · 3h 12m · transcribed on-device
01

Upload

Craig ZIP

02

Transcribe

Parakeet · CPU

03

Summarize

Your LLM

04

Export

Obsidian MD

Summary · excerpt
The party descended into the overgrown ravine, where Meepo the kobold begged their help against the goblins of the Durbuluk tribe…
Why Chronicle Keeper

Your table's history, kept honestly.

Built for one job: hours of messy audio in, a clean session write-up out — without sending your campaign anywhere you don't choose.

Local-first & private

Transcription runs on your device with a native speech model. The app binds to localhost and works fully offline — your audio never leaves your machine.

Bring your own LLM

Run a local model with Ollama for free, or paste an Anthropic / OpenAI-compatible key. Your keys stay on-device and calls go straight from your machine.

Obsidian-ready export

Notes land as clean Markdown with YAML frontmatter — paste straight into your vault, or export the full transcript alongside.

The Codex

A per-campaign glossary of NPCs, places and factions. It's injected into every summary so the LLM auto-corrects names the transcriber mangled — "Mee-po" becomes Meepo.

No fuss, no GPU

Native Parakeet TDT runs several× realtime on plain CPU across 25 European languages, German included. No Python, no CUDA, no cloud transcription bill.

Optional multi-device sync

Keep notes in step across machines via a small self-hostable server. Text only, off by default — turn it on with a server URL when you want it.

The pipeline

Record → transcribe → summarize → export.

Four steps from a pile of audio tracks to a finished session note. Most of it is one click.

01

Upload

Drop in the ZIP your Craig Bot recording produces — one audio track per speaker.

02

Label

Tell it who each track belongs to. The model fills in the rest.

03

Transcribe

Every track is transcribed on-device — fast, offline, no diarization needed.

04

Summarize

Your chosen LLM writes a structured recap, Codex-corrected names and all.

05

Export

Markdown + Obsidian frontmatter, ready to drop into your vault.

Walk through it step by step
Bring your own brain

Free and local, or any cloud key you like.

Chronicle Keeper does the transcription. You decide which model does the writing — and the keys never leave your computer.

Free

Ollama (local)

Run an open model entirely on your machine. No key, no bill, no internet required after the model is pulled.

Set up Ollama →

Cloud

Anthropic Claude

Paste an API key for top-tier summaries. The native Messages API is built in.

Get an Anthropic key →

Cloud

OpenAI-compatible

OpenAI, Groq, DeepSeek, Mistral, Together, Perplexity, MiniMax or Gemini's compat endpoint — one client covers them all.

Pick a provider →

Keep the chronicle.

Free, open source, and built with ❤️ from Germany. Your campaign deserves better notes than nobody-took-any.