Voici Salix, le harnais d'agents de Comma

Salix exécute votre agent Comma jour et nuit, et n'appelle un grand modèle que lorsque le travail l'exige.

Salix au travail

Un exemple à parcourir. Vous avez demandé à Comma de surveiller #support et votre boîte de réception pour repérer les signalements de bugs, et il a écrit une Loop pour ça. La Loop a réveillé Comma pour le signalement d'un client. Comma a lancé une tâche : son Worker a reproduit le bug sur l'ordinateur cloud et proposé un correctif à relire. À côté de la fenêtre, un éditeur montre deux des preuves Lean du noyau de Salix.

Use ⌘K for search
Surveille #support et ma boîte de réception. Préviens-moi quand un client signale un bug.

J'ai écrit une Loop pour ça. Salix la fait tourner toute la journée et interroge Jev sur chaque nouveau message, donc je ne me réveille que pour un signalement de bug.

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

Dana a signalé dans #support que les exports de gros fichiers expirent. J'ai lancé une tâche pour le reproduire sur l'ordinateur cloud.

J'ai corrigé l'expiration de l'export signalée par Dana. La pull request #452 attend votre relecture.

Salix de l'intérieur

Les Loops veillent, 24 h/24, 7 j/7

Votre agent écrit un petit programme, une Loop, qui surveille votre boîte de réception, un dépôt ou un flux. Elle tourne jour et nuit et ne réveille l'agent que lorsque quelque chose le demande.

À propos des Loops

Des décisions rapides avec Jev

Les Loops demandent à des modèles de décision rapides comme Jev si un e-mail ou un événement a besoin de vous. Une heure calme ne consomme aucun token de grand modèle.

Comment les Loops décident

Construit en Elixir et Lean

Elixir maintient votre agent en marche quand une partie du système tombe en panne. Le cœur de la boucle d'agent est écrit en Lean, avec des preuves que vos données ne vont que là où elles sont autorisées.

Fonctionnement de Salix

Fonctionne sur votre Mac

Salix connecte votre Mac pour que Comma puisse y ouvrir et mettre à jour vos fichiers. Un agent peut aussi y exécuter Codex ou Claude Code.

À propos des appareils

FAQ

Que peut surveiller une Loop, et comment en lancer ou en arrêter une ?

Une Loop peut surveiller une app connectée comme Gmail, GitHub ou Slack, interroger régulièrement une API web ou recevoir des événements sur sa propre URL de webhook secrète. Demandez à Comma dans le chat de suivre quelque chose, comme une pull request ou un fil, et il configure puis lance la Loop. Demandez-lui de mettre la Loop en pause ou de la supprimer quand vous n'en avez plus besoin. Un agent peut faire tourner jusqu'à 20 Loops à la fois.

Combien coûte une Loop pendant qu'elle attend ?

Une Loop en attente est un petit programme sur le cluster Salix, pas un ordinateur cloud. Elle n'appelle aucun modèle et n'a pas de compteur propre, donc elle ne consomme des crédits qu'à travers ce qu'elle appelle, comme les questions à Jev, qui consomment des crédits même si vous utilisez votre propre clé de modèle, et les tours de l'agent qu'elle déclenche en le réveillant, facturés comme n'importe quel autre tour. Elle peut réveiller l'agent au plus six fois par tranche de dix minutes.

Que décide Jev, et que se passe-t-il s'il hésite ou se trompe ?

Jev répond aux questions que pose une Loop, par exemple si un nouvel e-mail a besoin de vous, et il ne peut ni envoyer de messages, ni rien modifier, ni accorder d'accès. Quand Comma suit pour vous une pull request, un ticket ou un fil, sa Loop ne reste silencieuse que si Jev répond « silence » avec une confiance d'au moins 0,9, et tout le reste, erreurs comprises, est transmis à votre agent, qui a pour consigne de vérifier la source avant de vous écrire. Si Jev répond à tort « silence » avec assurance, cette mise à jour ne vous parvient pas.

Que deviennent les données que lit une Loop ?

Elles restent des données : un e-mail ou un événement ne peut ni modifier le code de la Loop, ni rien ajouter à sa liste fixe de capacités. Un événement entrant n'est conservé que jusqu'à ce que la Loop en accuse réception, et la Loop garde un seul point de reprise de 16 Ko au plus. Ce qu'elle lit ne sort de la Loop que par ses propres appels, comme une question à Jev, exécuté par TypeSafe AI, ou un message de réveil à votre agent.

Que se passe-t-il quand une partie de Salix tombe en panne ?

Chaque agent tourne dans son propre processus sur la VM Erlang, donc une partie en panne redémarre et les autres agents continuent de tourner. Les messages que Salix a acceptés survivent au redémarrage, et une action interrompue qui modifie quelque chose n'est pas relancée d'elle-même. Une Loop reprend à son dernier point de reprise après un redémarrage ou un déplacement vers un autre nœud, et si son propre programme échoue, elle redémarre au plus trois fois par heure, puis s'arrête et prévient votre agent.

Que garantissent les preuves Lean, et que ne garantissent-elles pas ?

Le cœur de la boucle d'agent s'exécute sous forme de code Lean, et une machine vérifie ses preuves. Elles montrent que le travail accepté par Salix est conservé malgré les pannes et les redémarrages, qu'une réponse en échec ne compte pas comme terminée, et que chaque action qui modifie quelque chose est enregistrée avant que Salix ne la lance, puis lancée au plus une fois. Elles reposent sur des hypothèses explicites sur le code qui entoure le noyau, et ne prouvent ni le stockage, ni le jugement du modèle, ni la réussite d'une tâche.

Que peut faire Comma sur mon Mac, et comment lui retirer l'accès ?

Au départ, Comma peut seulement lire les fichiers d'un ordinateur connecté, votre Mac compris. Pour qu'il puisse modifier des fichiers, exécuter des commandes et utiliser les agents de code qui y sont installés, activez Allow operations pour cet ordinateur dans Settings > Devices. Vous pouvez le désactiver à tout moment : les commandes en cours s'arrêtent et Comma repasse en lecture seule.

Quels agents de code Salix peut-il exécuter sur mon ordinateur ?

Quand Codex, Claude Code, Pi ou Kimi est installé sur un ordinateur connecté et qu'Allow operations est activé, Comma peut lui confier du travail. L'agent de code fait le travail sur cet ordinateur, et Salix garde la conversation. Si l'ordinateur passe hors ligne, le travail attend ou échoue avec une erreur, et Salix ne le déplace pas de lui-même vers une autre machine.

Try Comma, Now.

Commencer