Aller au contenu
Guides

Les hooks intégrés d’OpenClaw

Instructions de démarrage, fichiers d’amorçage supplémentaires, journal des commandes, avis de compaction et mémoire de session, ce que fait chacun et où il écrit

6 min de lecture

Tous les hooks n’ont pas à être écrits. OpenClaw en livre cinq, chacun lié à des événements internes précis, et en activer un tient en une commande suivie de la vérification de son effet ; les hooks réservés au démarrage attendent le prochain démarrage de la passerelle. Voici ce que fait chaque hook intégré, les événements qu’il écoute, les options qu’il accepte, les limites sous lesquelles il travaille, et les endroits où la documentation prévient qu’un message ou un fichier manquant n’est pas un hook bloqué.

Les cinq hooks

  • Boot-md exécute un fichier BOOT non vide depuis l’espace de travail résolu de chaque agent configuré au démarrage de la passerelle ; un espace de travail partagé par plusieurs agents ne l’exécute qu’une fois sous le premier agent choisi, les tâches de démarrage tournent l’une après l’autre, et une tâche échouée est journalisée sans bloquer les suivantes. Il s’exécute par une exécution d’agent dans une session de démarrage temporaire neuve, nettoyée ensuite, pas comme un script shell ni comme une injection d’amorçage, avec la livraison normale de la réponse finale désactivée, si bien que des instructions qui doivent prévenir quelqu’un nomment un canal et une cible pour l’outil de message.
  • Bootstrap-extra-files ajoute au contexte les fichiers d’amorçage correspondants de l’espace de travail sur l’événement d’amorçage de l’agent : une liste de chemins est préférée, avec des motifs ou des fichiers comme alternatives et non comme listes fusionnées, les chemins se résolvent par rapport à l’espace de travail de l’événement et doivent y rester après résolution des liens symboliques, et seuls les noms de base des agents, de l’âme, de l’identité, de l’utilisateur, d’amorçage et de mémoire se chargent.
  • Command-logger ajoute une ligne JSON par événement de commande émis à un journal des commandes dans le répertoire d’état, avec horodatage, action, clé de session, expéditeur et source, les valeurs absentes devenant inconnues ; le cœur n’émet que les commandes de nouvelle session, de réinitialisation et d’arrêt, le gestionnaire attend l’ajout et ne confirme jamais dans le chat, et le journal n’est pas archivé par rotation, donc l’accès et la rétention des identifiants qu’il enregistre vous reviennent.
  • Compaction-notifier ajoute un court avis avant la compaction et un avis d’achèvement après une compaction réussie, avec les comptes de messages et de jetons quand ils existent ; les avis passent par le rappel de l’appelant de la compaction, donc sans rappel qui les livre un message visible n’est pas garanti, et une commande de compaction manuelle ne fournit pas ce rappel, ce qui en fait un moyen peu fiable de tester le hook.
Gardez les instructions de démarrage courtes et sûres à répéter à chaque redémarrage.

La mémoire de session

Session-memory enregistre le texte récent d’utilisateur et d’assistant de la session terminée quand une commande de nouvelle session ou de réinitialisation tourne, réinitialisations douces comprises, ou quand le renouvellement automatique quotidien ou d’inactivité remplace la session, ce qui émet son propre événement de réinitialisation automatique plutôt qu’une commande synthétique ; l’expiration est vérifiée à l’admission du tour suivant, pas par un minuteur à la frontière du jour. L’artefact est un fichier daté dans le répertoire de mémoire de l’espace de travail avec un suffixe numérique en cas de collision, daté dans le fuseau de l’utilisateur, puis celui du processus, puis celui de l’hôte, et il enregistre l’identité de la session et la source de la commande ou la raison de la réinitialisation. Trois options : le nombre de messages récents, quinze par défaut ; un slug de nom de fichier généré par un modèle, facultatif et désactivé par défaut parce qu’il coûte un appel de modèle et retombe sur un horodatage en cas d’échec ; et le modèle utilisé pour ce slug. Le hook capture la conversation qui se termine avant que la réinitialisation ferme sa fenêtre et écrit en arrière-plan, dans la limite de 4 096 messages parcourus et de huit mébioctets, et les réinitialisations manuelles n’attendent pas l’écriture, donc la documentation dit d’attendre la ligne de journal de contexte enregistré avant de chercher le fichier. C’est un extrait filtré, pas une transcription ni un résumé par un modèle : le texte des commandes slash, les messages d’outils, les entrées inter-sessions, les marqueurs silencieux et les miroirs de livraison en double sont omis.

Limites et chevauchements

  • Les fichiers d’amorçage supplémentaires passent par le filtrage et les plafonds normaux : lectures plafonnées à deux mébioctets par fichier, injection à vingt mille caractères par fichier et soixante mille au total sous les valeurs par défaut des agents, un plafond distinct de quatre mille caractères pour le fichier de l’utilisateur, doublons retirés, sous-agents ne gardant que le fichier des agents, et filtres de confidentialité supplémentaires pour cron et les conversations non privées ; la commande de détail du contexte montre le résultat réellement injecté.
  • Un fichier d’outils n’est pas un nom de base d’amorçage reconnu : la correction du doctor archive celui à la racine de l’espace de travail et fusionne le contenu personnalisé dans la section des outils du fichier des agents, et les motifs nommant d’autres fichiers d’outils doivent plutôt pointer vers le fichier des agents.
  • Si l’indexation des transcriptions de sessions est aussi activée, une conversation peut être représentée à la fois comme extrait de mémoire et comme source de session, ajoutant des résultats redondants et du travail d’embeddings ; pour un rappel par les seuls hooks, restreignez les sources de recherche mémoire à la mémoire et désactivez le rappel entre conversations, et pour un rappel de transcription complète, désactivez plutôt le hook. Ces réglages de recherche n’arrêtent pas les écritures de fichiers du hook.

Hooks et webhooks dans OpenClaw est le guide auquel ces cinq hooks appartiennent, et L’espace de travail de l’agent OpenClaw liste les fichiers d’amorçage que le hook des fichiers supplémentaires a le droit d’ajouter.

Deux choses qu’ils touchent

Deux des cinq se placent sur le chemin de la mémoire : le notificateur de compaction en rend compte et la mémoire de session l’alimente. Fenêtre de contexte et compaction dans OpenClaw explique les phases avant et après que le notificateur entoure, et La mémoire d’OpenClaw expliquée le répertoire de mémoire de l’espace de travail où atterrit l’extrait.

Sur Diali

Sur Diali, les hooks intégrés sont présents dans l’image d’exécution, et ceux qui sont activés agissent sur l’espace de travail et le répertoire d’état du volume de l’assistant ; un fichier de démarrage, si vous en utilisez un, s’exécute de nouveau à chaque redémarrage de release, donc gardez-le idempotent. OpenClaw hébergé sur Diali est l’assistant et Les sessions d’OpenClaw les réinitialisations qui déclenchent la mémoire de session.

  • Cinq hooks, activés par leur nom, vérifiés par leur effet.
  • Le démarrage passe par un agent, pas par un shell.
  • La mémoire de session est un extrait, écrit en arrière-plan.
Commencer

Arrêtez de lire, construisez le vôtre

Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.