Sessions · Mis à jour le

Automatisations : un agent à heure fixe

Lancer un agent à heure fixe sur un serveur SSH, chaque jour, en semaine ou chaque semaine, même Soreno fermé, puis retrouver sa session dans Soreno.

Ce qu’est une automatisation

Une automatisation lance un agent à heure fixe sur un serveur SSH, par exemple un skill chaque matin. Elle tourne sur le serveur, même quand Soreno est fermé et votre ordinateur éteint ; sa session vous attend ensuite dans Soreno.

Elle réunit un nom, un projet SSH, un agent, Claude Code, Codex, Pi ou OMP, un prompt et un planning. Chat (OMP) et Terminal ne sont pas proposés.

Ouvrir la vue Automatisations

L’entrée Automatisations, l’icône de calendrier dans la barre d’activités à gauche, liste vos automatisations en colonnes : Nom, Projet, Planning, Prochaine et Dernière exécution. Sans projet SSH, Soreno vous invite d’abord à en ajouter un.

La vue Automatisations de Soreno : quatre automatisations avec leur projet, leur planning, leur prochaine et leur dernière exécution. Revue des dépendances, sélectionnée, ouvre son panneau : Active, Nom, Projet, Agent, Prompt, Planning, Exécutions, Ouvrir la session, Exécuter maintenant et Supprimer l’automatisation.
La liste des automatisations, et le panneau de celle qui est sélectionnée.

Créer une automatisation

Nouvelle automatisation ouvre le panneau. Donnez un Nom, choisissez le Projet SSH et l’Agent, écrivez le Prompt, puis réglez le Planning : Chaque jour, Lundi–vendredi ou Chaque semaine avec son Jour, à l’heure et aux minutes voulues. L’heure suit le fuseau de votre ordinateur au moment de l’enregistrement, affiché sous le planning. Créer installe l’automatisation sur le serveur.

Le prompt est le premier message de l’agent. Tapez / dans le champ : Soreno propose les skills du projet et ceux du serveur, et insère votre choix dans la syntaxe de l’agent, /nom pour Claude Code, $nom pour Codex, /skill:nom pour Pi et OMP. Les skills sont lus sur le serveur au premier /, si le projet est connecté ; à nom égal, celui du projet l’emporte.

Le panneau Nouvelle automatisation : le nom, le projet api-facturation, l’agent Claude Code, et le champ Prompt où / ouvre la liste des skills du projet et du serveur.
Un / dans le prompt propose les skills, dans la syntaxe de l’agent.

Soreno ajoute au projet une session favorite au nom de l’automatisation : c’est là que démarre chaque exécution. Le projet et l’agent restent ceux choisis à la création.

À l’heure prévue

Le serveur démarre l’agent dans la session de l’automatisation, avec le prompt en premier message, comme si vous l’aviez lancé depuis Soreno. L’agent reste ouvert à la fin de son tour ; s’il demande une autorisation, elle attend votre réponse.

Si l’exécution précédente tourne encore dans cette session, la nouvelle est sautée : rien ne remplace une session ouverte. Après un redémarrage du serveur, une seule exécution manquée est rattrapée.

Ouvrez la session depuis la liste, ou avec Ouvrir la session : vous vous y rattachez et retrouvez ce que l’agent a affiché. La conversation d’une exécution lancée par le serveur n’est pas liée à la session : Soreno ne la reprend pas automatiquement.

Suivre les exécutions

La colonne Dernière exécution donne l’état de la plus récente :

  • Jamais exécutée ;
  • Session ouverte, avec sa date : l’agent est encore là ;
  • Terminée, avec sa date ;
  • Sautée · session encore ouverte ;
  • Échec · agent introuvable sur le serveur, ou Échec avec sa date pour une autre erreur.

Une pastille marque une exécution que vous n’avez pas encore ouverte. La liste est relue sur le serveur à l’ouverture de la vue, puis toutes les 30 secondes tant qu’elle reste affichée, pour les projets connectés ; un projet non connecté affiche Non connecté, son dernier état connu et Connecter. Exécuter maintenant lance une exécution tout de suite.

Modifier, mettre en pause, supprimer

Cliquez sur une automatisation pour ouvrir son panneau. Enregistrer applique un nouveau prompt ou un nouveau planning sur le serveur. Le nom se change aussi : c’est celui de sa session.

L’interrupteur Active, en tête du panneau, met en pause ou reprend l’automatisation tout de suite, sans enregistrer vos autres modifications : la ligne affiche En pause et n’a plus de prochaine exécution.

Supprimer l’automatisation retire le minuteur du serveur. La session et son historique sont conservés, et une exécution encore ouverte continue. Pour un projet non connecté, la suppression reste locale : le minuteur n’est pas retiré du serveur. Une session ou un projet qui porte une automatisation ne peut pas être supprimé avant elle.

Ce qu’il faut sur le serveur

Les automatisations demandent un serveur Linux dont systemd est l’init. Soreno y installe un minuteur systemd utilisateur, dans ~/.config/systemd/user, et le script de chaque exécution dans ~/.config/soreno/automations ; il active au besoin le maintien après déconnexion (loginctl enable-linger) pour que le minuteur tourne sans session ouverte. Les conteneurs sans systemd ne sont pas pris en charge.