# Identité d'instance d'agent

Distinguez le libellé d'installation non secret utilisé pour l'attribution de l'identifiant qui autorise les requêtes.

- Canonical: https://docs.xmemo.dev/fr/docs/concepts/agent-instance-identity
- Locale: fr-FR
- Content-Locale: fr-FR
- Canonical-Content-Digest: c0db15eaca6541c974e88179495cf7a7f5832695889a2ff2abef284fd7daf337
- Edition-Digest: 849deef1d44e06648bf20505b9228caaac30f11c09f1dd012b8a3d8ec265a5a3
- Source-Revision: sha256:af573969af4a97ad87f12425b51f333259b42a829512f8644875a77c1bba2ddb

## Un identifiant d'instance n'est pas un identifiant d'accès

XMEMO_AGENT_INSTANCE_ID identifie une instance de client local ou d'exécuteur ; il n'autorise pas une requête. La clé d'API ou l'autorisation OAuth constitue l'identifiant d'accès. Le serveur dérive un agent_instance_id_hash à partir de la valeur de l'instance et signale l'autorité de périmètre sous la forme attribution_only.

- Identifiant d'accès : X-API-Key ou l'autorisation de porteur OAuth acceptée contrôle l'accès.
- Libellé d'instance : X-Memory-OS-Agent-Instance-ID permet au serveur de comparer l'exécuteur rédacteur avec un appelant ultérieur.
- Libellé d'agent : X-Memory-OS-Agent-ID identifie l'agent logique indépendamment d'une installation spécifique.

## Normaliser, puis hacher

Le runtime supprime les espaces superflus de l'identifiant d'instance, rejette toute valeur vide et accepte au maximum 256 caractères avant de le hacher en SHA-256. Un hachage stocké est normalisé sous la forme sha256:<64 caractères hexadécimaux> ; les valeurs pré-hachées mal formées sont ignorées plutôt que traitées comme des identifiants d'accès.

```python
from memory_manager.auth.agent_identity import agent_instance_id_hash

instance_hash = agent_instance_id_hash("codex-local-install")
# sha256:<64 hexadecimal characters>
```

## Conserver une valeur unique par installation locale

Conservez une valeur d'instance non secrète en dehors du référentiel et transmettez-la avec l'identifiant d'accès. Réutilisez-la après un redémarrage pour la même installation ; choisissez une valeur différente pour un profil local distinct.

```http
X-API-Key: <your-assigned-api-key>
X-Memory-OS-Agent-ID: codex
X-Memory-OS-Agent-Instance-ID: <stable-local-instance-id>
```

## La sémantique des frontières est explicite

memory_agent_boundary compare l'agent_id et le hachage d'instance de l'appelant avec les valeurs de la ligne enregistrée. La correspondance des deux indique self ; un agent_id identique avec un autre hachage indique same_agent_other_instance ; une identité comparable manquante est signalée comme unverified ou unknown. Ces libellés explicitent l'attribution et ne remplacent pas l'autorisation par jeton.

```json
{
  "relation": "self",
  "ownership": "current_agent",
  "boundary_authority": "attribution_only",
  "current_agent_trust": "client_asserted"
}
```

## Utilisateur de ChatGPT

Donnez à ChatGPT un accès durable à vos préférences XMemo, faits de projet, décisions et TODOs sans coller de jetons bearer dans un chat.

Connectez le serveur MCP XMemo hébergé via le flux OAuth de l'application ChatGPT/OpenAI, puis approuvez les autorisations memory:read et memory:write pour votre compte XMemo.

Enregistrez une préférence synthétique ou une note de projet, démarrez un nouveau chat, puis demandez à ChatGPT de la rappeler via XMemo avant de poursuivre le travail.

Si OAuth échoue ou si les outils n'apparaissent pas, déconnectez-vous du serveur MCP dans l'application hôte, reconnectez l'URL du serveur XMemo et réessayez avant de créer des jetons directs.

## Développeur Copilot / Codex

Transmettez les décisions du dépôt, les conventions de codage, les notes de correctifs et l'historique des tâches entre les agents IDE et CLI.

Utilisez OAuth pour VS Code / GitHub Copilot et Gemini CLI lorsqu'il est disponible. Pour Copilot CLI, Codex, Cursor ou d'autres clients MCP directs, conservez XMEMO_KEY dans l'environnement local ou le gestionnaire de secrets et définissez un identifiant XMEMO_AGENT_INSTANCE_ID stable.

Enregistrez une décision relative au code ou un correctif, puis demandez au prochain agent de l'IDE ou de la CLI de rappeler le contexte XMemo pertinent avant toute modification.

Si les rappels sont vides, vérifiez le chemin de configuration MCP sélectionné, la variable d'environnement XMEMO_KEY pour les clients directs et tout identifiant OAuth obsolète dans l'application hôte.

## Responsable de projet pilote d'équipe / entreprise

Évaluez la mémoire partagée avec les contrôles de compte, l'attribution des sources, les flux d'exportation/suppression et des preuves de configuration sécurisées pour les évaluateurs.

Créez ou rejoignez l'espace de travail sécurisé XMemo, invitez les utilisateurs approuvés, puis connectez chaque client via OAuth ou un identifiant direct délimité selon les badges de disponibilité.

Demandez à un membre du projet pilote d'enregistrer une mémoire d'équipe synthétique, confirmez l'attribution de la source dans XMemo, puis examinez les chemins de suppression/exportation et de support.

Si un membre ne parvient pas à se connecter, vérifiez les permissions de rôle, l'approbation OAuth, l'état de disponibilité du client et les conseils du support avant d'émettre un nouveau jeton.

## Opérateur d'agents autonomes

Permettez aux agents autonomes ou planifiés d'enregistrer leur progression, de récupérer les décisions antérieures et de conserver une identité d'instance stable et non secrète.

Récupérez /api/v1/mcp/config/autonomous-agent. Privilégiez auth_modes.oauth lorsque l'exécuteur prend en charge OAuth + en-têtes personnalisés ; utilisez auth_modes.xmemo_key avec XMEMO_KEY issu d'un gestionnaire de secrets uniquement pour les exécuteurs entièrement autonomes.

Exécutez une tâche synthétique qui consigne la progression dans XMemo, redémarrez l'exécuteur et confirmez qu'il rappelle cette progression à l'aide du même XMEMO_AGENT_INSTANCE_ID.

Si l'attribution change ou si les rappels se scindent entre instances, conservez XMEMO_AGENT_INSTANCE_ID hors de git et vérifiez que l'exécuteur ne le régénère pas à chaque démarrage.
