Open source · localhost first · your keys

You and your agent,in the same key.

Ensemble is a shared workspace where an engineer and their agent see the same picture: your todos, meetings, mail, code and people. So it can do real work without being told the context every single time.

Why

Chat is the wrong front door.

The context an agent needs already exists in your mail, chat, meeting notes, calendar, issues and repos. A chat box throws most of it away, then asks you to type it back in.

Today
  1. You have a goal and open a chat
  2. You type a request and lose most of the context
  3. The agent guesses the intent
  4. Wrong output. You explain again.
  5. “Forget it, I'll do it myself.”
With Ensemble
  1. The agent read what you read, overnight
  2. It proposes the work, you assign it
  3. It drafts in your voice, with sources linked
  4. You approve at the control points
  5. Chat is one input, not the interface.

A day with it

One morning, two voices.

  1. 08:55

    The briefing is already written

    Overnight mail and chat became proposed todos. Yesterday's design review is split into who owes what, linked to the sentence that said it.

  2. 09:00

    Triage in two minutes

    Every proposal has three answers: I'll do it, Agent does it, Later. You decide. Nothing is assigned behind your back.

  3. 09:05

    You code. It works next to you.

    Agent tasks move across the board: gathering context, drafting, waiting for you. Ask for help in the editor and the context is already there.

  4. 11:30

    Two cards wait for you

    A reply written in your tone and a PR description in your style for that repo. Approve, edit or reject. Forty seconds.

  5. 17:30

    The day closes itself

    What shipped, what slipped, and a first plan for tomorrow. Every agent action sits in an audit timeline with what it read and who approved it.

What's inside

A workspace, not a chat window.

Gmail, Google Calendar, GitHub, Slack and Linear today, read-only. Outlook and Teams are next.

Morning briefing

Mail, meetings, calendar and PRs, read before you sit down and turned into proposals you can triage.

One shared board

You, Agent, Needs you. See what the agent is doing, how far it is, and what it plans next.

Approvals first

Sending, opening a PR, posting: anything that leaves the building waits for a yes from you.

Your engineer graph

People, projects, repos and preferences learned from your own work, so nobody re-types context.

Skills in your style

Versioned skills for how you write PRs, commits and replies. Edit them like any other page.

Tamper-evident ledger

A hash-chained, insert-only audit log. Every run is replayable, with its inputs and approvals.

Context in your editor

A read-only MCP bridge hands VS Code, Cursor and Copilot CLI the same briefs and skills.

Any model, your key

Gemini, OpenAI, Claude, OpenRouter, Ollama or Copilot. Keys are encrypted and never leave the runtime.

Needs you

Every agent asks in one place.

Cursor, Claude Code and VS Code Copilot hold their permission prompts open and send them to Ensemble. Answer once, for the session, or always. If nobody answers, the editor asks as usual. The hook never allows on its own.

Cursor wants to run a commandservice-x · just now
pnpm add -w p-retry@6
Allow onceThis sessionAlwaysDeny…

Trustworthy by default

Nothing risky without you.

01

Localhost first

Run the whole thing on your machine, or as a desktop app with no Docker at all.

02

Least privilege

Connectors read. Writes are separate actions with a preview and a policy.

03

Human in the loop

Pause the agent, reject a draft, undo its writes. Control points are part of the design, not a setting.

04

Open source

Read every prompt in Settings. Read every line of the code that runs them.

What we measure against

Targets, not testimonials.

Ensemble is early. These are the numbers it is built to move.

20 min< 3 min
Morning triage
~150 words0
Context typed before asking for help
≥ 70%
Drafts accepted with minor edits at most
100%
Agent actions in the audit ledger

Bring your agent into the room.

Sign in with an invite, bring a model key, and connect your first source in a few minutes.