Ecco Salix, l'harness per agenti di Comma

Salix esegue il tuo agente Comma 24 ore su 24 e chiama un modello grande solo quando il lavoro lo richiede.

Salix al lavoro

Un esempio interattivo. Hai chiesto a Comma di sorvegliare #support e la tua casella di posta per individuare segnalazioni di bug, e Comma ha scritto un Loop per farlo. Il Loop ha svegliato Comma per la segnalazione di un cliente. Comma ha avviato un'attività, e il suo Worker ha riprodotto il bug sul computer cloud e ha aperto una correzione per la tua revisione. Accanto alla finestra, un editor mostra due delle dimostrazioni Lean nel kernel di Salix.

Use ⌘K for search
Tieni d'occhio #support e la mia casella di posta. Avvisami quando un cliente segnala un bug.

Ho scritto un Loop per questo. Salix lo esegue tutto il giorno e chiede a Jev un parere su ogni nuovo messaggio, così mi sveglio solo per una segnalazione di bug.

c
for (;;) {
  msg = sf_event_next(60000);
  if (needs_you(decide(msg)))
    notify(msg);
}

Dana ha segnalato in #support che le esportazioni di file grandi vanno in timeout. Ho avviato un'attività per riprodurre il problema sul computer cloud.

Ho risolto il timeout dell'esportazione segnalato da Dana. La pull request #452 è pronta per la tua revisione.

Dentro Salix

I Loop restano di guardia, 24/7

Il tuo agente scrive un piccolo programma, un Loop, che sorveglia la tua casella di posta, un repository o un feed. Gira giorno e notte e sveglia l'agente solo quando serve.

Informazioni sui Loop

Decisioni rapide con Jev

I Loop chiedono a modelli decisionali veloci come Jev se un'email o un evento richiede la tua attenzione. Un'ora tranquilla non consuma token di modelli grandi.

Come decidono i Loop

Scritto in Elixir e Lean

Elixir tiene in esecuzione il tuo agente quando una parte del sistema si guasta. Il nucleo del loop dell'agente è scritto in Lean, con dimostrazioni che i tuoi dati vanno solo dove è consentito.

Come funziona Salix

Lavora sul tuo Mac

Salix collega il tuo Mac, così Comma può aprire e aggiornare i tuoi file lì. Un agente può anche eseguirci Codex o Claude Code.

Informazioni sui dispositivi

Domande frequenti

Cosa può sorvegliare un Loop, e come lo avvio o lo fermo?

Un Loop può sorvegliare un'app collegata come Gmail, GitHub o Slack, interrogare un'API web o ricevere eventi al suo URL webhook segreto. Chiedi a Comma in chat di seguire qualcosa, come una pull request o un thread, e Comma configura e avvia il Loop; chiedigli di metterlo in pausa o di eliminarlo quando non ti serve più. Un agente può eseguire fino a 20 Loop alla volta.

Quanto costa un Loop mentre è in attesa?

Un Loop in attesa è un piccolo programma sul cluster Salix, non un computer cloud. Non chiama nessun modello e non ha un contatore proprio, quindi consuma crediti solo tramite ciò che chiama, come le domande a Jev, che consumano crediti anche se usi la tua chiave per i modelli, e i turni dell'agente che sveglia, fatturati come qualsiasi altro turno. Può svegliare l'agente al massimo sei volte in ogni finestra di dieci minuti.

Cosa decide Jev, e cosa succede se è incerto o sbaglia?

Jev risponde alle domande che pone un Loop, ad esempio se una nuova email richiede la tua attenzione, e non può inviare messaggi, modificare nulla né concedere accessi. Quando Comma segue per te una pull request, una issue o un thread, il suo Loop resta in silenzio solo se Jev risponde «silenzio» con una confidenza di 0,9 o superiore; tutto il resto, errori compresi, va al tuo agente, che ha l'istruzione di verificare la fonte prima di scriverti. Se Jev risponde «silenzio» con sicurezza e si sbaglia, quell'aggiornamento non ti raggiunge.

Che fine fanno i dati che un Loop legge?

Resta un dato: un'email o un evento non può modificare il codice del Loop né ampliare il suo elenco fisso di capacità. Un evento in arrivo viene conservato solo finché il Loop non ne conferma la ricezione, e il Loop mantiene un unico checkpoint di al massimo 16 KB. Ciò che legge va oltre solo tramite le chiamate del Loop stesso, come una domanda a Jev, gestito da TypeSafe AI, o un messaggio di risveglio al tuo agente.

Cosa succede quando una parte di Salix si guasta?

Ogni agente gira come processo a sé sulla VM di Erlang, quindi una parte guasta si riavvia e gli altri agenti continuano a funzionare. I messaggi che Salix ha accettato sopravvivono al riavvio, e un'azione interrotta che modifica qualcosa non viene rieseguita da sola. Un Loop riprende dal suo ultimo checkpoint dopo un riavvio o lo spostamento su un altro nodo, e se il suo programma va in errore, si riavvia al massimo tre volte all'ora, poi si ferma e avvisa il tuo agente.

Cosa garantiscono le dimostrazioni Lean, e cosa no?

Il nucleo del loop dell'agente gira come codice Lean, e una macchina ne verifica le dimostrazioni. Mostrano che il lavoro accettato da Salix viene conservato attraverso guasti e riavvii, che una risposta non riuscita non conta come completata, e che ogni azione che modifica qualcosa viene registrata prima che Salix la avvii ed è avviata al massimo una volta. Si basano su ipotesi dichiarate sul codice attorno al kernel, e non dimostrano l'archiviazione, il giudizio del modello né che un'attività vada a buon fine.

Cosa può fare Comma sul mio Mac, e come revoco l'accesso?

All'inizio, Comma può solo leggere i file su un computer collegato, Mac compreso. Per permettergli di modificare file, eseguire comandi e usare gli agenti di programmazione installati lì, attiva «Allow operations» per quel computer in «Settings > Devices». Puoi disattivarlo in qualsiasi momento: i comandi in esecuzione si fermano e Comma torna in sola lettura.

Quali agenti di programmazione può eseguire Salix sul mio computer?

Quando Codex, Claude Code, Pi o Kimi è installato su un computer collegato e «Allow operations» è attivo, Comma può affidargli del lavoro. L'agente di programmazione svolge il lavoro su quel computer e Salix mantiene la conversazione. Se il computer va offline, il lavoro resta in attesa o fallisce con un errore, e Salix non lo sposta da solo su un'altra macchina.

Try Comma, Now.

Inizia