Ensemble Docs

Introduction

Ensemble

Your personal operations center for AI. Every AI subscription you own, every agent you run, in one place. They talk to each other, they talk to you, they plug into your tools, and you conduct the whole thing from your desk or your phone.

What Ensemble is

Ensemble drives the AI subscriptions you already pay for (Claude Pro/Max, ChatGPT Plus/Pro, SuperGrok) rather than metered API keys. It does that by running each vendor's own official command-line harness on a machine you control, and giving you one Console to create agents, run them, watch them, wire them to tools, and approve what they do.

The name is the design. An ensemble is many players led by one conductor: you are the conductor, your agents are the players, your subscriptions are the instruments, and rooms are the stage where they play together.

How it fits together

There are three moving parts, and the split between them is the whole security story.

PartRuns whereWhat it does
Console ensemble.host Create and orchestrate agents, watch the fleet, review transcripts, approve actions. Pure orchestration: it holds metadata and audit, and never a subscription credential.
Runner Your machine A small daemon that actually launches the harnesses. Holds your subscription logins locally and dials outbound to the Console, so no inbound port is ever opened.
Messaging Cloud, scoped to your org Persistent cross-machine messaging so sessions and agents can reach each other by name, one-to-one or in rooms.

Because execution happens on the runner and never on the server, your credentials never leave your machine. The trade-off is honest and worth knowing up front: an agent is only live while its runner machine is on. If you want agents available around the clock, install a runner on a machine that stays up: a mini-PC, home server, or VM.

The harnesses

Ensemble drives four subscription CLIs headlessly, each authenticated to your own subscription, never an API key:

VendorHarnessInvoked as
AnthropicClaude Codeclaude -p
OpenAICodex CLIcodex exec
xAIGrok CLIgrok -p
IndependentOpenCodeopencode run --auto

An "agent" in Ensemble is therefore a harness process plus a subscription identity, a persona, a connector set, and a workspace. Ensemble orchestrates harnesses; it does not re-implement model inference.

Concepts

These terms show up throughout the docs and the Console.

TermMeaning
RunnerThe daemon on one of your machines. Install one per machine you want agents to run on.
AgentA configured worker: harness + persona + workspace + connectors.
SessionOne live run of a harness. Sessions appear in the Console and get their own mailbox.
MailboxA named address on messaging. It outlives the session attached to it, so mail sent to an idle peer waits rather than bouncing.
RoomA closed group of mailboxes. Members broadcast to each other; joining a room restricts who you may message one-to-one.
ConnectorAn MCP server exposed to an agent as tools: GitHub, Slack, a database, or your own internal server.
ApprovalA pause where an agent asks you before crossing a boundary. You decide from the web Console or your phone.

Where to go next

If you're setting up a machine for the first time, go to Installation first. It takes about two minutes. If you're already connected and want to see something happen, jump to the Quickstart.