rowboatlabs/rowboat

AI coworker with memory and collaboration

What is this?

Rowboat is a desktop app (Mac/Windows/Linux) that acts as your personal AI assistant. Instead of searching through old transcripts every time you ask a question, it continuously builds a living knowledge graph of your work — email, meetings, chat, notes — stored locally as plain Markdown files. It then uses that context to actually do things on your machine: draft emails, take meeting notes, browse the web, run coding agents, and more.

It works solo (just you and your assistant) or collaboratively: every person on a team runs their own Rowboat with their own private data, and they can come together in Spaces to chat, share files/whiteboards, and even have their own agents work on shared tasks. Each agent only sees its user's private context and posts only what that user chooses to share.

Key ideas

  • Long-lived knowledge, not cold retrieval. Most AI tools reconstruct context on demand by searching transcripts. Rowboat instead accumulates context over time into an explicit, editable knowledge graph. Memory compounds instead of starting cold each time.
  • Local-first and private. Your personal data lives on your machine as plain Markdown — no proprietary format, no hosting lock-in. You can inspect, edit, back up, or delete anything. Your AI context never leaves your computer unless you decide to post something to a shared Space.
  • Bring your own model. Works with local models (Ollama, LM Studio) or any hosted provider/API key. Swap models anytime without moving your data.
  • Extensible via MCP. Can connect to external tools and services (web search, CRMs, GitHub, Slack, your internal tools) through the Model Context Protocol.

What it can do

  • Brain: indexes email, meetings, Slack, and assistant conversations into a backlinked knowledge graph (Obsidian-style).
  • Email client: sorts messages into important vs. everything else, auto-drafts replies using full work context.
  • Background agents: run on triggers (new email) or schedules (e.g., daily 8am), can search the web, use the browser, and write code via Claude Code or Codex.
  • Built-in browser: isolated from your main browser so you can log in only to accounts the assistant may access.
  • Meeting notes: taps microphone & speaker, produces a live transcript, summarizes to Markdown, and updates the knowledge graph.
  • Code mode: spins up parallel coding agents (Claude Code/Codex) and drives them with work context.
  • Apps: build your own work surfaces that get full access to tools and integrations, shareable with others.

Team collaboration: "Spaces"

Each person's Rowboat is a full local assistant. A Space is a shared room (channel + shared folder, messages + wiki-style files + whiteboards) living on a small server called Harbor. If you type @rowboat in a Space, your Rowboat wakes on your machine, gathers context from your private Brain/email/meetings (which never leave it), and posts the answer back as "You (via Rowboat)".

The Space server exposes three doors: HTTP, a live WebSocket, and an MCP server. Notably, Rowboat's own agent gets no privileged path — it goes through the same MCP door as any third-party agent, so anything Rowboat can do in a Space, your own agent can do too.

Privacy rules are explicit: reads only what the task needs ("message Harsh" needs an id, not the HR directory), answers only what was asked, and private data crosses to shared only on request and only as a summary — never pasting raw emails/chats/DMs into the room.

Harbor server (for self-hosting)

  • Open source, in this repo (apps/harbor), runs on Postgres. One process serves an org or many orgs.
  • Try locally in a minute: seeded single-org Harbor in memory on port 4272 with dev tokens.
  • Deploy for a team via Docker, with OIDC sign-in, invites, per-org hostnames (<slug>.<APEX_DOMAIN>), S3 or local-disk uploads, and a versioned migration ladder.
  • Config via environment variables: HARBOR_MODE, DATABASE_URL, APEX_DOMAIN, AUTH_ISSUER, HARBOR_ALLOWED_DOMAINS, BLOBS_DIR/BLOBS_S3_BUCKET, PORT.

Try it

  • Download the latest app for Mac/Windows/Linux, connect Google (Gmail/Calendar/Drive), add optional API keys (Deepgram for voice in, ElevenLabs for voice out, Exa for web search, Composio for external tools).
  • Or build from source (Node 22/24) and run your own Harbor.
  • Bring any MCP-capable agent (e.g., Claude Code via claude mcp add) into a Space — it authenticates as a member and its actions are attributed to that member.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project