MCPcopy Index your code
hub / github.com/Keel-Labs/keel

github.com/Keel-Labs/keel @v0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.0 ↗ · + Follow
1,109 symbols 2,717 edges 151 files 31 documented · 3% updated 27d agowhisper-binaries · 2026-06-11★ 4414 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Keel

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

Screenshot 2026-04-29 at 12 35 27 PM Screenshot 2026-04-29 at 12 40 13 PM Screenshot 2026-04-29 at 12 43 46 PM


Your context is yours. The model is just a tenant.

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

Download Keel for macOS — universal DMG (Apple Silicon and Intel).

Download Keel for Windows — Windows x64 installer.

Install

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.


What Keel does

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.

Screenshot 2026-04-29 at 12 40 27 PM

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.

Screenshot 2026-04-29 at 12 40 13 PM

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.

Screenshot 2026-04-29 at 12 43 58 PM Screenshot 2026-04-29 at 12 46 59 PM

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. Dashboard

Tasks and reminders. First-class to-dos backed by markdown, with due dates, projects, and time-based reminders that fire as desktop notifications.

Tasks

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. Screenshot 2026-04-29 at 12 45 49 PM

Voice input. Speak instead of type, using local Whisper or OpenAI's API. Screenshot 2026-04-29 at 1 52 25 PM

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. Screenshot 2026-04-29 at 12 44 46 PM Screenshot 2026-04-29 at 12 45 33 PM

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. Scheduled Jobs

Personalities. Pick the voice your assistant speaks in — default, Butler, Hype Friend, Captain, or Documentary Narrator — or define your own.

Select a personality for your assistant

Dark mode. System-aware, with a manual override. Dark mode

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. Screenshot 2026-04-29 at 12 52 13 PM

Other Commands

Screenshot 2026-04-29 at 12 45 11 PM

A full feature list and configuration details live in the in-app help.


Status: this is v1

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.


Roadmap

Keel's roadmap lives as labeled issues so it's discoverable, commentable, and rankable in one place alongside incoming requests:

→ View the full roadmap

Items are stack-ranked into four tiers (filter by label):

Order 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.


A note on this being a one-person project

Keel is built and maintained by one person. That shapes a few things you should know:

  • Issues and feature requests are read but not always answered. I'll prioritize bugs that block usage and ignore most feature requests until I have bandwidth.
  • Pull requests are welcome but not guaranteed to be merged. Before investing significant time in a PR, please open an issue first to discuss the change. Small fixes (typos, obvious bugs, doc improvements) can go straight to PR.
  • Response times will vary. Sometimes a few hours, sometimes a few weeks. If something is genuinely urgent, say so in the issue title.

If that tradeoff doesn't work, it's MIT licensed and can be forked.


Install from source

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.


Where your data lives

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.


Contributing

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.


Privacy & legal


Support

  • Bugs and feature requests: Fider board or GitHub issues — preferred, so other users hitting the same thing can find the discussion
  • General questions: open a GitHub issue
  • Security disclosures: see [SECURITY.md](SECURITY

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 841
Interface 188
Method 62
Class 18

Languages

TypeScript100%
Python1%

Modules by API surface

src/app/components/Settings.tsx56 symbols
src/shared/types.ts55 symbols
electron/main.ts55 symbols
src/core/db.ts46 symbols
src/app/components/Chat.tsx45 symbols
src/core/workflows/wikiMaintenance.ts40 symbols
src/core/workflows/wikiIngest.ts34 symbols
src/app/components/WikiWorkspace.tsx30 symbols
src/core/llmClient.ts29 symbols
src/core/fileManager.ts24 symbols
src/core/connectors/xAuth.ts24 symbols
src/app/components/Inbox.tsx24 symbols

For agents

$ claude mcp add keel \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page