Filesystem
Le canal filesystem surveille un ou plusieurs chemins et injecte chaque changement dans la boucle de l’agent ou le moteur SOP. Il est conditionné par la fonctionnalité de compilation channel-filesystem (activée par défaut).
Il s’agit d’une source d’événements SOP. Pour la syntaxe des déclencheurs et la correspondance des chemins, voir SOP Fan-In: Filesystem. Cette page présente ce qui est surveillé et la portée de la sécurité.
Configuration
La liste complète des champs, dérivée du schéma live. Pour un watcher basique, vous définissez paths.
allow_broad_roots
Surveiller les racines système étendues (/, /home, /etc, /var, /proc, /sys, /dev, /tmp) malgré le défaut deny-broad-roots. Les pseudo-systèmes de fichiers /proc et /sys exposeraient des chemins d’objets du noyau dans les charges utiles SOP et inonderaient le watcher d’événements. Désactivé sauf si explicitement activé.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.allow_broad_roots.
zerocode
Dans le volet Config, définissez le champ channels.filesystem.<alias>.allow_broad_roots.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.allow_broad_roots <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__allow_broad_roots=
debounce_ms
Regrouper les événements répétés rapides par chemin/type dans cette fenêtre.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.debounce_ms.
zerocode
Dans le panneau Config, définissez le champ channels.filesystem.<alias>.debounce_ms.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.debounce_ms <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__debounce_ms=
events
Types d’événements à émettre (created, modified, deleted, renamed).
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.events.
zerocode
Dans le volet Configuration, définissez le champ channels.filesystem.<alias>.events.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.events <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__events=
exclude
Patterns glob à exclure. Appliqués après include.`
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.exclude.
zerocode
Dans le panneau Configuration, définissez le champ channels.filesystem.<alias>.exclude.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.exclude <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__exclude=
excluded_tools
Outils exclus de la spécification d’outils de ce canal.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.excluded_tools.
zerocode
Dans le panneau Config, définissez le champ channels.filesystem.<alias>.excluded_tools.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.excluded_tools <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__excluded_tools=
follow_symlinks
Suivre les liens symboliques lors de la lecture des métadonnées, du hachage et du contenu du chemin d’événement. Désactivé par défaut : un lien symbolique situé sous une racine surveillée est rejeté avant tout traitement des métadonnées/hachage/contenu afin que sa cible ne puisse pas sortir de la racine. Lorsqu’il est activé, la cible canonique doit toujours se résoudre à l’intérieur d’une racine configurée.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.follow_symlinks.
zerocode
Dans le panneau Config, définissez le champ channels.filesystem.<alias>.follow_symlinks.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.follow_symlinks <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__follow_symlinks=
include
Modèles glob à inclure. S’il est vide, cela correspond à tous les chemins sous les racines.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.include.
zerocode
Dans le volet Config, définissez le champ channels.filesystem.<alias>.include.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.include <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__include=
max_content_bytes
Nombre maximal d’octets de contenu de fichier admis dans un payload lors de read_content, et le plafond de taille pour le hachage. Some(n) limite les lectures et le hachage à n octets ; les fichiers dont la taille excède cette limite sont ignorés plutôt que tronqués. None supprime le plafond entièrement (lectures sans limite). La valeur par défaut est Some(65536) (64 KiB), de sorte que cette limite s’applique par défaut chaque fois que read_content ou le hachage s’exécute.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.max_content_bytes.
zerocode
Dans le panneau Config, définissez le champ `channels.filesystem.<alias>.max_content_bytes`.`
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.max_content_bytes <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__max_content_bytes=
paths
Chemins racines à surveiller. Au moins un est requis.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.paths.
zerocode
Dans le panneau Config, définissez le champ `channels.filesystem.<alias>.paths`.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.paths <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__paths=
read_content
Lire le contenu du fichier dans la charge utile de l’événement. Opt-in.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.read_content.
zerocode
Dans le panneau Config, définissez le champ channels.filesystem.<alias>.read_content.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.read_content <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__read_content=
recursive
Surveiller les chemins imbriqués sous chaque racine.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.recursive.
zerocode
Dans le panneau Config, définissez le champ channels.filesystem.<alias>.recursive.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.recursive <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__recursive=
settle_ms
Attendre aussi longtemps après le dernier événement avant de lire les métadonnées ou le contenu, pour laisser le temps aux écritures atomiques et aux copies lentes de se terminer.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/filesystem et définissez le champ channels.filesystem.<alias>.settle_ms.
zerocode
Dans le volet Config, définissez le champ channels.filesystem.<alias>.settle_ms.
zeroclaw config
zeroclaw config set channels.filesystem.<alias>.settle_ms <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__filesystem__<alias>__settle_ms=
Référence complète des champs : référence de configuration.
Définir le périmètre de ce qui est surveillé
paths liste les racines à surveiller ; recursive contrôle si les sous-répertoires sont inclus. Les globs include et exclude restreignent les chemins qui émettent des événements, et events restreint par type de changement. debounce_ms et settle_ms regroupent les rafales de changements rapides en un seul événement stabilisé.
Sécurité
Les racines système larges /, /home, /etc, /var, /proc, /sys, /dev et /tmp sont rejetées lors de la validation de la configuration sauf si allow_broad_roots est défini. Les chemins d’événements de liens symboliques sont rejetés par défaut avant toute lecture de métadonnées, de hachage ou de contenu ; follow_symlinks active l’option mais exige toujours que la cible canonique se résolve à l’intérieur d’une racine surveillée.
Dépannage
| Symptôme | Cause probable | Corriger |
|---|---|---|
| L’écouteur ne démarre pas | une racine large a été rejetée lors de la validation | Restreignez paths en les éloignant des racines larges, ou définissez allow_broad_roots |
| Changement ignoré | exclu par le glob, ou en dehors des kinds events | Vérifier include, exclude et events par rapport au fichier modifié |
| SOP ne démarre pas | le glob path du déclencheur ne correspond pas | Vérifiez que le trigger path correspond et que le fichier est dans le scope de surveillance |
Voir aussi
- SOP Fan-In: Filesystem: syntaxe de déclenchement et correspondance de chemins
- Vue d’ensemble des canaux