An AI assistant whose memory belongs to you.
Keel is a local-first desktop app for macOS and Windows that captures what matters from your conversations into plain markdown files on your disk. Swap between Claude, GPT, OpenRouter, or a local model any time — your context stays with you, not the vendor.
Open source (MIT). No telemetry. No account required. You can bring your own API key.
▶ Keel Walkthrough 🚀 — Watch Video
Most AI tools invert ownership. Your notes, your history, and the context that makes an assistant useful end up trapped inside someone else's product — tied to a specific model, a specific vendor, a specific subscription. The day that model gets deprecated or that company changes direction, your context goes with it.
Keel flips that. You own your memories. You own your context. It all lives on your machine, in plain markdown, in a folder you control. Your projects, your captures, your wikis, your daily logs — they're files, not database rows inside someone else's cloud.
The model is the part that's interchangeable. Claude today, GPT tomorrow, a local Llama on a flight, Ollama when you want privacy — swap providers whenever you want. The assistant changes; your brain doesn't.
One portable harness, any model you like, no lock-in.
Download Keel for macOS — universal DMG (Apple Silicon and Intel).
Download Keel for Windows — Windows x64 installer.
macOS 1. Open the DMG and drag Keel to Applications. 2. Double-click Keel to launch.
Windows
1. Run the Keel-<version>-win-x64.exe installer.
2. Launch Keel from the Start menu.
On first launch, you'll need an API key from at least one provider (Anthropic, OpenAI, or OpenRouter), or Ollama installed locally. Keel walks you through this.
A local-first workspace you fully own. Keel maintains a folder on your disk — typically ~/Keel — made up of markdown files, project folders, daily logs, and wiki bases. Edit it in any editor. Back it up yourself. Move it between machines. Keel reads and writes it in the background as you work.
Bring your own model. Keel speaks to Claude, OpenAI, OpenRouter, and local models via Ollama. Swap providers in settings; fall back automatically when one is unavailable.
Context-aware chat. Every conversation draws on a system prompt assembled from your workspace: relevant project context, recent captures, open tasks, and search hits. Ask about a project and Keel already knows who's involved, where you left off, and what's open.
Auto-capture. When a chat produces something worth keeping — a decision, a fact about a project, a new task — Keel quietly saves it back into your workspace so tomorrow's conversation starts with today's progress baked in.
Per-project knowledge bases. Turn any project folder into a queryable wiki with /create-kb and /refresh-kb. Keel ingests markdown and PDFs, compiles them into a structured knowledge base, and keeps it in sync as files change.
Dashboard. A home view that surfaces your day at a glance — open tasks and reminders, recent activity, the morning brief, weather, and news — so you land somewhere useful instead of an empty chat.
Tasks and reminders. First-class to-dos backed by markdown, with due dates, projects, and time-based reminders that fire as desktop notifications.
Meeting transcription. Record a meeting (or import audio) and Keel transcribes it locally with Whisper, then writes a structured summary — decisions, action items, attendees — back into the relevant project.
Voice input. Speak instead of type, using local Whisper or OpenAI's API.
Daily briefs and end-of-day wraps. Keel generates a morning brief and an EOD summary from your workspace, and "pick up where you left off" pulls yesterday's loose ends into today.
Scheduled jobs. Run any prompt or workflow on a recurring schedule — daily digests, weekly reviews, custom check-ins — with results captured back into your workspace.
Personalities. Pick the voice your assistant speaks in — default, Butler, Hype Friend, Captain, or Documentary Narrator — or define your own.
Dark mode. System-aware, with a manual override.
Google Workspace and X integrations. Sync Calendar events into context, read Google Docs into chat, export results back to Docs. Sync your X bookmarks into a searchable wiki, or publish posts directly from chat.
Other Commands
A full feature list and configuration details live in the in-app help.
Keel is a working beta and stable enough for daily use on macOS. Windows support is newer and should be treated as beta until it has more release mileage. Some things you should know before installing:
What works today - Chat with Claude, OpenAI, OpenRouter, and Ollama - Local markdown workspace with auto-capture - Dashboard with tasks, reminders, brief, weather, and activity - Wiki bases with ingestion, compile, and health checks - Tasks and reminders with desktop notifications - Meeting recording and local transcription with structured summaries - Daily briefs, end-of-day wraps, and "pick up where you left off" - Scheduled jobs for recurring prompts and workflows - Selectable assistant personalities (and custom) - Voice input via Whisper or OpenAI - Google Calendar, Google Docs, and X integrations - Light and dark mode - SQLite full-text search; optional LanceDB vector search
What doesn't work yet - iPhone companion app is in TestFlight, not yet on the App Store. It captures thoughts on the go and forwards them to your Mac via Keel Cloud (an optional, opt-in service; the desktop app works fully without it). No Android app. - No multi-Mac sync — your workspace lives on one machine at a time. (Keel Cloud is a phone→Mac capture pipe, not a workspace sync.) - No team or sharing features - Some integrations (X bookmark sync) require API access you'll need to provision yourself
If you can live with them, Keel is genuinely useful right now.
Keel's roadmap lives as labeled issues so it's discoverable, commentable, and rankable in one place alongside incoming requests:
Items are stack-ranked into four tiers (filter by label):
tier-1 - ship nexttier-2 - high value, next few monthstier-3 - bigger commitments after the abovetier-4 - somedayOrder is rough. The product's center is memory and context, not a general productivity suite.
Want something that isn't there? Open an issue — feature requests and bug reports both go through the same channel, so other users hitting the same thing can find the discussion.
Keel is built and maintained by one person. That shapes a few things you should know:
If that tradeoff doesn't work, it's MIT licensed and can be forked.
If you want to build Keel yourself instead of downloading a prebuilt installer:
Prerequisites - Node.js 18+ and npm - macOS or Windows - ~500MB disk space - Optional: Ollama for local models
Clone and run
git clone https://github.com/Keel-Labs/keel.git
cd keel
npm install
npm run dev:electron
Build a distributable
npm run dist:mac # macOS DMG (requires macOS)
npm run dist:win # Windows x64 NSIS installer + ZIP (requires Windows)
npm run build:desktop # Generic desktop build
See build/ for packaging configuration and signing entitlements.
Keel never sends your workspace anywhere unless you explicitly ask it to (e.g., exporting to Google Docs, or sending a message to your chosen LLM provider).
Settings
- macOS: ~/Library/Application Support/Keel/settings.json
- Windows: %APPDATA%/Keel/settings.json
- Linux: $XDG_CONFIG_HOME/keel/settings.json
Workspace — by default at ~/Keel, structured as plain markdown:
keel.md # Home page
tasks.md # Global task list
projects/{slug}/ # Per-project folders
daily-log/ # Daily briefs and summaries
knowledge-bases/{slug}/ # Wiki bases
Indexes — SQLite at <workspace>/.config/keel.db; optional LanceDB at <workspace>/.config/lancedb.
Logs — Electron's default log directory for your OS, rotated at 10 MB. Local-only — no telemetry. To attach context to a bug report, open Settings → Help & Feedback → Copy diagnostic info, then paste into your GitHub issue. The blob is app version, OS, configured providers (names only, no keys), and the last 100 log lines with your home path replaced by ~.
Updates — Keel checks GitHub for new releases on launch and downloads them in the background. You'll see a native notification when an update is ready; the new version installs the next time you quit and reopen Keel. No telemetry — the only thing sent off your machine is a request for the latest release manifest from github.com.
You can move, back up, or version-control any of this yourself.
See CONTRIBUTING.md for code style, branch discipline, and PR process. See specs/repository-architecture.md for the runtime map and repository layout.
Please read the note on this being a one-person project above before opening a large PR.