Skip to content

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.

  • 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
  • A SaaS product — there’s no app.carabase.dev to 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.

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 / claude login 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.

┌──────────────────┐ 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.

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

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