# Rowboat: a desktop AI coworker that keeps your work in a local Markdown knowledge graph

> Rowboat indexes email, meetings and conversations into a backlinked knowledge graph on your machine, then exposes that memory through work surfaces like an email client, a browser and background agents. It is a desktop app you download, not a service you deploy.

**rowboatlabs/rowboat** — Open-source AI coworker, with memory

- Repository: https://github.com/rowboatlabs/rowboat
- Website: https://www.rowboatlabs.com
- Stars: 17,909 · Forks: 1,776
- Language: TypeScript
- License: Apache-2.0
- Published: 2026-09-09 · Updated: 2026-09-09 · Language: en
- Canonical page: https://hysenlabs.com/projects/rowboatlabs-rowboat

## The problem Rowboat targets: context that resets every session

Most AI assistants start each conversation cold. They search a transcript or a document set when you ask a question, then forget what they found. Rowboat's README frames its difference in exactly those terms: most tools reconstruct context on demand, while Rowboat maintains long-lived knowledge instead. The intended user is someone whose working life is spread across email, meetings, Slack and coding agents, and who wants one assistant that already knows the history before being asked. That is a narrower audience than "anyone who wants an AI assistant." The value depends on there being enough recurring context to index in the first place. A developer who mostly works in a single repository and talks to no one will get far less from the graph than a founder juggling Gmail threads, calendar invites and meeting transcripts. The project is a desktop application, so the assumption is a personal machine with your accounts already logged in, not a shared server.

## What the knowledge graph actually is: backlinked Markdown on disk

The README describes Rowboat indexing email, meetings, Slack and assistant conversations into an Obsidian-style backlinked knowledge graph. Two details matter more than the word "graph." First, everything lives on your machine as plain Markdown, and notes are editable by you rather than hidden inside a model. Second, relationships between notes are explicit and inspectable, which is what "backlinked" means in practice: a note about a meeting links to the people and projects it touched, and those links can be read without a query interface. This is a deliberate trade-off. A plain-text graph is portable, diffable and greppable, but it has no schema enforcement, so consistency depends on how the indexer writes and how you edit. On top of that graph sit the work surfaces: an email client that sorts messages into important and everything else and drafts replies, a browser isolated from your main one so you log in only to the accounts you want the assistant to reach, a meeting note-taker that taps mic and speaker to produce a live transcript and a Markdown summary, and code mode, which spins up parallel coding agents driven by Claude Code or Codex. Background agents run on events such as a new email or on a schedule such as every day at 8am, and can connect to tools, search the web, use the browser and write code.

## Installing Rowboat and connecting a first account

There is no package manager step and no build from source in the README. Installation is a download: the README points to https://www.rowboatlabs.com/downloads for Mac, Windows and Linux, and to the releases page for all release files. The only repository file that describes a setup procedure is google-setup.md, which the README links for connecting Gmail, Calendar and Drive. Optional features are enabled by dropping a JSON file into ~/.rowboat/config/ with a single apiKey field. The README gives this exact shape for every key file:

```json
{
  "apiKey": "<key>"
}
```

Voice input and voice notes need a Deepgram key in ~/.rowboat/config/deepgram.json; voice output needs an ElevenLabs key in ~/.rowboat/config/elevenlabs.json; the Exa research search needs a key in ~/.rowboat/config/exa-search.json. External tools are enabled through ~/.rowboat/config/composio.json, and the README says you can add any MCP server or use Composio tools from there. The README does not show a CLI or a config file for choosing a model provider; it states that Rowboat works with local models via Ollama or LM Studio and with hosted models where you bring your own API key, and that you can swap models anytime. Where that swap happens is not documented in the README, so expect to find it in the app.

## Where Rowboat is the wrong tool

Rowboat is a desktop coworker, and that shapes its limits. If you need an agent that runs unattended on a server, responds to webhooks, or serves multiple users from one deployment, this is not that project; the README describes a downloadable app for Mac, Windows and Linux with per-machine config under ~/.rowboat/config/. The memory model is also a constraint, not just a feature. A graph that accumulates over time is only useful if it stays accurate, and the README does not describe deduplication, conflict resolution or a way to correct a note the indexer got wrong beyond editing the Markdown yourself. There is no documented export, import or migration path, so moving an existing knowledge graph into Rowboat, or out of it, is unspecified. Credential handling deserves a look before you commit: the config files are plain JSON holding an apiKey, and the README does not describe encryption at rest or a keychain integration. Finally, the release cadence is fast. Three releases landed between 2026-09-08 and 2026-09-09 (v0.9.5, v0.9.6, v0.9.7), and the last push to main was on 2026-09-09. That is recent activity, but a 0.9.x line moving that quickly is a signal to pin a version you have verified rather than to assume interface stability.

## Rowboat compared with a retrieval-based assistant

The clearest alternative is the retrieval pattern the README itself names: an assistant that searches transcripts or documents each time you ask something. Tools built that way, including general chat assistants with file or connector search, treat the corpus as read-only and the answer as disposable. Nothing persists between sessions except the source documents, and the assistant's understanding of your projects is rebuilt on every query. Rowboat inverts that. Context accumulates, relationships are stored explicitly, and the artifact of the assistant's work is a set of Markdown notes you own. The practical difference shows up in what you can audit. With retrieval, you can see which passages were cited. With Rowboat, you can open the note, read the links, and change the text. The cost is setup and upkeep: retrieval tools work against whatever is already in your drive, while Rowboat asks you to connect accounts, grant access to a browser it controls, and keep a local graph healthy. If your questions are one-off and your sources are already well organized, retrieval is less work. If the same people and projects recur across email, meetings and code, the persistent graph is the part that compounds.

## Maintenance, licensing and upgrade cost

The repository is not archived and the last push was on 2026-09-09, so the codebase is being touched. Maintenance cost for a user is mostly the graph itself: plain Markdown means no lock-in to a database format, but it also means no automatic repair if the indexer writes something you disagree with. Budget time for reviewing what lands in the graph, especially early. The project is licensed under Apache-2.0, which permits commercial use and modification and includes an explicit patent grant; that is a permissive licence, but it is not legal advice and you should read the LICENSE file in the repository root if your organization has policies about bundled dependencies or attribution. One licence-adjacent detail worth noting: Rowboat drives Claude Code or Codex for coding work and connects to third-party services through API keys you supply. Those services carry their own terms, and the README says nothing about how Rowboat's Apache-2.0 terms interact with them. Upgrades are the other recurring cost. With releases shipping days apart, an auto-updating desktop app can change behavior under you; the README does not document a rollback procedure or a release channel selector, so if you need a stable environment, check the releases page before updating.

## Conclusion

Adopt Rowboat if you want an AI assistant whose memory is a folder of Markdown files you can open, edit and back up yourself, and you are willing to grant it access to Gmail, Calendar and Drive through the documented Google setup. Do not adopt it if you need a headless service, a server-side deployment, or a documented migration path for a knowledge graph you have already invested in; the README does not describe one. Before committing, verify three things: that the release for your platform installs and launches, that the optional API key files under ~/.rowboat/config/ are the only place credentials are stored, and that your chosen model provider works with the model swap flow the README describes.

## FAQ

### How do I install Rowboat?

Download the build for Mac, Windows or Linux from the downloads page linked in the README, or take any release file from the GitHub releases page. There is no package manager or build-from-source step documented.

### How do I connect Google services like Gmail, Calendar and Drive to Rowboat?

The README links a dedicated google-setup.md file in the repository for connecting Google services. Follow that document rather than configuring anything by hand.

### Where does Rowboat store its data and API keys?

The README states that everything lives on your machine as plain Markdown, and that optional API keys go in JSON files under ~/.rowboat/config/, each with a single apiKey field. The README does not describe encryption for those files.

## Sources

- [License: Apache-2.0](https://github.com/rowboatlabs/rowboat/blob/main/LICENSE)
- [Project website](https://www.rowboatlabs.com)
- [README](https://github.com/rowboatlabs/rowboat/blob/main/README.md)
- [Releases](https://github.com/rowboatlabs/rowboat/releases)
- [rowboatlabs/rowboat on GitHub](https://github.com/rowboatlabs/rowboat)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/rowboatlabs-rowboat
