<state-dir>/logbook/, mais
le traitement par les modèles n’est pas nécessairement local. Les captures d’écran échantillonnées sont envoyées à la
route de vision configurée ; les observations et le texte de la chronologie sont envoyés au modèle
d’agent par défaut. Utilisez des routes de modèles locales pour les deux étapes si le contenu de l’écran et
le texte d’activité dérivé doivent rester sur la machine.
Logbook est intégré et désactivé par défaut. L’activation du plugin autorise le
Gateway à effectuer des captures d’écran, car captureEnabled vaut true par défaut.
Avant de commencer
Vous avez besoin des éléments suivants :- Un Node connecté qui expose
screen.snapshotoulogbook.snapshot. Le Node de l’application macOS nécessite l’autorisation Screen Recording. Un hôte de Node macOS sans interface graphique (openclaw node host run) reçoit la commandelogbook.snapshotfournie par le plugin, qui s’appuie sur l’outil systèmescreencapture. - Le plugin Codex intégré, activé et authentifié. Codex fournit actuellement
le contrat d’extraction structurée d’images requis par Logbook. Connectez-vous avec
openclaw models auth login --provider openai; consultez l’environnement d’exécution Codex pour connaître les autres méthodes d’authentification. - Un modèle d’agent par défaut fonctionnel. Logbook l’utilise pour synthétiser les cartes, les notes de réunion quotidienne et les questions-réponses sur la journée après l’étape de vision.
Démarrage rapide
Activez les plugins Codex et Logbook :plugins.allow, incluez codex et logbook. Redémarrez le
Gateway après avoir modifié la configuration des plugins, puis inspectez les enregistrements
et ouvrez le tableau de bord :
screen.snapshot ou logbook.snapshot.
Les Nodes sans interface graphique n’annoncent logbook.snapshot qu’après l’activation du plugin.
Consultez le dépannage des Nodes si la commande est absente.
L’onglet Logbook apparaît uniquement si le plugin est activé et si la session
Control UI dispose de operator.write. La ligne d’état doit afficher Capture en cours sans erreur.
Une carte chronologique apparaît à la fermeture de la fenêtre d’analyse, ou vous pouvez sélectionner
Analyser maintenant après la capture d’une activité.
Fonctionnement
- Capture : toutes les
captureIntervalSeconds(30 s par défaut), Logbook appelle la commande de capture du Node sélectionné et stocke une image JPEG redimensionnée. Les images consécutives identiques sont marquées comme inactives et exclues de l’analyse. - Observation : une fois une fenêtre d’analyse écoulée (15 minutes par défaut), le plugin échantillonne jusqu’à 16 images actives et les envoie au modèle de vision, qui renvoie des observations d’activité horodatées (« VS Code : modification de store.ts, correction d’une erreur de type »). Une interruption des captures de plus de deux minutes ou le passage à minuit en heure locale ferme également la fenêtre actuelle.
- Synthèse : les observations et les cartes existantes des 45 dernières minutes sont révisées pour former des cartes chronologiques (de 10 à 60 minutes chacune) comportant un titre, un résumé, une catégorie, l’application principale et les éventuelles brèves distractions.
- Nettoyage : les images datant de plus de
retentionDays(14 par défaut) sont supprimées. Les cartes, les observations et les réunions quotidiennes mises en cache sont conservées.
<state-dir>/logbook/.
Modèles et flux de données
Logbook utilise deux routes de modèles distinctes :
La base de données SQLite complète n’est envoyée à aucun des deux modèles. Les captures d’écran brutes sont uniquement
envoyées à l’étape d’observation ; la synthèse des cartes, la réunion quotidienne et les questions-réponses reçoivent du
texte dérivé.
Configuration
Sans
nodeId, Logbook privilégie un Node d’application connecté exposant
screen.snapshot, puis se replie sur un Node sans interface graphique exposant
logbook.snapshot. Dans une configuration non limitée à un Node, un Node défaillant passe derrière les autres
Nodes admissibles. Le bouton de pause du tableau de bord s’applique uniquement à la session et se réinitialise au
redémarrage du Gateway ; utilisez captureEnabled: false pour un arrêt persistant.
Sélection du modèle de vision
Logbook résout le modèle d’observation dans cet ordre :plugins.entries.logbook.config.visionModel- la première entrée Codex compatible avec les images sous
tools.media.image.models - la première entrée Codex compatible avec les images sous
tools.media.models
tools.media.image.enabled: false désactive les valeurs multimédias par défaut empruntées, mais un
visionModel explicite de Logbook continue de s’appliquer.
Onglet du tableau de bord
- Chronologie : cartes extensibles par activité, avec couleurs de catégorie, application principale, étiquettes de distraction et image clé.
- Vue d’ensemble de la journée : taux de concentration, répartition par catégorie, principales applications.
- Réunion quotidienne : transforme les informations d’hier et d’aujourd’hui en compte rendu prêt à coller.
- Interroger votre journée : questions en langage naturel auxquelles répond la chronologie suivie (« quand ai-je examiné la PR du Gateway ? »).
- Analyser maintenant : ferme immédiatement la fenêtre de capture actuelle au lieu d’attendre l’intervalle d’analyse.
Méthodes du Gateway
Logbook enregistre les méthodes RPC du Gateway suivantes :
Les méthodes de lecture renvoient l’état opérationnel ou du texte dérivé. Les pixels des captures d’écran
brutes, les actions entraînant des dépenses de modèle et les mutations de l’environnement d’exécution nécessitent
operator.write. L’onglet Control UI nécessite également operator.write, car il
expose ces actions et les aperçus d’images brutes ; un client en lecture seule peut toujours appeler
directement les méthodes de texte dérivé.
Remarques sur la confidentialité
- Les instantanés peuvent contenir tout ce qui s’affiche à l’écran, y compris des secrets. Les images ne quittent jamais la machine, sauf comme entrée échantillonnée envoyée au modèle d’observation configuré.
- Les observations, les cartes récentes et les questions peuvent quitter la machine via le modèle d’agent par défaut lors de la synthèse des cartes, de la génération de la réunion quotidienne ou des questions-réponses. Appliquez la politique de traitement des données du fournisseur aux deux routes de modèles.
- Utilisez des routes locales pour le modèle d’observation structurée et le modèle d’agent par défaut lorsque vous avez besoin d’un pipeline entièrement local.
- Les images, la base de données de la chronologie et les captures temporaires sont écrites avec des autorisations de fichier réservées au propriétaire.
- L’ajout de
screen.snapshotàgateway.nodes.denyCommandsconstitue le coupe-circuit de la capture d’écran : il bloque à la fois la capture par les Nodes d’application et la commandelogbook.snapshotpropre à Logbook. - Définir
tools.media.image.enabled: falseempêche également Logbook d’emprunter les modèles d’image multimédia pour l’analyse ; seul unvisionModelexplicite dans la configuration du plugin est alors utilisé.
Dépannage
L’onglet Logbook est absent
Vérifiez les trois conditions suivantes :openclaw plugins list --enabledinclutlogbook.- Le Gateway a redémarré après la modification du plugin ou de la liste d’autorisation.
- La connexion Control UI dispose de
operator.write; les sessions en lecture seule ne reçoivent pas le descripteur d’onglet interactif.
plugins.allow est défini, il doit inclure à la fois logbook et codex pour la
configuration recommandée.
La capture signale une erreur
- Vérifiez que le Node expose
screen.snapshotoulogbook.snapshot. - Accordez l’autorisation d’enregistrement de l’écran sur le Mac de capture.
- Si
nodeIdest configuré, vérifiez qu’il correspond à l’identifiant ou au nom d’affichage du Node. - Vérifiez que
gateway.nodes.denyCommandsne contient passcreen.snapshot.
Les captures réussissent, mais aucune carte n’apparaît
- Un état Modèle manquant signifie qu’aucune voie de vision structurée compatible n’a été
trouvée. Activez et authentifiez le Plugin Codex, ou définissez un
visionModelexplicite valide. Les images capturées restent en attente tant que le modèle est manquant et peuvent être analysées une fois la configuration corrigée. - Attendez la durée définie par
analysisIntervalMinutes, ou sélectionnez Analyser maintenant après la capture d’une activité. - Les images identiques consécutives constituent des indices d’inactivité et ne sont pas intégrées aux lots d’analyse. Modifiez le contenu visible à l’écran avant de tester.
- Si le dernier lot affiche une erreur, corrigez le problème de modèle ou d’authentification, puis sélectionnez Analyser maintenant. Les lots en échec ne sont relancés que par cette action explicite afin d’éviter des dépenses répétées liées au modèle.