v1.0.0 · out now

Your AI,
on record.

The agent layer for Obsidian. Curtis reads and writes your notes, and files every answer as a record you own — conversations as markdown in your vault, your keys, .curt export.

50+ providersBYO keys$0 token margin.curt export
live exchange
youSummarize this week’s meeting notes — action items only.
curtisFour actions across three notes; the Q3-planning item is overdue (due 10-09).
curtisFiled to journal/2026-10-15.md, cited back to each note.
RECORD 00042 · PRINTED IN LOCKSTEP
whojordan → curtis
when2026-10-15 09:41
modelglm-5.3-flash · openrouter
usage1,188 in · 96 out · $0.0009
proof4b7e…d3a2 · append-only
THE LEDGER, BY MAILrelease notes · founder notes · a few times a year · no noise

Entry 01 · The workspace

Every answer, on the record.

The ledger is the product: a dated, attributable file of everything you and your agents asked and answered — tabbed records, a dockable inspector, per-turn usage metering. Not a transcript in someone else’s cloud. A record on your machine.

kept by three instruments↓

Entry 02 · The instruments

Three instruments, one standard.

everything they write follows one format↓

Entry 03 · The standard

An open standard, not a feature.

Every AI tool should file its work the same way. .curt is our answer — an open-source record format: who asked, what was answered, when, on which model, at what cost. Plain text, no license, readable in any editor and any decade. We’re pushing it as the industry default; your ledger outlives every vendor.

governed by three standing rules↓

Entry 04 · The standing rules

Own the records.

01

Local-first.

Records live on hardware you control. Self-hosted Curtis costs nothing — the office is yours.

02

Bring your own keys.

Inference bills to your provider account, not to Curtis. No margin on your tokens, ever.

03

Open formats.

Export everything as .curt, Markdown or JSON, any time. The ledger leaves when you do — no lock-in.

Start the ledger.

v1.0.0 is out — install from GitHub releases, or bring your exports through Porter.