Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keep

A private, on-device assistant for macOS — sees, searches, speaks, and acts. Nothing leaves your machine.

Keep CLI demo: ingesting a note, then asking a question answered from its contents

What Keep does

  • Acts — creates calendar events, reminders, and mail drafts (never sends), and finds files by name.
  • Searches — ask questions about your own notes and documents (keep ingest <path>), answered from the retrieved passages. The on-device model is small, and on short/ambiguous corpora it can misstate details it's asked to extract — treat answers as a starting point, not a citation you can quote from.
  • Sees — describes what's on your screen (keep see, or ask out loud).
  • Speaks — ask by voice, hear the answer back.

All of it runs on Apple's on-device Foundation Models. No API keys, no network calls, no cloud. You can check that claim yourself — watch a network monitor (Little Snitch, Activity Monitor's Network tab, nettop) while Keep answers a question with no [mlx] extra installed, and you'll see nothing leave the machine. Privacy you can check beats privacy you have to trust.

Requirements

macOS 26+, Apple Silicon, with Apple Intelligence enabled (Settings → Apple Intelligence & Siri). Keep's on-device model won't load without it -- keep --version and keep ingest still work on any Mac, but every command that needs the model gives one clear message instead of a crash if it's unavailable.

Install

Requires Python 3.10+ in a virtual environment — Keep's model provider dependency won't resolve at all under macOS's system Python (3.9), and Homebrew's Python refuses a bare pip install (PEP 668):

python3 -m venv venv
source venv/bin/activate
pip install git+https://github.com/rajanshxrma/keep
keep-menubar   # launches the menu bar app

or run it without the menu bar shell:

keep "remind me to call the dentist tomorrow"
keep ingest ~/Documents/some-notes
keep see
keep --voice

The first command in a fresh process takes ~30s while the on-device model loads — the CLI doesn't print anything until it's done, so this looks stuck but isn't. Every call after that is a few seconds.

Prebuilt app (signed & notarized)

A prebuilt Keep.app is attached to each release, signed with a Developer ID certificate and notarized by Apple. Unzip it and open it like any other Mac app — no Gatekeeper warning, no terminal workaround needed.

Where Keep came from

Keep merges three projects built and shipped separately: private-agent (the agent core — tool-calling, calendar/reminders/mail, the voice front-end), stacks (semantic search over your own files), lantern (on-device screen description). Their repos stay up as the standalone originals; this is where the three converge into one product.

Research

Building the agent core surfaced a real, measured finding about on-device tool-calling and self-computed dates — see docs/eval-findings.md for the full numbers and methodology (63 real trials, no mocks, every created artifact verified then cleaned up). It's the reason _dates.py never lets a model compute its own relative date.

Contributing

contract.md is the release gate — every testable assertion a release has to pass. pip install -e ".[dev]" && pytest runs the real (no-mock) test suite; most tests touch the real Calendar/Reminders/Mail apps and the real on-device model, and clean up after themselves.

License

MIT

About

A private, on-device assistant for macOS — sees, searches, speaks, and acts. Nothing leaves your machine.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages