6 points par GN⁺ 2026-02-14 | 1 commentaires | Partager sur WhatsApp
  • Un outil qui permet aux agents de codage IA de créer et contrôler directement des sandbox cloud depuis la ligne de commande, en lançant automatiquement des VM et des instances GPU
  • Crée des environnements de développement distants à partir d’un répertoire local ou d’un dépôt Git, avec prise en charge de VS Code, Jupyter, VNC et du terminal parmi plusieurs modes d’accès
  • Grâce à l’intégration de Chrome CDP, il peut exécuter depuis le CLI des fonctions d’automatisation comme la navigation web, la saisie, les clics, les captures d’écran et le scraping de données
  • Offre un contrôle fin des ressources, avec upload/download de fichiers et synchronisation automatique, sélection du GPU (--gpu H100:2, par exemple), redimensionnement (--size small, par exemple), etc.
  • Open source (MIT). Disponible sur macOS, Linux et Windows

Vue d’ensemble

  • cloudrouter est une compétence CLI qui permet à des agents de codage IA comme Claude Code, Codex ou Cursor de créer et gérer des sandbox VM et GPU dans le cloud
    • Il permet de créer des sandbox depuis la ligne de commande, d’exécuter des commandes, de transférer des fichiers et même de faire de l’automatisation navigateur
    • Installation possible avec la commande npx skills add manaflow-ai/cloudrouter

Installation et authentification

  • Peut être ajouté comme compétence pour agent IA ou installé comme CLI autonome
    • Après npm install -g @manaflow-ai/cloudrouter, authentification avec cloudrouter login
    • Les commandes cloudrouter et cr sont toutes deux utilisables

Fonctionnalités principales

  • Sandbox cloud prêtes à l’emploi immédiatement : création de VM distantes à partir d’un répertoire local, d’un dépôt Git ou d’un template
    • Avec prise en charge de Docker et synchronisation automatique des fichiers
  • Intégration avec les agents IA : création de sandbox, exécution de code et automatisation navigateur directement depuis Claude Code, Cursor, etc.
  • Automatisation navigateur : navigation, clic, saisie, capture d’écran et analyse de l’arbre d’accessibilité via Chrome CDP
  • Modes d’accès multiples : prise en charge du navigateur VS Code, du bureau VNC, du terminal et de l’exécution d’une seule commande
  • Transfert de fichiers : upload/download et réupload automatique à la détection de modifications
  • Open source : sous licence MIT, écrit en Go, distribué comme paquet npm pour macOS, Linux et Windows

Options GPU et instances

  • Les sandbox standard sont disponibles immédiatement, et l’option --gpu permet d’ajouter une instance GPU
    • Exemple : --gpu H100:2 utilise 2 GPU H100
  • Types de GPU et usages
    • T4 (16GB) : inférence et fine-tuning de petits modèles
    • L4 (24GB) : génération d’images
    • A10G (24GB) : entraînement de modèles intermédiaires
    • L40S (48GB) : génération de vidéo
    • A100 (40GB) : entraînement de grands modèles (7B–70B)
    • H100 (80GB) , H200 (141GB) , B200 (192GB) : pour la recherche haute performance et les frontier models

Automatisation navigateur

  • Chaque sandbox inclut un navigateur intégré avec Chrome CDP
    • Il permet d’ouvrir des URL, de capturer un snapshot de l’arbre d’accessibilité, d’interagir avec des éléments et de prendre des captures d’écran
    • Exemples :
      • cloudrouter browser open cr_abc123 "https://example.com"
      • cloudrouter browser fill cr_abc123 @e1 "user@example.com"
      • cloudrouter browser click cr_abc123 @e3

Gestion des sandbox

  • Fournit des commandes pour lister les sandbox en cours, vérifier leur état, les arrêter ou les supprimer
    • cloudrouter ls, cloudrouter stop , cloudrouter delete
  • Prend en charge la mise en pause (stop) et la reprise (resume), avec possibilité d’étendre le délai d’expiration (extend)
  • Limite de 10 sandbox exécutées simultanément

Transfert et synchronisation de fichiers

  • Prise en charge du transfert de fichiers bidirectionnel entre le local et la sandbox
    • Upload : cloudrouter upload ./src
    • Download : cloudrouter download ./dist
    • Possibilité d’activer l’upload automatique à la détection de changements (--watch) et de définir des motifs d’exclusion (-e "*.log")

Accès à l’environnement de développement

  • Propose plusieurs interfaces de développement à distance
    • VS Code : cloudrouter code
    • Jupyter Lab : cloudrouter jupyter
    • Bureau VNC : cloudrouter vnc
    • Session terminal : cloudrouter pty

Consignes de sécurité

  • Les URL de port forwarding E2B sont publiquement accessibles sans authentification, il ne faut donc jamais les partager
    • À la place, seules les URL VNC, VS Code et Jupyter peuvent être partagées en toute sécurité
    • L’accès au serveur de développement se fait via cloudrouter vnc

Guide de dépannage

  • En cas d’erreur npm install : commande requise sudo chown -R 1000:1000 /home/user/.npm
  • En cas d’échec de la commande ssh : il faut entourer la commande complète de guillemets
  • En cas d’échec des commandes navigateur : il faut attendre un court instant juste après la création de la sandbox
  • Exemples d’erreurs fréquentes explicitement mentionnés : ordre incorrect du flag snapshot, mauvais usage du flag extend, etc.

Open source et support

  • Publié sous licence MIT, code disponible sur GitHub
  • Prend en charge macOS, Linux et Windows
  • Canaux officiels : GitHub, Twitter, Discord

1 commentaires

 
GN⁺ 2026-02-14
Commentaires sur Hacker News
  • On a l’impression de se rapprocher encore un peu plus du stade où le modèle peut démarrer avec ses propres fichiers de poids et s’exécuter lui-même
  • Vraiment génial ! J’ai essayé de le lancer dans mon environnement local avec cloudrouter start ., mais il m’a demandé un mot de passe pour l’authentification du serveur
    Donc j’ai ouvert un ticket
    • J’ai trouvé la cause et corrigé le problème. Merci de mettre le package à jour et de réessayer
  • L’idée est bonne, mais personnellement je n’aime pas les architectures monolithiques
    Quand on force trop de fonctions dans un seul outil, cela devient difficile à corriger ou à étendre, et on perd aussi en flexibilité
    Je préfère des outils composés de petits éléments faiblement couplés. Comme ça, les utilisateurs peuvent plus facilement les modifier ou les combiner eux-mêmes
    Le modèle des templates Docker consiste à regrouper plusieurs applications dans un même conteneur, ce qui alourdit les contraintes de build, de support et de compatibilité
    Il vaut mieux mettre chaque application dans un conteneur séparé et les relier via TCP, des sockets ou des volumes
    De plus, le fait que la logique du navigateur soit mélangée au code d’authentification est un signe de faible cohésion
    Et j’ai aussi vu dans le code rsync qu’il désactive la vérification des clés d’hôte SSH, ce qui présente un risque de sécurité important
    • Fournir des templates que l’utilisateur peut surcharger pourrait sans doute atténuer ce problème dans une certaine mesure
      J’ai choisi une structure monolithique pour privilégier le démarrage rapide et la simplicité, mais cela réduit d’autant la liberté de configuration
      Dans le cas des templates Docker, l’objectif est que l’agent puisse téléverser le répertoire de travail et lancer immédiatement un environnement de développement
      Si on divise cela en plusieurs conteneurs, la complexité augmente, notamment pour les montages, le réseau, etc.
      SSH ne se connecte pas directement à l’hôte réel, mais passe par un tunnel TLS WebSocket
      Des jetons d’authentification par session et des clés VM temporaires sont utilisés, donc le port SSH n’est pas exposé à l’extérieur
  • Excellente démo
  • Nous construisons aussi quelque chose de similaire chez dstack
    Récemment, nous avons ajouté une fonctionnalité de support des agents
    Nous nous concentrons sur l’orchestration de conteneurs qui va du développement jusqu’à l’entraînement et l’inférence
  • Je me demande s’il y a une raison de ne pas simplement faire utiliser au agent les CLI AWS/Azure/GCP
    • Bonne question. Mais c’est pratique de pouvoir lancer en une seule commande une VM déjà prête avec SSH, synchronisation de fichiers, navigateur et GPU
      Cela évite les tracas de configuration du compte cloud, des groupes de sécurité ou de la gestion des clés SSH
      cloudrouter inclut déjà Docker/VNC/Jupyter Lab, donc il n’y a pas à se soucier de la configuration de l’environnement
    • C’est possible, mais il y a aussi de la valeur dans les outils qui permettent à l’IA d’accomplir une tâche avec moins de tokens
    • Rien ne l’empêche
  • Vraiment impressionnant
  • La démo était vraiment impressionnante
  • J’ai pris beaucoup de plaisir à lire ça