your messages, greppable
vintage puts your whole messages history behind a terminal command: full-text search, unreplied threads, per-person timelines, and a tui with inline images — all against a local index that stays current.
every read command takes --json, so your scripts and your agent get the same data the tui renders.
vintage runs entirely on your Mac: it reads the local Apple databases, builds one person-graph index, and serves it over cli and mcp. no cloud, no account, nothing leaves the machine.
try it
brew install systemoperators/tap/vintage
vintage index sync
vintage search "flight to miami"
vintage messages unreplied
vintage tui # the full-screen browser terminal surface
- search across messages (and mail, notes, calendar) in one query
- unreplied — threads where the last word is theirs
- tui with person cards, threads, and inline image rendering (kitty/ghostty)
- --json on every read — pipe it, script it, feed it to an agent
honest limits
- keyword ranking free; meaning-based ranking is the engine
questions
does it handle attachments and images?
yes — image attachments render inline in the tui (kitty graphics protocol, halfblock fallback elsewhere), and the engine can ocr them into searchable text.
local. no account. never phones home. · everything vintage does · the engine