Roo Code
Valeur ajoutée gratuite
Guide complet des outils d’IA Outils de programmation IA

Roo Code

Agent de développement d’IA open source multimodal destiné aux éditeurs

Étiquettes :

Qu’est-ce que Roo Code ?

Roo Code est un agent de programmation IA open source qui fonctionne dans Visual Studio Code. Son ancêtre est lié à l’écosystème Cline, et il est actuellement entretenu de manière indépendante par l’équipe de Roo Code. Il intégre des modèles de langage de grande taille dans l’éditeur, permettant aux utilisateurs d’analyser des projets en langage naturel, de modifier plusieurs fichiers, d’exécuter des commandes, de déboguer des erreurs et de diviser des tâches complexes.

Roo Code n’est pas un plugin de chat doté d’un modèle fixe. L’extension est chargée de gérer les workflows, les outils, le contexte et l’édition, tandis que les recommandations proviennent du Roo Router, d’API de modèles externes, d’un gateway cloud ou de modèles locaux.

Édition de code à plusieurs fichiers

Roo peut lire les fichiers de projet, rechercher du code, créer de nouveaux fichiers et apporter des modifications précises. Chaque appel de l’outil est affiché dans la conversation, permettant à l’utilisateur de consulter les différences, de sauvegarder ou de rejeter un ensemble d’éditions.

La modification entre fichiers convient à l’ajout de nouvelles fonctionnalités, au transfert d’interfaces, à la complétion des tests et à la refonte, mais le modèle peut modifier du code non pertinent. La tâche doit spécifier le répertoire cible, les éléments interdits de modification et les commandes de validation.

Exécution de commande en terminal

L’agent peut exécuter dans la terminal de VS Code des commandes d’installation, de compilation, de test, de linting et de Git, puis continuer à corriger en fonction des résultats. Les utilisateurs peuvent approuver une par une, ou configurer une approbation automatique pour des actions spécifiques.

L’approbation automatique augmente le risque d’erreurs. Ne donnez pas des droits illimités pour la suppression, le déploiement, les scripts de gestion de paquets et les commandes contenant des identifiants de production ; il est recommandé de définir une limite de requêtes successives.

Mode Code

Le mode Code est destiné aux tâches d’implémentation classiques, permettant de lire, d’éditer et d’exécuter des commandes ; il convient pour développer directement des fonctionnalités, corriger des bugs et refactoriser du code. Il dispose généralement de droits d’outil de projet assez complets.

Ne passez pas directement en mode Code lorsque les besoins ne sont pas clairs. Utilisez d’abord Ask ou Architect pour confirmer le périmètre, ce qui permet de réduire les modifications répétées et les coûts de modélisation.

Mode Architect

Le pattern Architect favorise la compréhension des bibliothèques de code, des plans de conception, la séparation des tâches et l’évaluation des choix techniques, en limitant par défaut la capacité d’écrire directement du code. La version actuelle sélectionne intelligemment les outils de recherche et de contexte, y compris une recherche sémantique disponible.

Les recommandations architecturales doivent toujours tenir compte des contraintes du projet, de l’expérience de l’équipe et des données de performance réelles. Une fois le plan élaboré, on peut passer en mode Code pour sa mise en œuvre.

Modes Ask et Debug

Le mode Ask sert à expliquer du code, répondre à des questions techniques et lire des projets, sans se concentrer sur l’écriture ; le mode Debug, quant à lui, aide à analyser les journaux, les piles d’erreurs, les résultats de exécution et les causes possibles, en proposant ou en exécutant des étapes de vérification.

Lors du débogage, il faut fournir la reproduction minimale, l’erreur réelle et la version de l’environnement. Laisser le modèle modifier directement le code en l’absence de preuves peut facilement masquer la véritable cause.

Mode personnalisé

Les utilisateurs peuvent créer des schémas personnalisés pour définir des descriptions de rôles, des permissions d’outils, des plages de fichiers et des instructions spécifiques, telles que les auditeurs de sécurité, les ingénieurs en test, les composants React, les auteurs de documents ou des réviseurs en lecture seule. Les schémas au niveau du projet peuvent être partagés avec le dépôt.

Les modes personnalisés doivent respecter le principe du minimum de privilèges, n’ouvrant que les outils nécessaires à la tâche. Des instructions trop longues ou contradictoires réduisent la stabilité d’exécution du modèle.

Découpage de tâches et sous-tâches

Roo permet de créer des tâches secondaires et de spécifier des modèles, afin que les tâches complexes avancent selon les étapes de recherche, de planification, de mise en œuvre et de test. La vue historique affiche un arbre de tâches secondaires récursives, aidant les utilisateurs à visualiser la chaîne de délégation.

La délégation en plusieurs niveaux augmente les risques de appels de modèle, de changements de contexte et de perte d’état. Chaque sous-tâche doit disposer de conditions d’entrée, de sortie et d’arrêt claires.

Liste de tâches

Pour les tâches complexes, on peut utiliser une liste Todo pour noter les étapes à faire, en cours et terminées, afin d’éviter d’oublier des tâches au cours de sessions longues. L’agent poursuivra le travail en se basant sur cette liste.

L’état Todo n’est qu’un enregistrement intermédiaire, et non une preuve de réussite du test. La validation finale repose toujours sur les différences de code, ainsi que sur les résultats de la compilation, des tests et de l’exécution.

Checkpoints points de contrôle

Roo crée des snapshots de l’espace de travail à l’aide d’un répertoire Git shadow indépendant, sans dépendre de l’historique Git principal du projet. Les utilisateurs peuvent comparer ou restaurer des points de contrôle, ce qui est idéal pour essayer différentes solutions et annuler des modifications insatisfaisantes.

Les points de contrôle suivent les fichiers de l’espace de travail et sont indépendants des règles rooignore qui restreignent la lecture par l’IA. Les grands dépôts, les caches et le contenu Git LFS doivent être configurés pour être exclus, et les points de contrôle ne peuvent pas remplacer un système de contrôle de version et de sauvegarde officiel.

Index du répertoire de code

L’index du répertoire de code établit une recherche sémantique grâce à l’incorporation et à la base de données vectorielle Qdrant, permettant aux agents de trouver des implémentations pertinentes au sein de projets de grande envergure. Le coût de l’indexation initiale est élevé, tandis que les mises à jour incrémentales ultérieures sont généralement moins chères.

Cette fonctionnalité nécessite l’intégration d’une clé de modèle et de Qdrant, et entraîne des coûts supplémentaires en stockage et en inférence. Le code sensible doit définir l’emplacement de la base de données vectorielle et les droits d’accès.

Citation dans le contexte

Les utilisateurs peuvent ajouter des informations sur des fichiers, des dossiers, une terminal, une liste d’erreurs et d’autres éléments en utilisant une syntaxe de citation, afin d’éviter que le modèle ne devine. Le fichier de configuration API permet également de choisir différents fournisseurs, modèles et paramètres pour différentes tâches.

Ajouter tout le dossier permet d’élargir rapidement le contexte. Privilégiez les interfaces, les erreurs et les fichiers pertinents, afin d’éviter d’envoyer des données et des clés non pertinentes au modèle.

Outils externes MCP

Roo Code prend en charge le Model Context Protocol, ce qui permet de se connecter à des bases de données, des API, des documents, d’automatiser les navigateurs et d’utiliser des scripts personnalisés. Les serveurs MCP peuvent être gérés au niveau global ou dans la configuration du projet, et les outils peuvent être activés, désactivés et approuvés séparément.

Le serveur MCP exécute les opérations réelles sur le poste local ou à distance ; avant l’installation, il convient d’examiner l’origine, les commandes, le réseau et les permissions des clés. La configuration du projet ne doit pas contenir de tokens en texte brut.

Évolutions de l’automatisation des navigateurs

La version initiale de Roo Code intégrait l’outil navigateur Puppeteer, permettant d’ouvrir des pages web, de cliquer et de prendre des captures d’écran. À partir de la version 3.48, cet outil navigateur intégré a été supprimé ; désormais, les opérations de navigation doivent être réalisées à l’aide de Playwright ou d’autres serveurs MCP.

Les éléments browser_action et le panneau de session intégré des anciens tutoriels ne sont plus compatibles avec les nouvelles versions. Le MCP du navigateur nécessite également une approbation et permet de se prémunir contre les alertes malveillantes sur les pages web.

Marché Marketplace

Roo Marketplace propose des MCP et des modèles organisés que les utilisateurs peuvent installer dans leur projet actuel ou dans l’environnement global, afin d’élargir les capacités de développement de framework, de documentation, de bases de données et d’automatisation.

Être inclus ne signifie pas qu’il n’y a pas de risques de sécurité. Après l’installation, il convient d’examiner le fichier de configuration généré, les dépendances et les permissions des outils, ainsi que de verrouiller la version reproductible.

Fournisseurs de modèles pris en charge

Roo Code prend en charge Anthropic, OpenAI, Amazon Bedrock, Google Vertex AI, Gemini, DeepSeek, Moonshot, Mistral, OpenRouter, Requesty, Vercel AI Gateway, xAI, Z AI, LiteLLM ainsi que des services compatibles avec OpenAI.

La liste des fournisseurs est mise à jour avec chaque nouvelle version. La version 3.48 a supprimé certains formulaires de configuration intégrés peu utilisés ; les identifiants existants restent, mais doivent être transférés vers un autre gateway ou une interface compatible.

Roo Code Router

Roo Router propose une interface de modèle qui élimine la nécessité d’une configuration manuelle de plusieurs clés API ; une fois que l’utilisateur a rechargé son solde, il peut choisir les modèles disponibles, et le traitement s’effectue en fonction du token du modèle et du prix du routage en cours. Il convient aux utilisateurs qui souhaitent démarrer rapidement et disposer d’une facturation unifiée.

Le routeur n’offre pas d’accès illimité à un tarif mensuel fixe. Les coûts réels dépendent du modèle, du contexte, du cache, des tokens de raisonnement et du nombre d’appels de tâches ; la facture finale est basée sur les détails du compte.

Clé API à fournir soi-même

Les utilisateurs peuvent se connecter directement aux comptes d’Anthropic, OpenAI, OpenRouter, Bedrock, Vertex, etc., avec facturation par le fournisseur correspondant. Les profils API permettent de sauvegarder différents modèles, adresses de base et limites de débit pour différents modes.

La clé est stockée dans le Secret Storage de VS Code et n’est pas affichée en texte brut, mais il faut rester prudent lors de son export, de sa synchronisation et dans l’environnement des extensions. Ne soumettez pas de tokens dans la configuration du dépôt.

Modèle local

Roo prend en charge Ollama et LM Studio, permettant d’exécuter des modèles sur l’appareil ou sur un serveur propre, ce qui réduit l’envoi de code vers des clouds tiers. La configuration d’Ollama lit la fenêtre de contexte du modèle lui-même.

L’agent dépend de appels à des outils natifs fiables ; les modèles de chat ordinaires ou des interfaces OpenAI incomplètes peuvent ne pas fonctionner. Les modèles pour des contextes longs nécessitent également plus de mémoire vive et de mémoire vidéo.

API du modèle VS Code

L’API expérimentale du modèle de langage VS Code permet à Roo d’utiliser les modèles fournis par GitHub Copilot ou d’autres extensions. Les modèles disponibles, les quotas et les prix sont déterminés par les extensions source ; Roo ne peut pas contrôler directement les coûts.

Cette interface peut encore changer et n’est pas adaptée à servir de source unique de modèle pour l’équipe sans avoir été testée.

Tutoriel d'utilisation de Roo Code

Terminer une tâche de base

  1. Définir les tâches de codage à effectuer dans Roo Code, la portée du répertoire et les critères d’acceptation ;
  2. Connectez ou importez le projet de test, et faites d’abord une sauvegarde de la branche actuelle ;
  3. Utilisez d’abord l’édition de code multi-fichier pour générer le plan, puis confirmez les fichiers à modifier ;
  4. Utiliser des commandes de terminal pour effectuer de petites modifications ;
  5. Exécuter des tests, des vérifications statiques et la compilation ; ne pas accepter directement de code non vérifié.
  6. Vérifier manuellement les droits, les clés, les dépendances et gérer les exceptions avant de fusionner ;

Créer des flux de travail professionnels réutilisables

  1. Choisir un projet réel à faible risque comme modèle ;
  2. Fixer l’ordre d’utilisation de l’édition de code pour plusieurs fichiers, de l’exécution de commandes en terminal et du mode Code ;
  3. Enregistrer l’environnement, le modèle, les indications et les conditions d’échec ;
  4. Définir une approbation manuelle pour les actions d’écriture, de déploiement et de suppression ;
  5. Comparer la vitesse, le coût, le taux de réussite des tests et le volume de rétravail ;
  6. Vérifiez la stabilité avant de l’étendre à l’équipe ou à l’environnement de production ;

Affichage et limitations des coûts

  • Roo affichera dans l’historique de la conversation les entrées, sorties, le cache ainsi que le coût estimé pour une partie des tokens de raisonnement ;
  • L’utilisateur peut définir le nombre maximal de demandes consécutives pouvant être approuvées automatiquement ; une fois cet seuil atteint, l’approbation est suspendue et doit être confirmée à nouveau.
  • Le montant affiché est seulement une estimation ; le montant final est celui indiqué sur la facture du fournisseur.
  • Réduire le contexte superflu, diviser les tâches, utiliser le cache et choisir des modèles en fonction du niveau de difficulté permet de contrôler les coûts ;

Roo Code CLI

Le projet propose également une CLI Roo expérimentale permettant de lancer des tâches depuis la terminal, de reprendre des sessions et de transmettre des configurations de tâche. La version bêta actuelle exige Node.js 20 ou ultérieur, et est principalement disponible pour macOS Apple Silicon ainsi que Linux x64 et ARM64.

La CLI évolue encore rapidement ; certaines versions autorisent par défaut l’approbation automatique des outils et des commandes. Avant une utilisation en production, il convient de vérifier les paramètres actuels et d’activer explicitement l’approbation manuelle.

Mode d’installation

La méthode la plus courante consiste à installer Roo Code sur le marché d’extensions de VS Code, à ouvrir la barre latérale, à sélectionner le fournisseur de modèles et à configurer la clé. Il est également possible de télécharger un VSIX depuis les releases officiels de GitHub pour un déploiement hors ligne ou contrôlé.

Les entreprises doivent fixer les versions d’extension, examiner les notes de mise à jour et configurer de manière uniforme via la stratégie VS Code. Les mises à niveau de version peuvent supprimer des outils, des fournisseurs ou modifier le comportement d’approbation.

Prix de Roo Code

L’extension VS Code est elle-même gratuite, il n’y a pas de abonnement Pro obligatoire à acheter. Lors de l’utilisation d’API externes, le coût est facturé selon les tarifs du fournisseur du modèle ;

Roo Router utilise un système de quota et de facturation selon la consommation ; le modèle local nécessite de prendre en charge soi-même les coûts matériels et d’exploitation.

Les informations relatives aux anciens forfaits Cloud et au modèle promotionnel évoluent rapidement ; le site officiel est désormais davantage orienté vers l’agent cloud auto-hébergé Roomote. Avant d’acheter, il convient de se référer au prix unitaire en temps réel des modèles dans le compte ainsi qu’à la page du nouveau produit.

Roo Code Cloud et Roomote

La direction des agents cloud de l’équipe Roo évolue vers Roomote, un partenaire d’ingénierie auto-hébergé et indépendant des modèles, capable de se connecter aux dépôts, aux issues, au monitoring et aux systèmes de données, d’exécuter des tâches dans un environnement isolé et de retourner des PR ainsi que des prévisualisations.

Roomote et les extensions Roo Code locales ne sont pas le même produit. Son code est licencié sous la licence Fair Core, qui deviendra Apache 2.0 ultérieurement ; il ne faut donc pas le confondre avec la licence open source pure Apache propre aux extensions Roo Code.

GitHub et l’état open source

Le dépôt officiel étendu de Roo Code est soumis à la licence Apache License 2.0 ; le code source, les issues et les versions sont publics, permettant son utilisation, sa modification et sa distribution conformément à la licence. Le projet est principalement développé en TypeScript.

Le fait que la source soit rendue publique ne signifie pas que les modèles connectés tels que Claude, GPT, Gemini, etc. soient eux aussi open source, ni que l’inference du Roo Router soit gratuite. Roomote en cloud dispose d’une licence indépendante.

Confidentialité et sécurité

Roo traite le code fourni par l’utilisateur, les suggestions, les sorties de terminal et les résultats des outils, puis les envoie au fournisseur de modèles sélectionné. Le projet propose une télémétrie optionnelle ainsi que des fichiers rooignore pour limiter la portée de la lecture par l’IA.

Ignorer un fichier ne peut pas empêcher le point de contrôle d’enregistrer le même fichier, ni remplacer les permissions du système d’exploitation. Les entreprises doivent définir en même temps une politique de données de modèle, une liste d’autorisation MCP, des contrôles réseau et des scans de secrets.

À qui s’adresse-t-il ?

  • Les développeurs qui souhaitent utiliser la programmation par proxy dans VS Code ;
  • Utilisateurs qui ont besoin de pouvoir basculer librement entre Claude, OpenAI, Gemini et les modèles locaux ;
  • Équipes souhaitant contrôler les droits de planification, de mise en œuvre et de débogage selon différents modes ;
  • Utilisateurs avancés ayant besoin d’une connexion MCP aux bases de données, aux documents et aux outils de navigateur ;
  • Ingénieurs qui accordent de l’importance aux logiciels libres, aux points de contrôle et aux processus d’approbation configurables.

Avantages du produit

  • Apache 2.0 est open source et reste indépendant du modèle ;
  • Les configurations de modèles, de sous-tâches et d’autorisations d’outils sont flexibles ;
  • Prend en charge l’édition de plusieurs fichiers, la console, l’indexation et les points de sauvegarde ;
  • MCP et Marketplace étendent les capacités externes ;
  • Prend en charge les API cloud, les routeurs et les modèles locaux ;
  • Permet d’afficher le token et le coût, tout en limitant les appels automatiques.

Restrictions et précautions

  • Roo offre de nombreuses fonctionnalités mais est complexe à configurer, ce qui représente un certain obstacle pour les débutants qui ne comprennent pas du tout les API des modèles et les permissions.
  • Les coûts de modélisation et de MCP peuvent augmenter rapidement pour les tâches longues ;
  • L’approbation automatique, la CLI expérimentale et le MCP externe peuvent tous effectuer des opérations dangereuses ;
  • Il convient d’utiliser des branches Git, des droits minimaux, des limites de demande, des tests et une révision manuelle ;

Questions fréquentes

Roo Code est-il gratuit ?

L’extension est gratuite et open source ; les API de modèles, les quotas de Roo Router et le matériel local sont à la charge de l’utilisateur.

Roo Code prend-il en charge Claude ?

Claude prend en charge la connexion directe avec Anthropic, et peut également être utilisé via Bedrock, Vertex, OpenRouter et d’autres passerelles.

Roo Code prend-il en charge les modèles locaux ?

Prend en charge Ollama et LM Studio, mais les modèles doivent supporter de manière fiable les appels aux outils natifs.

Roo Code a-t-il des fonctionnalités de navigateur ?

La nouvelle version a supprimé les outils de navigateur intégrés ; il est nécessaire d’installer un serveur MCP tel que Playwright pour automatiser le navigateur.

Roo Code prend-il en charge MCP ?

Soutien : il est possible de configurer les serveurs au niveau global ou par projet, et de contrôler séparément l’activation des outils et l’approbation.

Roo Code est-il open source ?

Open source, les extensions de VS Code sont sous licence Apache 2.0 ; le proxy cloud Roomote utilise une licence différente.

©️Droit d’auteur : Sauf indication contraire, tous les articles de ce site sont protégés par le droit d’auteur.Partage d’outils d’IATous les droits d’auteur sont réservés. Sans autorisation, aucune personne, média, site web ou groupe ne peut reproduire, copier ou diffuser de quelque manière que ce soit le contenu de ce site, ni créer de mirror sur des serveurs qui ne lui appartiennent pas. Dans le cas contraire, notre site se réserve le droit de poursuivre en justice les responsables conformément à la loi.

Outils similaires à Roo Code