Introduction
An open-source AI assistant that remembers, notices what matters and works on your Mac, for one person: you.
What Edward is
Edward is a personal assistant you run yourself, on a Mac that stays on. You talk to him in an app you can install on your phone, by voice, and in iMessage, where anyone can write @Edward in a chat. He keeps what he learns in your own PostgreSQL database, with a record of where each memory came from. He has a small computer of his own (a sandboxed shell, a file editor and a headless browser), he schedules his own follow-ups when he promises to check back, and he keeps a journal of what he did on his own and why.
Every model call goes to the Claude API, with a model chosen per purpose and a daily spend cap you set ($5 by default). The code is Apache-2.0 on GitHub.
This release is a snapshot of a build that ran every day for one person for months. The parts that were bespoke to that home are marked ADAPT: in the code and collected in Adapting to your Mac.
What makes him different
- He remembers, and knows where he heard it. Every memory records who said it (you, someone in your messages, or Edward himself), what it is about and how sure he is. Ask him “how do you know that?” and he answers from the record. Only your own words make a standing instruction, and only you can change what you said.
- He works for one person. Edward runs on your Mac and keeps everything he knows in your Postgres. The one outside service he needs is the Claude API, which sees what each model call sends it.
- He has his own computer. A persistent shell, a file editor and a headless browser of his own, with rails against accidents: he can’t write his own running code, read his own keys, reach your database or launch other apps. The sandbox guards those things, not your whole account (see Guard rails).
- He follows through. When he says he will check back, he schedules it and comes back. Whatever he does on his own goes in a journal entry, and you can mark each one right or wrong.
- He speaks up once, or not at all. Noticing what matters in your messages is opt-in. When it is on, he says a thing once, through one door, outside your quiet hours.
- He has limits you set. A daily spend cap in dollars, a per-turn cap, a secret scan on everything that leaves, and approvals when you want them.
How a conversation works
- You write (or say) something in the app, in iMessage, or through the iPhone widget.
- Edward searches his memories (vector similarity and keywords, blended 70/30) and the documents he keeps for you.
- Claude answers with the same fourteen tools on every surface: his shell and editor, web search and fetch, his own browser, your Chrome if you allow it,
lookfor pictures and PDFs, your messages, one guarded send, a way to tell you something, memory, scheduling, his screens and a visible plan. The app shows his reasoning and every tool call as it happens. - After the answer, a small model extracts what is worth remembering and files it with its source.
When nobody is talking to him
- Follow-through. A promise to check back is a scheduled wake; when it fires, he does the checking.
- A silent nightly at 03:00 tidies his memory and his state, and is skipped when nothing happened.
- Free time: one small, budgeted run a day at 13:00 for his own screen and projects. It reaches nobody.
- Noticing (off until you turn it on): he reads new messages and mail for what matters to you, decides whether it is worth a word, and says it once.
More in The mind.
What leaves your Mac
Edward’s memories, conversations, documents and files live in your Postgres and your home folder. What goes out:
- The Claude API receives what each model call sends: the conversation, the memories retrieved for it and the tool results.
- Only if you set them up: ElevenLabs (voice), Google (Gmail), Twilio (SMS), Brave Search, Home Assistant, and whatever a page or a send he makes for you reaches.
What you need
- A Mac with Apple silicon that can stay on (a Mac mini makes a good host)
- The Xcode command-line tools, Homebrew and an Anthropic API key
Intel Macs, Linux and Windows are not supported. See Platform support for why.
Choose your path
- Beginner guide — never used a terminal? Start here.
- Set up with AI — let Claude Code (or another coding assistant) walk you through it.
- Quick start — comfortable in a terminal? Four commands.
- Upgrading from March — already running the March 2026 release? Move to this one without losing what he knows.
The repository’s own docs go deeper: the README, CLAUDE.md (the operating guide) and one page per subsystem in docs/architecture.