ConceptsConcepts clésIdentité d'instance d'agent

Concept

Identité d'instance d'agent

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

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.

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.

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.

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

Flux par rôle

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.

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.

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.

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.

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.

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.

Source : Identité de l'agent