Composants Filesystem
La moitié relationnelle d’un agent pointe vers la configuration ; la moitié sur disque réside sous la racine d’installation. L’organisation est structurée par portée, et non en une arborescence unique et plate : l’état à l’échelle de l’instance, les ressources partagées entre agents et les données privées par agent disposent chacun de leur propre répertoire de premier niveau.
<install>/
├── data/ — instance-wide state (not per-agent)
│ ├── sessions/ — chat session stores
│ │ └── sessions.db, acp-sessions.db
│ ├── state/ — runtime state
│ │ └── costs.jsonl, runtime-trace.jsonl
│ ├── devices.db — paired-device metadata
│ └── memory/ — shared instance memory
│ └── brain.db, audit.db, response_cache.db,
│ MEMORY_SNAPSHOT.md, archive/
├── shared/ — resources agents draw on in common
│ └── skills/<bundle>/ — skill bundles
│ └── SKILL.md, scripts/, references/, assets/
└── agents/ — per-agent private data
└── <alias>/
└── workspace/ — the agent's jailed filesystem sandbox
└── memory/
└── brain.db
Les trois racines correspondent à trois portées :
**data/**contient l’état propre à l’installation dans son ensemble, et non à un agent en particulier : les sessions de chatsessions/, l’état d’exécutionstate/(suivi des coûts et assimilés), les métadonnées des appareils appairés dansdevices.db, et la mémoire partagée de l’instance sousdata/memory/. Les jetons bearer de la passerelle valides restent un état de configuration ;devices.dbrend les appareils appairés visibles et gérables.shared/contient les ressources que les agents utilisent en commun, notamment les ensembles de compétences sousshared/skills/<bundle>/.agents/<alias>/contient tout ce qui est privé à un agent. Par défaut, l’espace de travail d’un agent est<install>/agents/<alias>/workspace/, et tout ce que l’agent lit ou écrit reste à l’intérieur de celui-ci. La source d’identité de l’agent est résolue relativement à cet espace de travail. Les agents sont cloisonnés dans leur propre espace de travail, sauf si vous accordez explicitement un accès inter-agents.
Espace de travail
L’espace de travail est le bac à sable du système de fichiers de l’agent. Les champs ci-dessous sont générés à partir du schéma :
access
Liste d’autorisation des espaces de travail inter-agents. Une map vide n’accorde aucun accès aux éléments frères.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.workspace.access.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.workspace.access.
zeroclaw config
zeroclaw config set agents.<alias>.workspace.access <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_agents__<alias>__workspace__access=
path
Chemin d’espace de travail explicite optionnel. None = dérivé à partir de <install>/agents/<alias>/workspace/.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.workspace.path.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.workspace.path.
zeroclaw config
zeroclaw config set agents.<alias>.workspace.path <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_agents__<alias>__workspace__path=
read_memory_from
Liste d’autorisation de mémoire inter-agents. Une liste vide n’accorde l’accès qu’à la mémoire locale.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.workspace.read_memory_from.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.workspace.read_memory_from.
zeroclaw config
zeroclaw config set agents.<alias>.workspace.read_memory_from <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_agents__<alias>__workspace__read_memory_from=
unrestricted_filesystem
Échappatoire : lorsque la valeur est true, l’agent peut lire ou écrire partout où le système de fichiers hôte le permet. Désactivé par défaut ; l’activation de cette option est auditable.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.workspace.unrestricted_filesystem.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.workspace.unrestricted_filesystem.
zeroclaw config
zeroclaw config set agents.<alias>.workspace.unrestricted_filesystem <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_agents__<alias>__workspace__unrestricted_filesystem=
Deux points méritent d’être soulignés :
accessest une liste d’autorisation entrante pour le partage de système de fichiers entre agents. Vide signifie cloisonné (espace de travail propre uniquement) ; une entrée accorde à un agent frère nommé un mode de lecture ou d’écriture dans l’espace de travail de cet agent.unrestricted_filesystemest la porte de sortie : lorsque défini àtrue, l’agent peut accéder à tout ce que le système de fichiers de l’hôte autorise. Il est désactivé par défaut et son activation est auditable.
Mémoire
Chaque agent conserve son propre stockage de mémoire dans son espace de travail (agents/<alias>/workspace/memory/), distinct de la mémoire d’instance partagée dans data/memory/. Le backend est sélectionné par agent :
backend
Le type de backend utilisé par cet agent. La valeur par défaut est Sqlite pour les nouveaux agents ; une fois que l’agent possède des données sur disque, la valeur est verrouillée.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.memory.backend.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.memory.backend.
zeroclaw config
zeroclaw config set agents.<alias>.memory.backend <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_agents__<alias>__memory__backend=
Le backend utilise SQLite par défaut pour un nouvel agent, et une fois que l’agent a écrit des données sur disque, la valeur est verrouillée, de sorte que vous ne pouvez pas remplacer silencieusement un backend sous une mémoire existante. Le partage de mémoire entre agents est opt-in via la liste d’autorisation read_memory_from de l’espace de travail. Pour le modèle de mémoire lui-même, voir Internes du runtime. Pour une carte d’état inter-systèmes, voir État du runtime et persistance.
Identité
L’identité d’un agent (sa personnalité) est définie individuellement pour chaque agent :
aieos_inline
JSON AIEOS en ligne (alternative au chemin de fichier)
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.identity.aieos_inline.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.identity.aieos_inline.
zeroclaw config
zeroclaw config set agents.<alias>.identity.aieos_inline <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_agents__<alias>__identity__aieos_inline=
aieos_path
Chemin vers le fichier JSON AIEOS (relatif à l’espace de travail)
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.identity.aieos_path.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.identity.aieos_path.
zeroclaw config
zeroclaw config set agents.<alias>.identity.aieos_path <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_agents__<alias>__identity__aieos_path=
format
Format d’identité : “openclaw” (par défaut) ou “aieos”
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/agents et définissez le champ agents.<alias>.identity.format.
zerocode
Dans le volet Config, définissez le champ agents.<alias>.identity.format.
zeroclaw config
zeroclaw config set agents.<alias>.identity.format <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_agents__<alias>__identity__format=
Le format sélectionne la manière dont l’identité est chargée. La valeur par défaut lit les fichiers de personnalité du projet ; l’alternative charge une définition JSON AIEOS, soit depuis un chemin relatif à l’espace de travail, soit en ligne.