Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

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 chat sessions/, l’état d’exécution state/ (suivi des coûts et assimilés), les métadonnées des appareils appairés dans devices.db, et la mémoire partagée de l’instance sous data/memory/. Les jetons bearer de la passerelle valides restent un état de configuration ; devices.db rend les appareils appairés visibles et gérables.
  • shared/ contient les ressources que les agents utilisent en commun, notamment les ensembles de compétences sous shared/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 map · default {}

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 string? · default —

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 MemoryGrant[] · default []

Liste d’autorisation de mémoire inter-agents. Une liste vide n’accorde l’accès qu’à la mémoire locale. Les entrées de chaîne héritées accordent toutes les catégories ; les entrées structurées peuvent restreindre les lectures à des noms de catégorie exacts.

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 bool · default false

É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 :

  • access est 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_filesystem est 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 MemoryBackendKind · default "sqlite"

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 est SQLite par défaut pour un nouvel agent. Une fois que l’agent a écrit des données sur disque, cette valeur est verrouillée : vous ne pouvez pas remplacer silencieusement un backend sous une mémoire existante. Le partage de mémoire entre agents est optionnel et s’active via la liste d’autorisation read_memory_from de l’espace de travail. Les entrées héritées sous forme de chaînes accordent toutes les catégories. Les entrées structurées peuvent restreindre un agent voisin à des noms de catégories exacts, sur les backends qui conservent les catégories par ligne. La mémoire Markdown rejette les autorisations restreintes, car ses fichiers ne portent pas cette attribution. Pour le modèle de mémoire lui-même, voir Fonctionnement interne du runtime. Pour une carte transversale de l’état du système, voir État et persistance du runtime.

Identité

L’identité d’un agent (sa personnalité) est définie individuellement pour chaque agent :

aieos_inline string? · default null

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 string? · default null

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 string · default "openclaw"

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.