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

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 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 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 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.