Le Problème
Lorsque nous avons initialement construit Office Claws, le provisionnement d'un nouvel agent IA prenait environ 8 minutes. Pour un produit qui promet la simplicité, demander aux utilisateurs d'attendre 8 minutes avant de pouvoir même dire bonjour à leur agent était inacceptable.
La majeure partie de ce temps était consacrée à :
- L'installation de Docker et des dépendances sur un droplet Ubuntu vierge (~5 minutes)
- La configuration du réseau Tailscale (~1 minute)
- Le téléchargement et le démarrage du conteneur de l'agent (~2 minutes)
La Solution : Provisionnement Basé sur les Snapshots
Au lieu d'installer tout depuis zéro sur chaque nouveau droplet, nous pré-construisons un snapshot DigitalOcean avec Packer qui inclut :
- Docker CE pré-installé et configuré
- Le binaire Tailscale prêt à rejoindre un réseau
- Tous les paquets système et dépendances
- Le conteneur du runtime de l'agent pré-téléchargé
Quand un utilisateur crée un nouvel agent, nous démarrons un droplet à partir de ce snapshot plutôt que d'un Ubuntu standard.
Le Script de Bootstrap
Notre script bootstrap_vps.sh détecte s'il s'exécute sur un snapshot en vérifiant un fichier sentinelle :
if [ -f /etc/openclaw-snapshot-version ]; then
echo "Snapshot detected, skipping installation"
# Only configure Tailscale and start agent
else
echo "Fresh install, running full setup"
# Install Docker, Tailscale, dependencies...
fiRésultats
| Étape | Avant | Après |
|---|---|---|
| Création du droplet | 60s | 60s |
| Bootstrap (installation) | 5-6 min | 37s |
| Démarrage de l'agent | 2 min | 45s |
| Total | ~8 min | ~2,5 min |
La phase de bootstrap est passée de 5-6 minutes à seulement 37 secondes — une réduction de 90%.
Comment Nous Maintenons les Snapshots à Jour
Nous utilisons un workflow GitHub Actions qui reconstruit le snapshot chaque semaine. Cela garantit que l'image de base dispose toujours des derniers correctifs de sécurité et de notre runtime d'agent le plus récent.
Le workflow :
- Démarre un droplet temporaire
- Exécute le script d'installation complet
- Crée un snapshot
- Supprime l'ancien snapshot
- Met à jour l'ID du snapshot dans notre configuration
Ce Que Voient les Utilisateurs
Du point de vue de l'utilisateur, ils cliquent sur "Create Agent" et voient une barre de progression. En environ 2 minutes, leur agent apparaît à un bureau dans le bureau en pixel art, prêt à discuter.
Pas de terminal. Pas de SSH. Pas d'attente.
Quelle Est la Suite
Nous explorons des moyens d'aller encore plus loin :
- Pools de droplets pré-chauffés — Garder des droplets inactifs prêts à l'emploi, réduisant le provisionnement à moins de 30 secondes
- Déploiement en edge — Utiliser des fournisseurs régionaux plus petits pour une latence réduite
- Mode conteneur uniquement — Pour les utilisateurs qui ont déjà une infrastructure et veulent uniquement le runtime de l'agent