- 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
Commentaires sur Hacker News
cloudrouter start ., mais il m’a demandé un mot de passe pour l’authentification du serveurDonc j’ai ouvert un ticket
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
rsyncqu’il désactive la vérification des clés d’hôte SSH, ce qui présente un risque de sécurité importantJ’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
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
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