Cette page est informative et sans valeur de conseil. OpenHands est un agent agentique capable d'exécuter du code et des commandes sur votre machine. Lisez attentivement les précautions avant toute utilisation. Vérifiez la licence et téléchargez toujours depuis la source officielle.
À quoi ça sert
OpenHands est un environnement d'agent IA capable d'accomplir des tâches de développement complexes de manière semi-autonome. Vous lui confiez un objectif (« Corrige le bug décrit dans l'issue #42 », « Écris des tests pour ce module ») et il planifie, écrit du code, exécute des commandes dans un conteneur Docker isolé, lit des fichiers et itère jusqu'à atteindre l'objectif — ou vous signaler qu'il est bloqué.
Il s'installe via Docker et s'interface avec un LLM puissant (Claude Sonnet ou GPT-4 sont recommandés pour les tâches complexes). Une interface web permet de suivre et piloter l'agent.
Attention : OpenHands exécute du code dans un conteneur Docker. Bien que ce conteneur soit isolé, l'agent peut lire et modifier votre code, effectuer des requêtes réseau, et — selon la configuration — interagir avec votre système de fichiers. Supervisez chaque session et n'utilisez pas OpenHands sur des systèmes de production sans précautions strictes.
Pour qui
OpenHands s'adresse aux développeurs expérimentés qui comprennent les risques liés à l'exécution de code autonome et souhaitent automatiser des tâches de développement répétitives ou complexes. Il n'est pas recommandé sans maîtrise de Docker, git et des environnements de développement isolés.
Pour commencer avec un assistant de code moins agentique, regardez d'abord Continue ou Aider.
Installation
Prérequis
Docker est indispensable. Installez-le depuis docker.com avant de continuer. Une clé API LLM est requise (Anthropic, OpenAI ou compatible).
Lancer OpenHands
Rendez-vous sur la source officielle : github.com/All-Hands-AI/OpenHands. La commande de lancement recommandée (vérifiez la version actuelle sur le dépôt) :
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.39
Ouvrez ensuite http://localhost:3000 dans votre navigateur. Configurez votre clé API LLM depuis l'interface et définissez le répertoire de travail.
Précautions d'usage
- L'agent exécute du code réel. OpenHands peut créer, modifier ou supprimer des fichiers, exécuter des commandes shell, effectuer des requêtes réseau. Bien que limité au conteneur Docker, supervisez chaque session et revoyez les actions avant de les valider sur votre système principal.
- Travaillez toujours sur une copie ou une branche dédiée. Ne confiez jamais à OpenHands un accès direct à une base de code de production sans filet de sécurité (git, snapshot).
- Votre code est envoyé au modèle LLM. OpenHands s'appuie sur un LLM externe (par défaut un service cloud). L'intégralité du contexte de travail — fichiers, commandes, sorties — peut transiter vers le provider. Évitez les données sensibles dans le répertoire de travail.
- Une clé API est indispensable (et coûteuse en tokens). Les tâches complexes consomment beaucoup de tokens. Suivez votre consommation API.
- Vérifiez la licence avant usage commercial. OpenHands est sous licence MIT, mais vérifiez toujours sur le dépôt officiel.
Matrice de risque
| Risque | Niveau | Mitigation |
|---|---|---|
| Exécution de commandes non souhaitées | 🔴 Élevé | Superviser chaque session ; revoir les actions avant validation ; utiliser un dépôt isolé |
| Code source et contexte envoyés au LLM cloud | 🔴 Élevé si données sensibles | Ne jamais utiliser OpenHands sur des projets contenant des secrets ou données personnelles sans précautions |
| Modification ou suppression accidentelle de fichiers | 🟡 Moyen avec Docker | Limiter les volumes montés au strict nécessaire ; travailler sur une copie |
| Consommation API élevée (tokens) | 🟡 Moyen | Définir des limites de dépenses dans le dashboard du provider ; surveiller la consommation |
| Clé API exposée dans la configuration | 🔴 Élevé si elle fuite | Ne jamais committer la configuration contenant la clé ; utiliser des variables d'environnement |
Sécurité
OpenHands utilise Docker pour isoler les actions de l'agent, ce qui limite — mais n'élimine pas — les risques. Points de vigilance essentiels :
- Limitez les volumes Docker montés. Ne montez que les répertoires strictement nécessaires. Évitez de monter votre répertoire personnel ou des volumes contenant des secrets.
- Supervisez les actions réseau. L'agent peut effectuer des requêtes HTTP. En environnement sensible, restreignez l'accès réseau du conteneur.
-
Ne donnez pas accès à votre socket Docker en production. Monter
/var/run/docker.sockdonne des droits étendus — uniquement en développement local. - Revoyez chaque modification avant de la merger. Traitez le code produit par OpenHands comme du code externe : revue, tests, validation.
- Protégez votre clé API. Stockez-la dans un gestionnaire de secrets, jamais dans un fichier commité ou une image Docker.
Aller plus loin
- Dépôt officiel OpenHands — documentation, releases, guide de démarrage.
- Documentation All Hands AI — guides de configuration détaillés.
- Cline — alternative agentique dans VS Code, plus légère à configurer.
- Aider — alternative en terminal, moins agentique, plus prévisible.
- OSIALab — comparer tous les outils d'IA locale.
Sources
- Code source : github.com/All-Hands-AI/OpenHands
- Documentation : docs.all-hands.dev