Skip to content
ChipskeinPublic

About

Cade is a local-first CLI for your personal activity history: git commits, browser history, files, images and Microsoft Teams messages, queried by period or in natural language. Everything runs on your machine

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

cade mascot: a Go gopher filing folders

cade

CI coverage

English · Português

cade is a local-first CLI for your personal activity history: git commits, browser history, files, PDFs, images and Microsoft Teams messages, queried by period or in natural language. Everything runs on your machine (SQLite + sqlite-vec + llama.cpp) — see PRIVACY.md.

Install

From source (Linux or FreeBSD; Go 1.27+, a C/C++ compiler, cmake, ninja, git; FreeBSD steps in DEVELOPMENT):

go tool mage build     # NVIDIA (CUDA Toolkit); `go tool mage cpu` without a GPU
go tool mage models    # downloads the models to ~/.local/share/cade/models
go tool mage install   # installs to ~/.local/bin

Prebuilt Linux x86-64 binaries, and experimental macOS Apple Silicon and Windows x86-64 ones, are on the releases page; macOS and Windows build steps are in DEVELOPMENT.

Optional: install chafa to see a preview of cited images in cade ask.

Platform support

Source Linux FreeBSD macOS Windows
git ✓ tested ✓ tested (from source) experimental (CI only) experimental (CI only)
browser ✓ tested ✓ tested (from source) experimental (CI only) experimental (CI only)
files ✓ tested ✓ tested (from source) experimental (CI only) experimental (CI only)
teams ✓ tested ✓ tested (from source) experimental (CI only) experimental (CI only)
images ✓ tested ✓ tested (from source) experimental (CI only) experimental (CI only)
PDFs ✓ tested should work, untested experimental (CI only) experimental (CI only)
image preview (chafa) ✓ tested should work (pkg install chafa) should work (Homebrew) should work (scoop)
encrypted database (cade encrypt) ✓ tested (systemd-creds, systemd 256+; else a passphrase) passphrase, untested Keychain, untested DPAPI, tested under wine

Linux x86-64 is the main CI and release target. macOS on Apple Silicon (Metal) has an experimental release archive, built and tested only on GitHub's Macs (#53). FreeBSD amd64 builds from source, CPU or Vulkan GPU (#101), with no CI; it was tested on FreeBSD 15.1. Windows x86-64 (CPU, MinGW) has an experimental zip, built and tested only on GitHub's Windows runners and under wine (#54).

Examples

cade init
cade ingest all
cade ingest start all   # long runs: detached, with CPU/GPU limits
cade ingest status      # also: pause, resume, stop
cade timeline yesterday
cade timeline --around UID   # 2h before and after an event (UID from `ask --json`)
cade tasks today
cade ask "what did I work on yesterday?"
cade ask "the report about the database migration"   # with sources.pdfs: cites the file and the page
cade compact            # after a large forget: returns the deleted vectors' space
cade export > cade.jsonl     # everything cade keeps, one event per line
cade encrypt            # opt-in: encrypts the database, prints the recovery key

Any other app that keeps its data in the browser's IndexedDB (Chrome, Firefox, Floorp), without code of its own: the local model writes a schema once, and ingestion reads with it.

cade schema-discover --name whatsapp ~/.floorp/<profile>/storage/default/https+++web.whatsapp.com/idb
cade ingest whatsapp
cade schema-check --update  # when the app changes how it stores data

WhatsApp Web keeps message text encrypted, so it is indexed by metadata only. The database of WhatsApp for Android, once you decrypt its backup, fills in the text and adds the older messages:

cade ingest whatsapp-backup ~/whatsapp/msgstore.db

Finding an image by its text:

$ cade ask "images where the characters say 'help me pay for divorce papers'"
A imagem em que o personagem diz "help me pay for divorce papers" é a [1].

Cited sources:
  [1] [file]    2026-09-08 18:56  /home/chipskein/Downloads/HRrl-KYbIAAINeq.jpg

HRrl-KYbIAAINeq.jpg: a game screenshot with the caption 'help me pay for divorce papers'

Finding an image by what it shows:

$ cade ask "album cover with a blonde woman"
A imagem de capa de álbum com uma mulher loira foi encontrada em um arquivo acessado em 15 de setembro de 2026 [1].

Cited sources:
  [1] [file]    2026-09-15 10:49  /home/chipskein/Downloads/maxresdefault.jpg

maxresdefault.jpg: a parody album cover showing a blonde woman

More information

Configuration All config fields, file ingestion behavior, how search works, Teams setup, other apps through IndexedDB schemas, database encryption, background and scheduled ingestion.
Use cases Practical query patterns and workflows.
Architecture How the code is organized and how components interact.
Benchmarks Search latency, retrieval quality and image description cost.
Development Build targets, environment variables, CI.
Roadmap · Changelog What's planned and what changed.

Licensed GPL-3.0-or-later (LICENSE, third-party notices, details).

About

Cade is a local-first CLI for your personal activity history: git commits, browser history, files, images and Microsoft Teams messages, queried by period or in natural language. Everything runs on your machine

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages