instance id는 credential이 아닙니다
XMEMO_AGENT_INSTANCE_ID는 로컬 client 또는 runner instance를 식별하며 요청을 승인하지 않습니다. API key 또는 OAuth grant가 access credential입니다. 서버는 instance value에서 agent_instance_id_hash를 만들고 boundary authority를 attribution_only로 보고합니다.
- Credential: X-API-Key 또는 허용된 OAuth bearer grant가 access를 제어합니다.
- Instance label: X-Memory-OS-Agent-Instance-ID를 사용하면 서버가 작성 runner와 이후 caller를 비교할 수 있습니다.
- Agent label: X-Memory-OS-Agent-ID는 하나의 설치와 별도로 논리적 agent를 식별합니다.
정규화한 다음 해시하기
런타임은 instance id의 앞뒤 공백을 제거하고 빈 값을 거부하며, 해시하기 전에 최대 256자를 허용합니다. 저장된 hash는 sha256:<64 hexadecimal characters> 형식으로 정규화됩니다. 잘못된 사전 해시 값은 credential로 취급하지 않고 무시합니다.
from memory_manager.auth.agent_identity import agent_instance_id_hash
instance_hash = agent_instance_id_hash("codex-local-install")
# sha256:<64 hexadecimal characters>로컬 설치마다 하나의 값 유지하기
하나의 비밀이 아닌 instance 값을 repository 밖에 저장하고 access credential과 함께 보내세요. 같은 설치에서는 재시작 후에도 재사용하고, 다른 로컬 profile에는 다른 값을 선택하세요.
X-API-Key: <your-assigned-api-key>
X-Memory-OS-Agent-ID: codex
X-Memory-OS-Agent-Instance-ID: <stable-local-instance-id>경계 의미를 명시적으로 다루기
memory_agent_boundary는 호출자의 agent_id 및 instance hash를 row의 값과 비교합니다. 둘 다 일치하면 self이고, agent_id는 일치하지만 다른 hash면 same_agent_other_instance입니다. 비교 가능한 신원이 없으면 unverified 또는 unknown으로 보고됩니다. 이 라벨은 귀속을 설명할 뿐 token authorization을 대체하지 않습니다.
{
"relation": "self",
"ownership": "current_agent",
"boundary_authority": "attribution_only",
"current_agent_trust": "client_asserted"
}페르소나 흐름
ChatGPT 사용자
채팅에 전달자 토큰을 붙여넣지 않고도 XMemo 기본 설정, 프로젝트 사실, 결정 및 TODO에 대한 지속 가능한 액세스를 ChatGPT에 부여하세요.
종합 기본 설정이나 프로젝트 노트를 저장하고 새 채팅을 시작한 다음 작업을 계속하기 전에 XMemo를 통해 ChatGPT에 이를 불러오도록 요청하세요.
부조종사/Codex 개발자
IDE와 CLI 에이전트 간에 리포지토리 결정, 코딩 규칙, 버그 수정 메모, 작업 기록을 전달합니다.
코드베이스 결정이나 버그 수정을 기록한 후 편집하기 전에 다음 IDE 또는 CLI 에이전트에게 관련 XMemo 컨텍스트를 기억하도록 요청하세요.
팀/엔터프라이즈 파일럿 소유자
계정 제어, 소스 속성, 내보내기/삭제 워크플로, 검토자에게 안전한 설정 증거를 통해 공유 메모리를 평가합니다.
파일럿 멤버에게 가상 팀 메모리를 저장하고 XMemo에서 소스 속성을 확인한 다음 삭제/내보내기 및 지원 경로를 검토하도록 합니다.
출처: 에이전트 신원