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.

brew install systemoperators/tap/vintage
vintage index sync
vintage search "flight to miami"
vintage messages unreplied
vintage tui              # the full-screen browser

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