What is Carabase?
Carabase is a privacy-first personal AI assistant that runs entirely on your hardware. There is no Carabase server, no shared cloud, no user account you sign up for. You install the host on a Mac you control, and a desktop client talks to it over a private mesh network.
What it does
Section titled “What it does”- A second brain — daily notes, folios (the unified notebook substrate — plain collections and synthesized taste/domain/project narratives), and a knowledge graph of every entity you’ve mentioned, all queryable by the agent
- An agent surface — chat with an LLM that can search your notes, schedule tasks for itself, write reflections, and learn what you care about over time
- A connector hub — pulls in pull requests, calendar events, meetings, emails, listening history, and other signal from services you already use, ranked by what matters to you
What it isn’t
Section titled “What it isn’t”- A SaaS product — there’s no
app.carabase.devto sign up for. You self-host or you don’t use it. - A multi-tenant system — one host = one workspace = one user. The data model assumes that, and PostgreSQL row-level security enforces it.
- A drop-in OpenAI replacement — you bring your own API keys (or local models) for the underlying LLMs. The agent can answer from your own data instead of parametric memory.
How chat works
Section titled “How chat works”Carabase routes every chat turn through a single contract — POST /api/v1/agent/message — and resolves a chat engine from your workspace settings. Several engines ship today:
- OpenClaw — the premium default, wrapping the local OpenClaw gateway.
- Host-native — the open-source floor: an in-process loop against your workspace’s own model, grounded in retrieved data (it abstains rather than guess) with a wall-clock deadline.
- Codex CLI and Claude Code — read-only bridges that run through your own local
codex/claudelogin and reach your data over the host’s MCP surface.
You pick the runtime per workspace; a self-host with only a local model can chat with no gateway at all.
The pieces
Section titled “The pieces”┌──────────────────┐ Tailscale ┌──────────────────────────────┐│ Mac Client │ ────────────────── │ Self-Hosted Host ││ (Tauri) │ :3000 │ ┌──────┐ ┌──────────────┐ ││ │ │ │ API │──│ ChatEngine │ ││ Daily notes │ │ │ │ │ openclaw / │ ││ Chat │ │ │ │ │ host_native /│ ││ Settings │ │ └──┬───┘ │ codex_cli / │ │└──────────────────┘ │ │ │ claude_code │ │ │ │ └──────────────┘ │ │ ┌──▼─────────────────────┐ │ │ │ MCP retrieval (14 tools)│ │ │ ├────────────────────────┤ │ │ │ PostgreSQL + pgvector │ │ │ │ + pg-boss queues │ │ │ └────────────────────────┘ │ └──────────────────────────────┘The host is a Fastify (TypeScript) API plus the OpenClaw gateway, PostgreSQL 16 with pgvector for embeddings, and pg-boss / node-cron background workers. The agent reaches your data through 14 MCP retrieval tools (semantic, graph, lexical, visual, multimodal, and more).
For deeper detail see Architecture.
Who it’s for
Section titled “Who it’s for”Carabase is built for technically comfortable users — people who can run brew install postgresql@16 without flinching but don’t necessarily want to read a kernel security paper. The first-run wizard plus the quickstart script reduce setup to a few commands; everything beyond that is a UI in the Admin SPA at http://localhost:3000/admin/.
Where the data lives
Section titled “Where the data lives”| What | Where |
|---|---|
| Notes, entities, embeddings | Postgres on your machine |
| Encrypted credentials (OAuth tokens, API keys) | integrations + oauth_apps tables, AES-256-GCM-encrypted with HOST_MASTER_KEY |
| Voice / audio / file artifacts | ~/.carabase/data/<workspace>/ on your machine |
| Backups | ~/.carabase/backups/<env>/ (encrypted with the same master key) |
| Anything ever sent to a hosted LLM | Whatever the upstream provider keeps — this is the only data that leaves your machine, and only if you configure model routing to use a cloud provider |