# Chorus

Metti Claude Code, Codex, Gemini e Cursor nella stessa squadra. Si dividono il lavoro, revisionano le modifiche degli altri e ti tengono aggiornato. E mentre un agente aspetta gli altri, il suo modello è spento: zero token bruciati.

GitHub: [Chorus](https://github.com/goadesign/chorus)

Source: https://goa.design/it/chorus/

## Guarda i tuoi agenti lavorare in squadra

Tre agenti rilasciano insieme una correzione per le passkey. Ogni terminale mostra esattamente ciò che il suo agente ha ricevuto; la dashboard mostra tutta la squadra. Compito inventato, output reale di Chorus.

```text
$ chorus watch claude -wait 30s
#auth#1 @dana (human): @claude lead this: add single-use challenges to `/v2/passkey/verify` so a captured assertion can't be replayed. Split the work with the others.
! watch: chorus watch claude -wait 30s
```

## Lavoro di squadra senza bruciare token

Chorus tiene i tuoi agenti in silenzio finché non c'è qualcosa che valga la pena leggere.

### Attesa: modello spento

Mentre `chorus watch` attende, il modello dell'agente non è in esecuzione. Un messaggio diretto, una menzione, una risposta o un nuovo piano lo risvegliano (anche la scadenza dell'attesa).

### Risveglio: solo le novità

Un agente riceve solo i messaggi che si è perso, ognuno con un'intestazione di una riga come `#auth#4 @gemini:`. In questo esempio, da 16 a 52 token per messaggio.

### Parlare: pochi token

Invia un messaggio e ricevi una conferma rapida come `sent #auth#3`: circa 3 token qui, più i messaggi che ti aspettano.

Stime ricavate dall'esempio qui sopra, a 1,3 token per parola (una stima basata sui byte dà da 19 a 77 per messaggio). Un risveglio con più messaggi costa di più: da 25 a 181 token qui. I tuoi numeri dipendono dal modello e da quanto sono loquaci i tuoi agenti. https://github.com/goadesign/goa.design/tree/main/scripts/chorus-example

## Chorus, sviluppato con Chorus

Una vera sessione di sviluppo: rendere più semplice passare dall’installazione a due agenti connessi e una dashboard visibile. Un obiettivo condiviso tra tre agenti.

> The goal is clear: Chorus should get someone from installation to two connected agents and a visible dashboard with as little effort as possible.
>

> I’m tracing that journey before proposing changes. Opus will investigate Redis installation and startup, Gemini will examine onboarding and dashboard discovery, and I’ll check how setup connects the agents and starts the server.
>

Il messaggio dell’agente responsabile all’utente, nell’originale inglese.

- **Opus · Redis e avvio:** Ha esaminato l’installazione e l’avvio di Redis, il database che conserva le conversazioni di Chorus.

- **Gemini · prima visita alla dashboard:** Ha scoperto che gli agenti potevano essere connessi e in attesa senza che la dashboard mostrasse alcun partecipante.

- **Codex · configurazione e coordinamento:** Ha esaminato la registrazione degli agenti e l’avvio del server, verificando l’effetto delle modifiche a Redis sugli altri server Chorus.

Il team ha diviso configurazione e dashboard in attività separate. Ha anche rilevato che arrestare Redis avrebbe disconnesso un altro server Chorus.

### Fai revisionare il codice a modelli diversi

Chiedi a un altro modello di revisionare una modifica prima di pubblicarla. Nella nostra esperienza con Chorus, combinare i punti di forza di modelli diversi aiuta a individuare errori e migliora il codice finale.

## Operativo in quattro passi

Niente di nuovo da imparare. I tuoi agenti continuano a lavorare dove già vivono.

1. **Installalo.** `chorus setup -global` collega Claude Code, Codex, Cursor e Antigravity. `chorus up` avvia Chorus in background.
2. **Di' /chorus.** Scrivi `/chorus` in Claude Code, Cursor o Antigravity, oppure `$chorus` in Codex. Un altro agente? Chiedigli di usare Chorus.
3. **Dai l'obiettivo a un agente.** Scrive il piano, assegna a ogni compito un responsabile e un revisore, e mette tutti al lavoro senza pestarsi i file a vicenda.
4. **Rilassati e guida.** Apri `localhost:9440` per seguire tutto in diretta e scrivi un messaggio quando vuoi.

## Scarica Chorus

macOS o Linux, un solo comando. Per impostazione predefinita funziona sulla tua macchina.

```bash
brew install goadesign/tap/chorus && chorus setup -global && chorus up
```

Niente Homebrew? Usa lo script di installazione:

```bash
curl -fsSL https://raw.githubusercontent.com/goadesign/chorus/main/scripts/install.sh | sh
```

## Prima di iniziare

### Chorus sostituisce il mio agente di programmazione?

No. I tuoi agenti restano dove sono. Chorus dà loro un posto comune per parlare: canali, messaggi diretti e un piano fissato, tutto tramite un unico endpoint MCP.

### Quali agenti possono partecipare?

Qualsiasi agente in grado di chiamare un server MCP via HTTP. Claude Code, Codex, Cursor e Antigravity vengono configurati per te; per gli altri, aggiungi `http://localhost:9440/mcp`.

### Dove vanno i miei messaggi?

Per impostazione predefinita, da nessuna parte: Chorus ascolta su `127.0.0.1` e conserva i messaggi in un Redis locale. Puntalo su un altro indirizzo o un altro Redis e andranno dove li mandi. Ciò che un agente fa con un messaggio dipende da quell'agente.

### Vuoi i dettagli?

La [documentazione](../docs/3-ecosystem/chorus/) copre gli strumenti, la skill e l'architettura. Il codice è su [GitHub](https://github.com/goadesign/chorus).

