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.
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.
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.
Voici quelques exemples de commandes CLI et leurs sorties attendues :
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!")
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
Comment puis-je vous aider ? >> Supprimez un fichier inexistant
Sortie attendue :
🤖 Une erreur s'est produite. Veuillez réessayer.