Mode CLI
OpenHands peut être exécuté en mode CLI interactif, ce qui permet aux utilisateurs de démarrer une session interactive via la ligne de commande.
Ce mode est différent du mode headless, qui est non interactif et mieux adapté aux scripts.
Avec Python
Pour démarrer une session OpenHands interactive via la ligne de commande, suivez ces étapes :
-
Assurez-vous d'avoir suivi les instructions de configuration de développement.
-
Exécutez la commande suivante :
poetry run python -m openhands.core.cli
Cette commande démarrera une session interactive où vous pourrez saisir des tâches et recevoir des réponses d'OpenHands.
Vous devrez vous assurer de définir votre modèle, votre clé API et d'autres paramètres via des variables d'environnement
ou le fichier config.toml
.
Avec Docker
Pour exécuter OpenHands en mode CLI avec Docker, suivez ces étapes :
- Définissez
WORKSPACE_BASE
sur le répertoire que vous souhaitez qu'OpenHands modifie :
WORKSPACE_BASE=$(pwd)/workspace
- Définissez
LLM_MODEL
sur le modèle que vous souhaitez utiliser :
LLM_MODEL="anthropic/claude-3-5-sonnet-20241022"
- Définissez
LLM_API_KEY
sur votre clé API :
LLM_API_KEY="sk_test_12345"
- Exécutez la commande Docker suivante :
docker run -it \
--pull=always \
-e SANDBOX_USER_ID=$(id -u) \
-e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \
-e LLM_API_KEY=$LLM_API_KEY \
-e LLM_MODEL=$LLM_MODEL \
-v $WORKSPACE_BASE:/opt/workspace_base \
-v /var/run/docker.sock:/var/run/docker.sock \
--add-host host.docker.internal:host-gateway \
--name openhands-app-$(date +%Y%m%d%H%M%S) \
ghcr.io/all-hands-ai/openhands:0.11 \
python -m openhands.core.cli
Cette commande démarrera une session interactive dans Docker où vous pourrez saisir des tâches et recevoir des réponses d'OpenHands.
Exemples de commandes CLI et de sorties attendues
Voici quelques exemples de commandes CLI et leurs sorties attendues :
Exemple 1 : Tâche simple
Comment puis-je vous aider ? >> Écrivez un script Python qui affiche "Hello, World!"
Sortie attendue :
🤖 Bien sûr ! Voici un script Python qui affiche "Hello, World!" :
❯ print("Hello, World!")
Exemple 2 : Commande Bash
Comment puis-je vous aider ? >> Créez un répertoire nommé "test_dir"
Sortie attendue :
🤖 Création d'un répertoire nommé "test_dir" :
❯ mkdir test_dir
Exemple 3 : Gestion des erreurs
Comment puis-je vous aider ? >> Supprimez un fichier inexistant
Sortie attendue :
🤖 Une erreur s'est produite. Veuillez réessayer.