- Category
- AI Agents
- Pricing
- Open Source
- Type
- APP
- Builder
- rowboatlabs
- GitHub
- 18.0k stars
- Latest release
- v1.0.4
- Date
About
An open-source AI coworker that connects to your email and meetings to build a persistent knowledge graph of your work context. It can generate documents, prep meeting briefs, and help with tasks using accumulated context stored locally as Markdown files.
What it does
Rowboat is a desktop coworker that keeps a durable index of your work instead of re-reading it cold each session. It pulls email, meetings, chat and assistant conversations into a backlinked Markdown vault on disk, then puts surfaces on top that act on that store: a mail client that drafts replies, a note taker that transcribes from mic and speakers, an isolated browser, and background agents that fire on a schedule or on new mail. Coding work is handed out to Claude Code or Codex. Models are yours to pick, local or hosted, and extra tool reach arrives over Model Context Protocol servers.
Why it's ranked here
The product idea holds up: long-lived local memory beats cold retrieval, and the storage format is Markdown you can read without the app. The repository is messier than the pitch. It still carries an earlier hosted agent-builder platform beside the desktop app, and most of that platform's services sit commented out in the container stack, so what actually builds is a subset of what is wired. The command-line entry point throws a not-implemented error over a body commented out wholesale, and that package declares no test command. Treat the signed download as the product and the source tree as an active work site.
What's good
Storage is boring on purpose: plain Markdown plus small JSON credential files under your home directory, so backing up or deleting everything is a file operation, not an export flow. Provider choice is wide, covering hosted vendors, an aggregator, a gateway and local runners, with reasoning effort selectable per task rather than globally. Capability comes from Model Context Protocol servers instead of a fixed integration list. Apache 2.0 licensing. The agent-facing architecture document is unusually specific about build order, bundler choice, and why each decision was forced.
Tradeoffs
This is a desktop application, so it wants its own window plus access to your mailbox and microphone. The self-hosted web dashboard is a much heavier proposition: it expects a document store, a cache and a vector database alongside two background workers, and several of its services are commented out of the container stack. Its request layer answers every origin on the API surface, and the session check runs only when an environment flag is switched on. The sample environment file ships placeholder auth secrets that are easy to leave in place by accident.
How to use it well
Good fit for one person who wants an assistant that remembers months of mail and meetings and can act inside them, and who is comfortable granting a desktop app that access. It earns a slot as the always-open work hub beside your editor, not inside it. Bring your own keys, start with the local vault, and add tool servers once the memory is worth acting on. What it does not cover: shared team deployment, since the multi-tenant server side is a separate and much heavier stack, and it is not itself a coding agent. It drives Claude Code or Codex.
Technical notes+
Four shipping surfaces live in one tree. CLAUDE.md documents the desktop app as a nested pnpm workspace where shared feeds core, preload and renderer, with esbuild collapsing the main process into a single CommonJS file because Electron Forge cannot walk pnpm symlinks; apps/x/packages/core/src/code-mode/index.ts is a three-line barrel re-exporting config, repo and status modules from that core package. apps/rowboat/package.json is the Next.js dashboard, pulling awilix, mongodb, ioredis, @qdrant/js-client-rest, @modelcontextprotocol/sdk and @composio/core, and apps/rowboat/di/container.ts registers use cases, controllers and MongoDB repositories in a clean-architecture layout. apps/rowboat/middleware.ts sets Access-Control-Allow-Origin to * on every /api/ path and calls the Auth0 session check only when USE_AUTH is 'true'; .env.example ships AUTH0_SECRET=test_secret. docker-compose.yml builds Mongo, Redis, Qdrant and the rag-worker and jobs-worker containers while rowboat_agents, copilot, tools_webhook, simulation_runner, twilio_handler and chat_widget are all commented out, and start.sh just exports RAG flags and runs compose with three profiles. apps/cli/src/app.ts exports app(), which throws 'Not implemented' above a fully commented-out permission-and-turn loop, though modelConfig() below it is live and enumerates the provider flavors; apps/cli/package.json sets the rowboatx binary and a test script that exits 1. apps/python-sdk/pyproject.toml targets Python 3.7 or newer on requests and pydantic, and apps/python-sdk/README.md documents a stateless run-turn client with mock-tool overrides. apps/rowboat/README.md is untouched create-next-app boilerplate. LICENSE is Apache 2.0.
Observed
- License
- Apache 2.0 (LICENSE)
- Interfaces
- Electron desktop app, Next.js web dashboard, rowboatx CLI binary, Python client library
- Desktop stack
- Electron with React and Vite, esbuild for the main process, Electron Forge for packaging
- Platforms
- Prebuilt downloads offered for Mac, Windows and Linux
- Model providers
- openai, anthropic, google, openrouter, Vercel AI Gateway, ollama, openai-compatible
- Extensibility
- Model Context Protocol servers plus Composio toolkits
- Local storage
- Plain Markdown vault with per-service JSON key files under the user home directory
- Self-host dependencies
- MongoDB, Redis and Qdrant plus rag-worker and jobs-worker containers (docker-compose.yml)
- Python packaging
- hatchling build backend, requires Python 3.7 or newer, depends on requests and pydantic (apps/python-sdk/pyproject.toml)
- Testing surface
- apps/cli/package.json declares a test script that exits with an error
Read from README.md, CLAUDE.md, LICENSE, .env.example, docker-compose.yml, start.sh, apps/rowboat/README.md, apps/rowboat/package.json, apps/rowboat/middleware.ts, apps/rowboat/di/container.ts, apps/cli/package.json, apps/cli/src/app.ts, apps/python-sdk/README.md, apps/python-sdk/pyproject.toml, apps/x/packages/core/src/code-mode/index.ts.
What it can do
Build knowledge graph from work communications
Email and meeting data → Persistent knowledge graph stored as Markdown files
Generate documents using accumulated work context
Document requirements and existing knowledge graph → Generated documents
Prepare meeting briefs
Meeting information and relevant work context → Meeting preparation briefs
Connect to email systems
Email account credentials and permissions → Integrated email data access
Connect to meeting platforms
Meeting platform credentials and permissions → Integrated meeting data access
Automate workflows using work context
Workflow definitions and knowledge graph data → Automated task execution
Tags
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
