100% local
·
open source
·
agent-ready
No servers. No SDKs. No complexity. Just save anything, recall it with natural language. Works for humans in the terminal and for AI agents as a skill.
Query-first memory that stays local and fits how developers actually work.
Ask in plain English. Local embeddings + LLM reasoning find what you saved, even weeks later.
All AI runs via Ollama on your machine. No cloud, no accounts, no data leaving your laptop.
Parse "in 30 minutes", "tomorrow 9am", or "Friday 3pm" into real deadlines.
Every memory captures context, cwd, hostname, and timestamp. AI auto-detects type and tags.
Memories save even when Ollama is down. AI enrichment degrades gracefully, never blocking saves.
Swap storage, AI provider, or notifier by implementing a single interface.
yaad ships as an Agent Skill — one command to wire persistent local memory into Claude Code, Cursor, Codex, and 39+ agents that support the open skills standard.
Compatible with any agent that supports the open Agent Skills standard — Claude Code, Cursor, Codex CLI, Gemini CLI, and more. All memory stays on your machine.
Set a reminder while saving — yaad surfaces it right in your terminal when it's due.
# set a reminder while saving yaad add "book conference ticket" --remind "in 30 minutes" yaad add "deploy to prod" --remind "tomorrow 3pm" yaad add "submit PR for review" --remind "Friday 9am"
┌─────────────────────────────┐ │ yaad · reminder │ │ │ │ book conference ticket │ │ due: now │ └─────────────────────────────┘
Two ways to surface reminders — pick what fits your workflow.
Learn more in the reminders documentation →
Requires Ollama running locally.
Get Ollama from ollama.com, then pull the required models.
# embeddings model ollama pull mxbai-embed-large # chat / reasoning model (swap for any compatible one) ollama pull llama3.2:3b
yaad config init
yaad add "staging db is postgres on port 5433"
Also set up reminders — it's yaad's most powerful feature and takes 30 seconds.
Five memory types, auto-detected by AI: command · note · url · fact · reminder
Save anything. Include context right in the content — AI finds it later. --remind sets a deadline, --tag for filtering.
yaad add "backend infra: staging db port is 5433" yaad add "submit PR for review" --remind "tomorrow 9am" yaad add "prod login: ssh -i ~/.ssh/id_rsa user@prod" yaad add "https://api.docs.com" --tag reference
Query in plain English. LLM reasons over semantic search results to give a direct answer.
yaad ask "what is the staging db port?" yaad ask "do I have anything due today?" yaad ask "how do I log into prod?"
Browse recent memories. Filter by type, tag, or show only pending reminders.
yaad list yaad list --type reminder yaad list --tag staging yaad list --remind # only due reminders
Show full details — content, type, tags, working dir, hostname, created time. Accepts 10-char ULID prefix.
yaad get 01JTXK4A3B
Remove one memory by ID, or wipe everything at once. Both prompt for confirmation; skip with -y.
yaad delete 01JTXK4A3B yaad delete 01JTXK4A3B -y # skip prompt yaad clean # delete all
Manage ~/.yaadrc. Override Ollama URL, models, notifier, and reminder poll interval.
yaad config init yaad config set ollama.chat_model llama3.2:3b yaad config list
Simple. Local. Open source. MIT licensed.