Open-source AI coworker, with memory https://www.rowboatlabs.com
Find a file
Ramnique Singh 2e45035ece feat(x): skill-scoped contextual tool loading for the copilot
Skills now own their tools. The copilot attaches only a small hardcoded
base set (~16 tools instead of all ~42); loading a skill via loadSkill
attaches its declared tools as native tool definitions from the very
next model step, and they stay attached for the rest of the session.

- tools_extended: new durable turn event (the one sanctioned exception
  to per-turn tool immutability — explicit, replayable, never silent).
  Reducer tracks extensions per model-call index; effectiveTools()
  composes base + extensions for both the live loop and inspect.
- Runtime: sync tool results may carry metadata.toolAdditions; dedupe
  and the durable append run atomically on the serialized commit chain
  (safe under concurrent sync tools). Crash recovery rebuilds the
  extended toolset from the log.
- Skills declare tools (SkillDefinition.tools; SKILL.md tools:/
  allowed-tools frontmatter); catalog entries list them; loadSkill
  returns them via a reserved $toolAdditions key the registry lifts
  into result metadata. builtin-tools skill = escape hatch, derived as
  "every non-base builtin" at module init.
- Sessions derive composition.activeSkills from the previous turn's
  request + its tools_extended events; the resolver attaches active
  skills' tools on top of the base set (stable order, so snapshot
  inheritance keeps working).
- Legacy code-mode path keeps working on the base set (which includes
  code_agent_run/launch-code-task) and strips $toolAdditions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 11:00:13 +05:30
.github/workflows ci(x): parent test harness + GitHub Actions workflow 2026-07-02 14:23:39 +05:30
apps feat(x): skill-scoped contextual tool loading for the copilot 2026-07-09 11:00:13 +05:30
assets Readme updates (#58) 2025-04-03 23:35:15 +05:30
.env.example Run mongodb in docker 2025-04-07 13:30:27 +05:30
.gitattributes Mega UI revamp 2025-04-03 17:56:31 +05:30
.gitignore chore: remove meeting-prep PLAN.md from repo (keep local-only) (#652) 2026-07-02 00:44:28 +05:30
build-electron.sh wip-electron 2026-01-16 12:05:33 +05:30
CLAUDE.md popout and full screen work as expected 2026-07-04 12:06:32 +05:30
docker-compose.yml merge job workers 2025-08-17 11:06:53 +05:30
Dockerfile.qdrant improve embedding index docs and setup 2025-05-09 09:38:09 +05:30
google-setup.md feat(oauth): switch Google OAuth from PKCE to authorization code flow with client secret 2026-04-10 00:43:34 +05:30
LICENSE Fill license placeholder 2025-01-31 16:29:39 +05:30
README.md Include demo video link in README 2026-07-07 18:43:05 +05:30
start.sh Revert auth related changes to start.sh 2025-09-16 16:55:29 +04:00

Rowboat

A desktop AI coworker with a memory of your work and built-in surfaces to act on it.

rowboatlabs/rowboat | Trendshift

Website Discord Twitter Y Combinator

Rowboat indexes your work into a living knowledge graph and uses that to get work done on your machine. It includes work surfaces for collaborating with AI: email client, notes, browser, code mode, meeting note taker, and workspaces for different projects.

Download latest for Mac/Windows/Linux: Download

Rowboat demo video

Demo - apps to code · Demo - knowledge graph

If you find Rowboat useful, please star the repo. It helps more people find it.


Overview

Brain

Rowboat indexes email, meetings, slack and assistant conversations into a living Obsidian-style backlinked knowledge graph.
Screenshot 2026-06-24 at 11 22 52 PM

Email

The built-in email client sorts emails into important and everything else. Rowboat automatically drafts responses for important email using all the work context.
Email screenshot

Background agents

You can set up background agents that run on events like new email or on schedule like every day at 8am. They can connect to tools, search the web, use the browser and write code using Claude Code or Codex.
Background agents screenshot

Built-in Browser

Rowboat includes a browser that lets you and assistant collaborate on web tasks. Because its isolated from your main browser, you can log in only to the accounts that want the assistant to access.
Browser screenshot

Meeting Notes

A local meeting note-taker that taps into mic & speaker, produces live transcript and summarizes the meeting in a markdown file and updates the knowledge graph.
Meeting notes screenshot

Code Mode

Code mode lets you spin up parallel coding agents with Claude Code or Codex, and have Rowboat drive them with all the work context where needed.
Code mode screenshot

Apps

You can bulild your own work surfaces inside Rowboat — they get acess to all the tools and integrations, and you can share them with other people.
Apps screenshot

Integrations

Includes one-click integrations to most popular products.
Integrations screenshot

Installation

Download latest for Mac/Windows/Linux: Download

All release files: https://github.com/rowboatlabs/rowboat/releases/latest

Google setup

To connect Google services (Gmail, Calendar, and Drive), follow Google setup.

Voice input

To enable voice input and voice notes (optional), add a Deepgram API key in ~/.rowboat/config/deepgram.json

Voice output

To enable voice output (optional), add an ElevenLabs API key in ~/.rowboat/config/elevenlabs.json

To use Exa research search (optional), add the Exa API key in ~/.rowboat/config/exa-search.json

External tools

To enable external tools (optional), you can add any MCP server or use Composio tools by adding an API key in ~/.rowboat/config/composio.json

All API key files use the same format:

{
  "apiKey": "<key>"
}

How its different

Most AI tools reconstruct context on demand by searching transcripts or documents.

Rowboat maintains long-lived knowledge instead:

  • context accumulates over time
  • relationships are explicit and inspectable
  • notes are editable by you, not hidden inside a model
  • everything lives on your machine as plain Markdown

The result is memory that compounds, rather than retrieval that starts cold every time.

Bring your own model

Rowboat works with the model setup you prefer:

  • Local models via Ollama or LM Studio
  • Hosted models (bring your own API key/provider)
  • Swap models anytime — your data stays in your local Markdown vault

Extend Rowboat with tools (MCP)

Rowboat can connect to external tools and services via Model Context Protocol (MCP). That means you can plug in (for example) search, databases, CRMs, support tools, and automations - or your own internal tools.

Examples: Exa (web search), Twitter/X, ElevenLabs (voice), Slack, Linear/Jira, GitHub, and more.

Local-first by design

  • All data is stored locally as plain Markdown
  • No proprietary formats or hosted lock-in
  • You can inspect, edit, back up, or delete everything at any time