# 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. · https://vintage.dev/ · unlock: https://vintage.dev/unlock · agents: https://vintage.dev/llms.txt
