← Départs

SideHub

Fondateur

Cockpit pour piloter ses agents de code IA (Claude Code, Codex, Gemini CLI) sur ses propres machines, depuis n’importe quel navigateur.

LignesEntrepreneuriatIA

Contexte
Un cockpit pour piloter ses agents de code (Claude Code, Codex, Gemini CLI) sur ses propres machines, avec tâches, workflows multi-agents et mémoire partagée.
Mon rôle
Fondateur : conception et développement de toute la plateforme, en .NET 10 et Angular.
Résultat
3 vidéos TikTok par jour, créées et publiées par des agents sans intervention humaine

Piloter ses agents d’où l’on veut

Au départ, SideHub répondait à un besoin très personnel. Mes agents IA tournaient sur un VPS, sur mon Mac ou ailleurs, et je voulais pouvoir les piloter sans retourner devant la machine.

On installe sur sa machine un agent léger, un binaire .NET autonome sans aucune dépendance, relié à SideHub par WebSocket. Depuis n’importe quel navigateur, même sur téléphone, on lance et on suit des sessions Claude Code, Codex, Gemini CLI ou un simple shell sur ses vrais dépôts, avec le streaming en direct et l’approbation des permissions à distance. Le code reste sur la machine. SideHub ne reçoit que les statuts, les résultats et la sortie des sessions.

Des tâches aux workflows

L’outil est ensuite devenu mon gestionnaire de tâches. Chaque tâche peut être liée à un agent, qui s’en occupe en arrière-plan pendant que je fais autre chose.

On peut aussi lier un workflow à une tâche. Un workflow enchaîne plusieurs agents, chacun avec son rôle et son fournisseur. Par exemple, un architecte conçoit le plan avec Claude, un développeur l’implémente avec Codex et un QA relit le tout avec Gemini. Les workflows peuvent être planifiés et tourner seuls, sans valider chaque action.

Une mémoire pour se parler

Pour que plusieurs agents collaborent, il leur fallait un endroit commun. J’ai donc créé une mémoire interne inspirée de Notion. Les agents y créent des pages et des bases de données (stockées en SQLite) pour déposer leurs specs, rapports et décisions. L’agent suivant lit ce que le précédent a écrit, et le travail ne se perd pas à la fin d’une session. On peut aussi interroger cette mémoire en langage naturel.

La base SQLite electrochoc-db ouverte dans la mémoire de SideHub : la table published liste chaque vidéo publiée avec sa date, son identifiant TikTok, son accroche, sa persona et les vidéos Pexels utilisées.

La preuve par TikTok

Pour montrer à quoi tout cela peut servir, j’ai automatisé pour m’amuser une chaîne TikTok, @electrochoc.mind. Des agents créent les vidéos et les publient, sans aucune intervention de ma part. Les vidéos ne sont pas des chefs-d’œuvre, et ce n’est pas le but. C’est une preuve de concept qui fait travailler ensemble des agents, des tâches planifiées et la mémoire partagée, de bout en bout.

Le workflow « Generate new video real » tourne trois fois par jour, vers 7 h, 12 h et 18 h UTC. Un run dure 15 à 17 minutes, sans aucune validation humaine. Il enchaîne cinq étapes, chacune confiée à un agent avec une limite de temps, et chacune dépose son résultat dans la mémoire. Les deux premières tournent avec Codex, les trois suivantes avec Claude, l’agent par défaut du workflow.

Le workflow « Generate new video real » dans SideHub : cinq étapes (idéation, sélection et polish, génération vidéo, validation auto, finalize), chacune avec ses entrées, son fichier de sortie et sa limite de temps.

  1. Idéation (10 min) : l’agent lit les consignes éditoriales (style, formulations interdites, univers, banque de vidéos autorisées) et interroge la base SQLite de la chaîne. Il y trouve les 60 dernières publications, les stats TikTok, les verbes trop utilisés et les personas délaissées. Il propose trois idées, écrites à rebours : l’action finale d’abord, puis la tension, puis l’accroche.
  2. Sélection et polish (5 min) : un second agent joue le juge. Il soumet chaque idée à trois tests de cohérence (chaque pronom renvoie à quelque chose de précis, la logique « parce que tension et accroche, donc action » tient debout, l’action est un geste concret et pas une image). Si la meilleure idée échoue, il passe à la suivante.
  3. Génération vidéo (30 min) : une voix ElevenLabs par acte, choisie selon la persona (avec OpenAI en secours), une vidéo Pexels en fond et une musique Jamendo. Le montage vertical en 1080×1920 est assemblé avec HyperFrames, qui transforme du HTML en MP4 dans Docker.
  4. Validation auto (5 min) : contrôle du format avec ffprobe, de la légende, de la cohérence du texte et des répétitions par rapport à la base. Une vidéo qui échoue n’est jamais publiée.
  5. Finalize (10 min) : écrit les métadonnées dont le publieur a besoin et nettoie le dossier du run.

À tout moment, je peux ouvrir le terminal d’un agent à distance pour voir ce qu’il a fait sur une étape.

Le terminal distant de SideHub sur l’agent electrochoc.mind : l’agent vient de terminer l’étape de génération vidéo et résume la vidéo produite, la légende, les métadonnées, le contrôle éditorial et la page déposée dans la mémoire.

La publication, elle, est sortie du workflow, car le mode automatique de Claude pouvait bloquer l’envoi. Un script shell déclenché par un timer système prend la vidéo validée la plus récente et lui refait passer le contrôle éditorial. Il la publie ensuite via l’API de Zernio, puis l’enregistre dans la base SQLite et dans la mémoire. Chaque vidéo sort ainsi environ une heure après sa création.

J’utilise aussi SideHub au quotidien pour mes propres projets, par exemple pour piloter mon extension Stremio.