<overview>
L'interface CLI langgraph gère le cycle de vie complet des applications LangGraph — du scaffolding d'un nouveau projet jusqu'au déploiement sur LangGraph Platform (LangSmith Deployments).
Commandes clés :
langgraph new— Scaffolder un projet à partir d'un templatelanggraph dev— Exécuter localement avec hot reload (sans Docker)langgraph build— Construire une image Dockerlanggraph up— Lancer localement via Docker Composelanggraph deploy— Déployer sur LangGraph Platformlanggraph dockerfile— Générer un Dockerfile
Toutes les commandes (sauf new) lisent depuis un fichier de configuration langgraph.json à la racine du projet.
</overview>
Quand l'utiliser
Utilisez cette skill quand l'utilisateur souhaite :
- Scaffolder un nouveau projet LangGraph
- Exécuter un serveur de développement local ou en pré-production
- Construire ou déployer une application LangGraph
- Comprendre ou éditer la configuration
langgraph.json - Gérer les LangSmith Deployments (lister, supprimer, afficher les logs)
Installation
# Python
pip install 'langgraph-cli[inmem]' # includes langgraph dev support
pip install langgraph-cli # without dev server (build/up/deploy only)
# if using UV as package manager
uv add "langgraph-cli[inmem]" # includes langgraph dev support
uv add langgraph-cli # without dev server (build/up/deploy only)
# JavaScript
npx @langchain/langgraph-cli # use on demand
npm install -g @langchain/langgraph-cli # install globally (available as langgraphjs)
Commandes
langgraph new [PATH]
Scaffolder un nouveau projet à partir d'un template.
langgraph new # interactive template selection
langgraph new ./my-agent # create in specific directory
langgraph new --template agent-python # skip prompt, use template directly
Templates disponibles : deep-agent-python, deep-agent-js, agent-python, new-langgraph-project-python, new-langgraph-project-js
langgraph dev
Exécuter un serveur de développement local avec hot reloading. Aucun Docker requis.
langgraph dev # default: localhost:2024
langgraph dev --port 8000 # custom port
langgraph dev --config ./langgraph.json # explicit config path
langgraph dev --no-reload # disable hot reload
langgraph dev --no-browser # don't auto-open LangGraph Studio
langgraph dev --host 0.0.0.0 # bind to all interfaces (trusted networks only)
langgraph dev --tunnel # expose via Cloudflare tunnel for remote access
langgraph dev --debug-port 5678 # enable remote debugger (requires debugpy)
langgraph dev --n-jobs-per-worker 20 # max concurrent jobs per worker (default: 10)
langgraph build
Construire une image Docker pour le serveur API LangGraph.
langgraph build -t my-image # required: tag the image
langgraph build -t my-image --no-pull # use locally-built base images
langgraph build -t my-image -c langgraph.json # explicit config
langgraph build -t my-image --base-image langchain/langgraph-server:0.2.18 # pin base version
langgraph up
Lancer le serveur API LangGraph via Docker Compose (incluant Postgres).
langgraph up # default port 8123
langgraph up --port 8000 # custom port
langgraph up --watch # restart on file changes
langgraph up --recreate # force fresh build (useful for pre-deploy validation)
langgraph up --postgres-uri postgresql://... # external Postgres
langgraph up --no-pull # use local images (after langgraph build)
langgraph up --image my-image # skip build, use pre-built image
langgraph up -d docker-compose.yml # add extra Docker services
langgraph up --debugger-port 8124 # serve debugger UI
langgraph up --wait # block until services are healthy
langgraph deploy
Construire et déployer sur LangGraph Platform (LangSmith Deployments). Nécessite Docker. Sur Apple Silicon (M1/M2/M3), Docker Buildx est également requis pour la cross-compilation vers linux/amd64.
langgraph deploy # deploy, name defaults to directory name
langgraph deploy --name my-agent # explicit deployment name
langgraph deploy --deployment-type prod # production deployment (default: dev)
langgraph deploy --tag v1.2.0 # custom image tag (default: latest)
langgraph deploy --deployment-id <id> # update an existing deployment by ID
langgraph deploy --config ./langgraph.json # explicit config path
langgraph deploy --no-wait # don't wait for deployment status
langgraph deploy --verbose # show detailed server logs
Prérequis : LANGSMITH_API_KEY dans l'environnement ou .env.
langgraph deploy accepte aussi les flags de build : --base-image, --pull/--no-pull.
langgraph deploy list
langgraph deploy list # list all deployments
langgraph deploy list --name-contains bot # filter by name
langgraph deploy delete
langgraph deploy delete <deployment-id> # interactive confirmation
langgraph deploy delete <deployment-id> --force # skip confirmation
langgraph deploy logs
langgraph deploy logs # runtime logs, last 100
langgraph deploy logs --name my-agent # by deployment name
langgraph deploy logs --deployment-id <id> # by deployment ID
langgraph deploy logs --type build # build logs instead of runtime
langgraph deploy logs -f # follow/stream logs
langgraph deploy logs --level error # filter by level (debug|info|warning|error|critical)
langgraph deploy logs -q "timeout" # search filter
langgraph deploy logs --limit 500 # more entries
langgraph deploy logs --start-time 2026-03-08T00:00:00Z # time range
langgraph dockerfile <SAVE_PATH>
Générer un Dockerfile (et optionnellement des fichiers Docker Compose) sans construire.
langgraph dockerfile ./Dockerfile # generate Dockerfile
langgraph dockerfile ./Dockerfile --add-docker-compose # also generate compose + .env + .dockerignore
Référence langgraph.json
Le fichier de configuration utilisé par toutes les commandes CLI (dev, build, up, deploy). Par défaut langgraph.json dans le répertoire courant.
Configuration minimale (Python)
{
"dependencies": ["."],
"graphs": {
"agent": "./my_agent/agent.py:graph"
},
"env": "./.env"
}
Configuration minimale (JavaScript)
{
"dependencies": ["."],
"graphs": {
"agent": "./src/agent.js:graph"
},
"env": "./.env"
}
Configuration complète avec toutes les clés
{
"dependencies": [".", "langchain_openai", "./local_package"],
"graphs": {
"agent": "./my_agent/agent.py:graph",
"retriever": "./my_agent/rag.py:rag_graph"
},
"env": "./.env",
"python_version": "3.12",
"pip_config_file": "./pip.conf",
"dockerfile_lines": [
"RUN apt-get update && apt-get install -y ffmpeg"
]
}
Référence des clés
| Clé | Obligatoire | Description |
|---|---|---|
dependencies |
Oui | Tableau de dépendances. "." cherche les packages locaux via pyproject.toml, setup.py, requirements.txt, ou package.json. Peut aussi être des chemins vers des sous-répertoires ("./my_pkg") ou des noms de packages ("langchain_openai"). |
graphs |
Oui | Mapping d'ID de graphe vers chemin. Format : ./path/to/file.py:variable (Python) ou ./path/to/file.js:function (JS). La variable doit être un CompiledGraph ou une fonction la retournant. Plusieurs graphes supportés. |
env |
Non | Chemin vers un fichier .env (string) OU mapping inline de noms de variables d'environnement vers valeurs (objet). Utilisé par langgraph dev et langgraph up localement. langgraph deploy lit ce fichier et ajoute les variables comme secrets de déploiement. |
python_version |
Non | "3.11", "3.12", ou "3.13". Par défaut "3.11". |
node_version |
Non | Version Node.js pour les projets JS. |
pip_config_file |
Non | Chemin vers un fichier de configuration pip pour les index de packages personnalisés. |
dockerfile_lines |
Non | Tableau de lignes Dockerfile supplémentaires ajoutées après l'import de l'image de base. À utiliser pour les packages système, binaires, ou setup personnalisé. |
Flux de travail typique
- Scaffolder —
langgraph newpour créer un projet à partir d'un template. - Configurer — Éditer
langgraph.json: définir les dépendances, pointergraphssur votre(vos) graphe(s) compilé(s), ajouter.env. - Développer —
langgraph devpour l'itération locale rapide avec hot reload (pas de Docker, port 2024). - Valider —
langgraph up --recreatepour tester dans une stack Docker de pré-production (port 8123, inclut Postgres). - Déployer —
langgraph deploypour envoyer sur LangGraph Platform (LangSmith Deployments). - Monitorer —
langgraph deploy logs -fpour suivre les logs runtime ;--type buildpour les logs de build.
langgraph dev vs langgraph up
| Fonctionnalité | langgraph dev |
langgraph up |
|---|---|---|
| Docker requis | Non | Oui |
| Installation | pip install 'langgraph-cli[inmem]' |
pip install langgraph-cli |
| Usage principal | Développement & tests rapides | Validation de pré-production |
| Persistance d'état | En mémoire / pickled dans répertoire local | PostgreSQL |
| Hot reloading | Oui (par défaut) | Optionnel (--watch) |
| Port par défaut | 2024 | 8123 |
| Usage des ressources | Léger | Plus lourd (conteneurs Docker pour serveur, Postgres, Redis) |
| Débogage IDE | Support DAP intégré (--debug-port) |
Débogage conteneur |
Pièges
langgraph deploynécessite Docker — Sur Apple Silicon (M1/M2/M3), Docker Buildx est aussi requis pour la cross-compilation verslinux/amd64.langgraph deployne peut mettre à jour que ses propres déploiements — Les déploiements créés via l'UI LangSmith ou l'intégration GitHub ne peuvent pas être mis à jour aveclanggraph deploy. Utilisez l'UI pour ceux-là.dependenciesdoit inclure tous les packages — Le tableaudependenciesdanslanggraph.jsondoit pointer où votre configuration de package se trouve (par ex.,"."pour la racine). Les packages réels sont résolus depuispyproject.toml,requirements.txt, oupackage.jsonà cet emplacement.langgraph devs'exécute sans Docker — Il s'exécute directement dans votre environnement. Si votre code dépend de packages système (par ex.,ffmpeg), ils doivent être installés localement. Utilisezlanggraph uppour valider les builds Docker.- CLI JavaScript — Utilisez
npx @langchain/langgraph-cli <command>(oulanggraphjssi installé globalement vianpm install -g @langchain/langgraph-cli). - Clé API —
LANGSMITH_API_KEYest requis pourlanggraph deploy. Pourlanggraph dev, c'est optionnel — le serveur s'exécute sans, mais vous n'obtiendrez pas de traces dans LangSmith. Peut aussi être défini viaLANGGRAPH_HOST_API_KEYouLANGCHAIN_API_KEY.