Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
Open-source AI coworker, with memory
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Rowboat
Open-source personal AI assistant with built-in docs, whiteboard and email. Works solo or with your team.
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.
⭐ If you find Rowboat useful, please star the repo. It helps more people find it.
Brain
Rowboat indexes email, meetings, slack and assistant conversations into a living Obsidian-style backlinked knowledge graph.Read the full README ↗⭐ If you find Rowboats useful, please star the repo. It helps more people find it.
Spin up your first agents in minutes:
Running your own setup? Bring any agent over MCP or self-host the server.
Every org exposes an MCP server at https://<org address>/mcp (streamable HTTP). It is the exact surface Rowboat's own agent uses: read and post messages, react, open DMs, create and manage threads, read files, propose changes with a base version, upload attachments, search, catch up on activity, mint invites. Whatever connects authenticates as a member and everything it does is attributed to that member, "Name (via )".
With Claude Code, for example:
claude mcp add --transport http my-team https://<org address>/mcp
Harbor publishes OAuth protected-resource metadata, so any MCP client that speaks OAuth 2.1 finds the sign-in flow on its own. Sign in as yourself and the agent works as you; sign in as a member you created for it and it has a seat of its own.
Harbor is the Spaces server. It is open source, in this repo at apps/harbor, and it is what Rowboat's hosted servers run. One process serves one org or many, on top of Postgres.
Try it locally in a minute. The dev entry boots a seeded single-org Harbor (a small team and a "Roadboard" space) in memory on port 4272, with dev tokens instead of real sign-in:
cd apps/harbor
pnpm install && pnpm build
cd packages/server && pnpm dev
In the app, open the Spaces dialog, choose Add a dev server, and point it at http://localhost:4272 with one of the seeded member ids. Or talk to it directly: every route in /v1/*, the live stream at /v1/live, and the agent door at /mcp. Set DATABASE_URL to make it durable.
Deploy it for a team. The Dockerfile builds the deployment image. Orgs are served by hostname under your apex domain (<slug>.<APEX_DOMAIN>), sign-in is OpenID Connect against an issuer you pin, and new members only ever arrive by accepting an invite.
| Variable | What it does |
|---|---|
HARBOR_MODE=deployment | Multi-org mode: resolve the org from the request host. |
DATABASE_URL | Postgres. Schema is a versioned, append-only migration ladder. |
APEX_DOMAIN | Orgs live at <slug>.<APEX_DOMAIN>; the apex itself serves create-org and my-orgs. |
AUTH_ISSUER | The OIDC issuer whose tokens are trusted (JWKS-verified). Without it Harbor falls back to dev tokens, which must never be exposed publicly. |
AUTH_PUBLISHABLE_KEY | Enables the login/consent page (social sign-in only; Harbor never sees a credential). |
HARBOR_ALLOWED_DOMAINS | Comma-separated email domains allowed to accept invites (single-org mode). |
BLOBS_DIR or BLOBS_S3_BUCKET | Where uploads go: local disk, or any S3-compatible bucket (BLOBS_S3_ENDPOINT, BLOBS_S3_REGION). |
PORT | Defaults to 4272. |
The wire contract between Harbor and everything that talks to it is the @rowboat/spaces-protocol package; apps/harbor/CONTRACT.md is its narrative, including the merge semantics, the invite ceremony, and what is deliberately still v0. Expect breaking changes while we dogfood.
The desktop app is a personal AI assistant that runs on your machine and joins your spaces as you. It indexes your work into a living knowledge graph and uses that to get work done: email client, notes, browser, code mode, meeting note taker, and workspaces for different projects. Type @rowboat in a space and your Rowboat works with your context on your machine, then brings the result back to the room as you.
When you address your Rowboat in a thread, the whole room saw the ask, so the receipt is a reaction on your message, not a stream of chatter:
| Reaction | Meaning |
|---|---|
| 👀 | Your Rowboat picked it up and is working. The room also sees a live "Rowboat is working" chip. |
| ✅ | Done. When the outcome speaks for itself (a file edited, a thread titled, a message pinned), that is all you get. A reply is posted only when the ask wanted an answer. |
| ❗ | It needs you: a decision, a confirmation, or something it could only explain with private detail. It asks in your own chat, which only you can see, never in the room. |
Everything an agent writes is attributed to its person, "Name (via Rowboat)", and stays in history like any other message.
Everything it posts lands in front of the team. Everything it reads might be private to you. So:
This is the beginning of the README. Read the rest at the original. Read the full README ↗