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