2.8 KiB
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 interactive OpenHands via la ligne de commande :
- Assurez-vous d'avoir suivi les instructions de configuration pour le développement.
- Exécutez la commande suivante :
poetry run python -m openhands.core.cli
Cette commande lancera 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, clé API et autres paramètres via des variables d'environnement
ou le fichier config.toml.
Avec Docker
Pour exécuter OpenHands en mode CLI avec Docker :
- Définissez les variables d'environnement suivantes dans votre terminal :
SANDBOX_VOLUMESpour spécifier le répertoire auquel vous souhaitez qu'OpenHands accède (Ex :export SANDBOX_VOLUMES=$(pwd)/workspace:/workspace:rw).- L'agent travaille dans
/workspacepar défaut, donc montez votre répertoire de projet à cet emplacement si vous souhaitez que l'agent modifie des fichiers. - Pour les données en lecture seule, utilisez un chemin de montage différent (Ex :
export SANDBOX_VOLUMES=$(pwd)/workspace:/workspace:rw,/path/to/large/dataset:/data:ro).
- L'agent travaille dans
LLM_MODELpour le modèle à utiliser (Ex :export LLM_MODEL="anthropic/claude-3-5-sonnet-20241022").LLM_API_KEYpour la clé API (Ex :export LLM_API_KEY="sk_test_12345").
- Exécutez la commande Docker suivante :
docker run -it \
--pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.38-nikolaik \
-e SANDBOX_USER_ID=$(id -u) \
-e SANDBOX_VOLUMES=$SANDBOX_VOLUMES \
-e LLM_API_KEY=$LLM_API_KEY \
-e LLM_MODEL=$LLM_MODEL \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
--add-host host.docker.internal:host-gateway \
--name openhands-app-$(date +%Y%m%d%H%M%S) \
docker.all-hands.dev/all-hands-ai/openhands:0.38 \
python -m openhands.core.cli
Cette commande lancera une session interactive dans Docker où vous pourrez saisir des tâches et recevoir des réponses d'OpenHands.
Le paramètre -e SANDBOX_USER_ID=$(id -u) est transmis à la commande Docker pour s'assurer que l'utilisateur du sandbox correspond aux permissions de l'utilisateur hôte. Cela empêche l'agent de créer des fichiers appartenant à root dans l'espace de travail monté.