Morning briefing
Mail, meetings, calendar and PRs, read before you sit down and turned into proposals you can triage.
Open source · localhost first · your keys
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
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.
A day with it
Overnight mail and chat became proposed todos. Yesterday's design review is split into who owes what, linked to the sentence that said it.
Every proposal has three answers: I'll do it, Agent does it, Later. You decide. Nothing is assigned behind your back.
Agent tasks move across the board: gathering context, drafting, waiting for you. Ask for help in the editor and the context is already there.
A reply written in your tone and a PR description in your style for that repo. Approve, edit or reject. Forty seconds.
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
Gmail, Google Calendar, GitHub, Slack and Linear today, read-only. Outlook and Teams are next.
Mail, meetings, calendar and PRs, read before you sit down and turned into proposals you can triage.
You, Agent, Needs you. See what the agent is doing, how far it is, and what it plans next.
Sending, opening a PR, posting: anything that leaves the building waits for a yes from you.
People, projects, repos and preferences learned from your own work, so nobody re-types context.
Versioned skills for how you write PRs, commits and replies. Edit them like any other page.
A hash-chained, insert-only audit log. Every run is replayable, with its inputs and approvals.
A read-only MCP bridge hands VS Code, Cursor and Copilot CLI the same briefs and skills.
Gemini, OpenAI, Claude, OpenRouter, Ollama or Copilot. Keys are encrypted and never leave the runtime.
Needs you
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.
pnpm add -w p-retry@6Trustworthy by default
Run the whole thing on your machine, or as a desktop app with no Docker at all.
Connectors read. Writes are separate actions with a preview and a policy.
Pause the agent, reject a draft, undo its writes. Control points are part of the design, not a setting.
Read every prompt in Settings. Read every line of the code that runs them.
What we measure against
Ensemble is early. These are the numbers it is built to move.
Sign in with an invite, bring a model key, and connect your first source in a few minutes.