ConceptosConceptos fundamentalesIdentidad de instancia del agente

Concept

Identidad de instancia del agente

Separe la etiqueta de instalación no secreta usada para la atribución de la credencial que autoriza las solicitudes.

Un id de instancia no es una credencial

XMEMO_AGENT_INSTANCE_ID identifica una instancia local de cliente o runner; no autoriza solicitudes. La clave API o el grant de OAuth es la credencial de acceso. El servidor deriva agent_instance_id_hash del valor de instancia e informa de la autoridad del límite como attribution_only.

  • Credencial: X-API-Key o el grant bearer de OAuth aceptado controla el acceso.
  • Etiqueta de instancia: X-Memory-OS-Agent-Instance-ID permite al servidor comparar el runner que escribe con un caller posterior.
  • Etiqueta de agente: X-Memory-OS-Agent-ID identifica el agente lógico por separado de una instalación concreta.

Normalice y después calcule el hash

El runtime recorta el id de instancia, rechaza los valores vacíos y acepta como máximo 256 caracteres antes de calcular su hash con SHA-256. Un hash almacenado se normaliza como sha256:<64 hexadecimal characters>; los valores pre-hashed malformados se ignoran en lugar de tratarlos como credenciales.

from memory_manager.auth.agent_identity import agent_instance_id_hash

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

Mantener un valor por instalación local

Persista un valor de instancia no secreto fuera del repositorio y envíelo con la credencial de acceso. Reutilícelo tras reiniciar para la misma instalación; elija otro valor para un perfil local diferente.

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

La semántica de boundary es explícita

memory_agent_boundary compara el agent_id y el hash de instancia del caller con los valores de la fila. Coincidir en ambos significa self; coincidir en agent_id pero usar otro hash significa same_agent_other_instance; si falta una identidad comparable, se informa como unverified o unknown. Estas etiquetas explican la atribución y no sustituyen la autorización del token.

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

Flujos de roles

Usuario de ChatGPT

Dale a ChatGPT acceso duradero a tus preferencias de XMemo, datos de proyecto, decisiones y TODOs sin pegar fichas bearer en un chat.

Guarde una nota de preferencia sintética o de proyecto, inicie un nuevo chat y luego pida a ChatGPT que la recuerde a través de XMemo antes de continuar el trabajo.

Copiloto / Codex desarrollador

Lleve decisiones de repo, convenciones de codificación, notas de corrección de errores e historial de tareas entre los agentes IDE y CLI.

Grabe una decisión de base de código o corrección de errores, y luego pida al siguiente agente IDE o CLI que recuerde el contexto XMemo relevante antes de editarlo.

Equipo / propietario del piloto de la empresa

Evalúe la memoria compartida con controles de cuenta, atribución de origen, flujos de trabajo export/delete y pruebas de configuración seguras para los revisores.

Haga que un miembro piloto guarde una memoria sintética del equipo, confirme la atribución de origen en XMemo, luego revise delete/export y las rutas de soporte.

Fuente: Identidad del agente