Skip to main content
models.providers.<id>.localService démarre à la demande un serveur de modèles local géré par le fournisseur. Lorsqu’une requête de modèle ou d’embedding sélectionne ce fournisseur, OpenClaw sonde le point de terminaison de santé, démarre le processus s’il est arrêté, attend qu’il soit prêt, puis envoie la requête. Utilisez cette fonctionnalité pour éviter de laisser tourner toute la journée des serveurs locaux coûteux en ressources.

Fonctionnement

  1. Une requête de modèle ou d’embedding est résolue vers un fournisseur configuré.
  2. Si ce fournisseur possède localService, OpenClaw sonde healthUrl.
  3. Si la sonde réussit, OpenClaw utilise le serveur déjà en cours d’exécution.
  4. Si la sonde échoue, OpenClaw lance command avec args.
  5. OpenClaw interroge le point de terminaison de santé jusqu’à l’expiration de readyTimeoutMs.
  6. La requête passe par le transport habituel de modèle ou d’embedding.
  7. Si OpenClaw a démarré le processus et que idleStopMs est défini, il arrête le processus une fois que la dernière requête en cours est restée inactive pendant cette durée.
OpenClaw n’installe ni launchd, ni systemd, ni Docker, ni aucun démon à cette fin. Le serveur est un simple processus enfant du processus OpenClaw qui en a eu besoin en premier. Le démarrage est sérialisé pour chaque fournisseur configuré et chaque ensemble de commande, d’arguments et de variables d’environnement. Ainsi, des requêtes simultanées de conversation et d’embedding destinées au même service ne lancent pas de serveurs en double. Chaque requête conserve son propre bail jusqu’à la fin du traitement de la réponse ; l’arrêt pour inactivité attend donc la fin de toutes les requêtes de modèle et d’embedding en cours. Les alias de fournisseurs configurés restent distincts : deux alias peuvent désigner des hôtes GPU différents sans être fusionnés sous le même identifiant d’adaptateur Ollama, LM Studio ou compatible OpenAI. Si un autre processus OpenClaw dispose déjà d’un serveur opérationnel à la même healthUrl, ce processus le réutilise sans en prendre la gestion (chaque processus ne gère que l’enfant qu’il a lui-même démarré). Les journaux de démarrage et d’arrêt incluent des extraits finaux limités et expurgés de la sortie du processus enfant, ainsi que les durées et les détails de sortie ; les valeurs d’environnement configurées ne sont jamais consignées.

Structure de configuration

Définissez timeoutSeconds dans l’entrée du fournisseur (et non dans localService) afin que les démarrages à froid lents et les longues générations n’atteignent pas le délai d’expiration par défaut des requêtes de modèle. Définissez explicitement healthUrl chaque fois que votre serveur expose son état de préparation ailleurs que sur /models dans l’URL de base.

Champs

Exemple avec Inferrs

Inferrs est un backend /v1 personnalisé compatible avec OpenAI ; la même API localService fonctionne donc avec une entrée de fournisseur inferrs :
Remplacez command par le résultat de which inferrs sur la machine qui exécute OpenClaw. Configuration complète d’inferrs : Inferrs.

Exemple avec ds4

Configuration complète, dimensionnement du contexte et commandes de vérification : ds4.

Voir aussi

Modèles locaux

Configuration des modèles locaux, choix des fournisseurs et recommandations de sécurité.

Inferrs

Exécutez OpenClaw par l’intermédiaire du serveur local inferrs compatible avec OpenAI.