OpenHands
Plateforme d’agent de développement d’IA open source capable d’exécuter des tâches d’ingénierie logicielle
Étiquettes :Outils de programmation IAQu’est-ce que OpenHands ?
OpenHands est une plateforme d’agents IA open source destinée au développement logiciel, dont le projet initial s’appelait OpenDevin. Elle ne se contente pas de compléter du code dans une boîte de dialogue : elle peut comprendre les tâches de développement, lire des dépôts de code, définir des étapes, modifier des fichiers, exécuter des commandes en terminal, lancer des tests et continuer à corriger en fonction des résultats.
Les utilisateurs peuvent l’utiliser via une interface web, une interface de terminal, la CLI ou le SDK Software Agent, ou choisir les services cloud officiels.
OpenHands adopte une conception indépendante des modèles, permettant de se connecter à OpenAI, Anthropic et d’autres services de modèles compatibles, tout en prenant en charge les modèles locaux adaptés aux tâches d’agents. La version open source principale est plus adaptée à l’utilisation par un seul développeur dans un environnement fiable ;
Les droits d’équipe, la facturation centralisée, l’intégration des tickets et de la collaboration, le traitement en parallèle à grande échelle ainsi que le support du cloud privé relèvent de la catégorie Cloud ou Enterprise.
Fonctionnalités clés d’OpenHands
Effectuer de manière autonome les tâches de développement
Les utilisateurs peuvent soumettre des objectifs tels que « corriger cette erreur », « ajouter des tests pour l’interface » ou « migrer les versions dépendantes ». L’agent lit le répertoire, recherche les fichiers pertinents, modifie le code et effectue des vérifications. Il convient aux tâches aux limites claires pouvant être contrôlées par des tests, mais il ne peut pas garantir que chaque modification sera correcte.
La conception d’architectures complexes, les incidents de production et les modifications sensibles en matière de sécurité nécessitent toujours une révision par des ingénieurs.
Capacités de terminal, d’édition et de navigation de fichiers
OpenHands fournit aux agents des outils pour l’exécution de commandes, la lecture et l’écriture de fichiers, la navigation sur le web ainsi que des outils de développement, permettant aux modèles d’observer les résultats réels de leur exécution, plutôt que de ne produire que des fragments de code. Comme ces capacités exigent des droits importants, l’environnement de exécution doit être isolé et ne doit monter que les répertoires réellement nécessaires à la tâche.
Intégration d’un dépôt Git
La plateforme peut fonctionner avec des dépôts de code tels que GitHub, GitLab et Bitbucket, en lisant les branches, en générant des commits ou en traitant des tâches via des workflows cloud. Lors de la connexion aux dépôts, il convient d’utiliser des tokens aux permissions minimales ;
Pour les contributions externes ou les problèmes non fiables, il faut se prémunir contre l’injection de messages et les scripts malveillants, et empêcher l’agent d’accéder automatiquement aux clés de production.
Agent Canvas, interface web et CLI
Agent Canvas offre une interface navigateur ainsi que des capacités de connexion backend, permettant de basculer entre différents Agent Servers depuis un même frontend. Les développeurs qui préfèrent les workflows en terminal peuvent utiliser la CLI, et les équipes peuvent également faire en sorte que les tâches continuent de s’exécuter même après l’éteinte de l’ordinateur, via des serveurs distants.
Les méthodes de démarrage des différentes versions évoluent constamment ; il convient de se référer aux documents de la version stable actuelle lors de l’installation.
Software Agent SDK
L’SDK OpenHands Software Agent propose des interfaces Python et REST pour définir des agents, des outils et des workflows, qui peuvent être exécutés localement ou dans le cloud. Le Agent Server peut également exposer une entrée de service compatible avec les clients de messagerie courants.
Le SDK est adapté à la mise en place de revues de code, à la mise à jour des dépendances, au traitement des problèmes et à l’automatisation du développement interne ; il n’est pas équivalent à un simple SDK de chat basé sur des modèles.
Intégration MCP avec l’extérieur
OpenHands prend en charge l’approche des outils MCP, permettant aux agents d’utiliser des sources de données et des services supplémentaires. Cloud et Enterprise offrent également des intégrations via API, Slack, Jira, etc.
Chaque outil supplémentaire élargit la portée d’accès ; il convient de définir des identifiants et des permissions distincts pour différents entrepôts, équipes et environnements.
Comparaison des prix et des forfaits d’OpenHands
Voici les options actuellement disponibles sur la page de tarification officielle. Le fait que le logiciel OpenHands soit gratuit ne signifie pas pour autant qu’utiliser l’ensemble du système ne coûte rien : la version locale nécessite généralement encore le paiement des frais d’API des modèles, de serveur ou de GPU.
Pour l’option individuelle dans le cloud, il est possible d’utiliser ses propres clés de modèle ou d’acheter des crédits OpenHands LLM pour en utiliser un au prix coûtant.
| Plan | Prix | Utilisateur et session | Capacités principales | Public cible |
|---|---|---|---|---|
| Open Source | Gratuit | 1 utilisateur ; sessions locales illimitées | Exécution locale, interface GUI web, interface de terminal, CLI, intégration Git, SDK, MCP, clés de modèle intégrées | Développeurs individuels et recherche open source |
| Cloud Individual | La couche plateforme est gratuite ; les modèles sont facturés à l’usage ou avec des clés fournies. | 1 utilisateur ; jusqu’à 10 sessions par jour | Environnement d’exécution géré, accès mobile et desktop, API cloud, Git, intégration Jira et Slack | Personnes qui ne souhaitent pas entretenir l’environnement elles-mêmes |
| Enterprise | Cotation sur mesure | Nombre d’utilisateurs illimité ; nombre de sessions simultanées par utilisateur illimité | SaaS ou VPC privée, auto-hébergement, RBAC, facturation centralisée, SAML/SSO, SDK pour de grands répertoires de code et support prioritaire | Organisations nécessitant une gouvernance et une scalabilité concurrentes |
Le fournisseur d’LLM OpenHands facture actuellement au prix de revient du fournisseur du modèle, sans surcoût supplémentaire ; les prix par token pour les entrées, le cache des entrées et les sorties varient en fonction du modèle sélectionné. Avant de générer une clé OpenHands LLM, la documentation officielle exige que le compte ait acheté au moins 10 dollars en crédits Cloud.
La Cloud API Key et la LLM Key ont des utilisations différentes : la première appelle OpenHands Cloud, tandis que la seconde appelle ses couches de modèles ; elles ne doivent pas être confondues.
Comparaison des versions déployées
| Mode de fonctionnement | Emplacement du code et des données | Coûts de maintenance | Risques ou contraintes majeurs |
|---|---|---|---|
| Exécuter directement sur cet appareil | Répertoire local et processus | Faible à moyen | L’agent peut lire et écrire directement les fichiers du hôte, isolant ainsi l’élément le plus faible. |
| Sandbox Docker local | Conteneur et répertoire de montage explicite | Chinois | Le répertoire monté peut encore être modifié ou supprimé ; il est nécessaire de restreindre les ports. |
| OpenHands Cloud | Environnement de exécution hébergé officiel | bas | Influencé par les sessions quotidiennes, les règles cloud et les frais de modèles |
| Créer sa propre VM ou serveur | Hôte propre ou serveur cloud | Moyen à suprême | Nécessite l’authentification, l’isolation du réseau, les journaux et la gestion des clés |
| VPC privée Enterprise | VPC ou infrastructure contrôlée par l’entreprise | Élevé, avec un soutien officiel | Nécessite une licence commerciale, Kubernetes et des capacités d’opération d’entreprise |
Différences entre les licences open source et l’édition entreprise
Le projet principal d’OpenHands est licencié sous la licence MIT, ce qui permet de le consulter, de le modifier et de l’utiliser dans des projets commerciaux. La version open source est conçue pour une utilisation locale par un seul utilisateur et comprend l’agent principal, l’interface, la CLI ainsi que les SDK.
Les composants cloud auto-hébergés d’Enterprise sont de type source-available : le code source est accessible, mais une licence doit être achetée pour les utiliser au-delà de la période d’essai ; le fait que le code soit visible ne signifie pas pour autant qu’il s’agit de logiciel MIT.
L’édition entreprise offre une période d’essai de 30 jours, ainsi que des fonctionnalités supplémentaires telles que plusieurs utilisateurs, un contrôle des droits, des politiques centralisées, un audit, une VPC privée, des intégrations et un support. Les équipes ne doivent pas exposer directement des instances open source mono-utilisateur non renforcées en tant que service public accessible à plusieurs personnes, car ces instances de base ne disposent pas automatiquement d’une authentification multi-locataire complète, ni d’isolation ou de capacités d’extension.
Guide d’installation locale d’OpenHands
- Vérifier l’environnement :Préparer la chaîne d’outils Node.js, Python et Docker requis pour le document actuel ; les utilisateurs Windows doivent également vérifier la virtualisation et Docker Desktop.
- Sélectionner la version stable :Préférez installer la version stable officielle ; ne utilisez pas directement les branches principales pour des projets importants.
- Préparer le répertoire du projet indépendant :Ne mettez que les entrepôts à traiter dans un répertoire dédié ; ne montez pas tout le répertoire de l’utilisateur ou le disque système pour l’Agent.
- Démarrer le sandbox :Privilégiez l’exécution isolée avec Docker et liez les services à l’adresse circulaire locale pour éviter tout accès direct depuis le réseau local ou Internet.
- Modèle de configuration :Ajoutez une clé API de modèle distincte dans les paramètres, en définissant d’abord un montant minimal et des alertes de consommation.
- Charger dans l’entrepôt :Commencez par une branche propre, vérifiez l’état de Git et faites une sauvegarde des modifications importantes.
- Soumettre une petite tâche :Fournir les conditions d’acceptation, les documents associés et les commandes de test, puis observer le plan et la portée d’exécution de l’Agent.
- Vérification manuelle :Vérifier les différences, exécuter des tests complets, effectuer des scans de sécurité et suivre le processus de construction, avant de décider de soumettre ou de fusionner.
Processus d'utilisation d’OpenHands Cloud
- Inscrivez-vous à un compte Cloud Individual et connectez-vous au fournisseur Git que vous souhaitez utiliser.
- Choisissez de utiliser votre propre clé de modèle, ou achetez un petit nombre de crédits pour utiliser les couches fournies par le modèle OpenHands.
- Autoriser uniquement le dépôt cible, en définissant l’identité de soumission et les variables d’environnement nécessaires.
- Créer une session, en décrivant l’étendue de la tâche, le comportement attendu, les méthodes de test et les zones interdites de modification.
- Vérifiez la sortie du terminal, les différences de fichiers et les résultats des tests ; ne vous basez pas uniquement sur les indications de fin de l’Agent.
- Vérifiez que les modifications sont sûres avant de créer une demande de soumission ou de pull, puis faites-les vérifier par le propriétaire du code.
Comment choisir un modèle
Les agents de programmation exigent beaucoup en termes d’appels d’outils, de contexte étendu, de récupération en cas d’erreur et de respect des instructions ; les modèles à bas coût ne permettent pas nécessairement de réduire le coût total : si des échecs répétés ou une grande quantité de tokens invalides sont générés, le coût final peut être plus élevé. Les tâches de formatage simple, de documentation et de tests basiques peuvent faire l’objet d’un modèle économique ;
La refonte entre fichiers, le débogage complexe et l’analyse architecturale conviennent mieux aux modèles dotés de capacités plus élevées.
Les modèles locaux peuvent réduire la transmission de données externes, mais nécessitent suffisamment de mémoire vidéo, une vitesse de traitement élevée et des interfaces compatibles. Avant leur utilisation, il convient d’évaluer dans un environnement non sensible le taux de réussite des tâches, le temps d’exécution, la longueur du contexte et le coût total, sans se limiter à comparer uniquement le prix par million de tokens.
Précautions de sécurité
- L’agent peut exécuter des commandes et modifier des fichiers ; il faut toujours utiliser un environnement sandbox, une machine virtuelle ou un compte aux droits restreints.
- Seul le dépôt cible est monté ; l’accès aux documents personnels, aux répertoires SSH, aux identifiants cloud et aux bases de données de production est interdit.
- Les services locaux sont liés à une adresse circulaire, et lors de leur exposition au public, des clés API renforcées, une authentification ainsi qu’un contrôle d’accès réseau sont ajoutés.
- Le contenu du stock, les issues et les pages web peuvent tous contenir des injections de commandes, et les entrées externes doivent être traitées comme des données non fiables ;
- La clé est placée dans une configuration sécurisée, afin d’éviter qu’elle apparaisse dans les prompts, les journaux, les soumissions et les captures d’écran ;
- Les opérations à haut risque nécessitent une approbation manuelle ; le déploiement automatique dans l’environnement de production ou la fusion de la branche principale par l’agent est interdit.
À qui s’adresse-t-il
- Développeurs qui souhaitent que l’IA modifie, exécute et teste réellement du code ;
- Équipes open source ayant besoin d’un traitement automatique des problèmes, des mises à jour de dépendances et de la maintenance du code ;
- Chercheurs souhaitant développer des agents logiciels spécialisés à partir d’un SDK open source ;
- Organisations de R&D d’entreprise nécessitant une VPC privée, une gouvernance des permissions et une grande capacité de concurrence ;
- Ingénieurs disposés à examiner le comportement de l’agent et possédant des connaissances de base en Git, conteneurs et sécurité.
Avantages et limites d'utilisation
- Les avantages d’OpenHands sont son open source, son indépendance par rapport aux modèles, sa possibilité de déploiement local, ainsi que l’ensemble des solutions offertes, allant de l’interface interactive à des SDK et au cloud d’entreprise.
- Il peut lire des entrepôts réels et corriger le code en exécutant des retours, ce qui en fait un outil plus adapté aux tâches de développement bout en bout que les outils de chat qui se contentent de donner des suggestions.
- La limitation réside dans le fait que l’exécution autonome entraîne des droits plus élevés et des risques financiers, tandis que la durée et l’efficacité de la tâche dépendent fortement du modèle, de la structure du stockage et de la qualité des tests.
- Le déploiement local nécessite des conteneurs et une configuration de sécurité, tandis que les comptes gratuits dans le cloud ont des restrictions de session.
- Le code généré par l’IA peut introduire des vulnérabilités, des problèmes de licence et des regressions cachées ; il est impossible de contourner l’examen manuel du code.
Questions fréquentes
OpenHands est-il gratuit ?
La version open source de base et la couche de plateforme Cloud Individual sont gratuites, mais les API de modèles, les crédits Cloud, les serveurs locaux ou les GPU peuvent entraîner des frais. Enterprise est proposé selon un devis personnalisé.
OpenHands est-il open source ?
Le projet principal OpenHands est licencié sous la licence MIT. Les composants cloud gérés par l’entreprise sont disponibles en source, mais nécessitent une licence commerciale pour un fonctionnement à long terme ; il convient de faire la distinction entre les deux.
OpenHands prend-il en charge les modèles locaux ?
Il prend en charge la connexion à des services de modèles locaux compatibles, mais les tâches d’Agent exigent des ressources importantes, nécessitant un matériel adéquat ainsi que des capacités de mise en appel d’outils éprouvées.
OpenHands modifie-t-il directement le code ?
Oui. Il peut modifier les fichiers du répertoire monté et exécuter des commandes, il doit donc être exécuté dans une branche indépendante et un sandbox, puis toutes les différences et les tests doivent être vérifiés une fois la tâche terminée.
Quelle est la différence entre OpenHands et le complétion de code d’IA classique ?
La complétion classique prédit principalement du code dans un éditeur ; OpenHands peut planifier des tâches à plusieurs étapes, gérer des dépôts, exécuter une terminal et effectuer des tests, ce qui le rapproche d’un agent de développement logiciel exécutable.
Numéro d’enregistrement de sécurité publique du Guangxi : 45132202000164