# Identidade da instância do agente

Separe o rótulo de instalação não secreto usado para atribuição da credencial que autoriza as requisições.

- Canonical: https://docs.xmemo.dev/pt-br/docs/concepts/agent-instance-identity
- Locale: pt-BR
- Content-Locale: pt-BR
- Canonical-Content-Digest: c0db15eaca6541c974e88179495cf7a7f5832695889a2ff2abef284fd7daf337
- Edition-Digest: a578031743109257708464c07417c204a50800543d0ed0af473ad1e96ff6404a
- Source-Revision: sha256:af573969af4a97ad87f12425b51f333259b42a829512f8644875a77c1bba2ddb

## Um ID de instância não é uma credencial

XMEMO_AGENT_INSTANCE_ID identifica uma instância local de cliente ou executor; ele não autoriza uma requisição. A chave de API ou a concessão OAuth é a credencial de acesso. O servidor deriva um agent_instance_id_hash a partir do valor da instância e informa a autoridade de limite como attribution_only.

- Credencial: X-API-Key ou a concessão bearer OAuth aceita controla o acesso.
- Rótulo da instância: X-Memory-OS-Agent-Instance-ID permite que o servidor compare o executor que gravou a memória com um chamador posterior.
- Rótulo do agente: X-Memory-OS-Agent-ID identifica o agente lógico separadamente de uma instalação.

## Normalize e depois aplique hash

O runtime remove espaços de um ID de instância, rejeita um valor vazio e aceita no máximo 256 caracteres antes de aplicar SHA-256. Um hash armazenado é normalizado como sha256:<64 hexadecimal characters>; valores pré-hash malformados são ignorados, em vez de tratados como credenciais.

```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>
```

## Mantenha um valor por instalação local

Persista um valor de instância não secreto fora do repositório e envie-o com a credencial de acesso. Reutilize-o após um reinício para a mesma instalação; escolha um valor diferente para outro perfil local.

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

## A semântica dos limites é explícita

memory_agent_boundary compara o agent_id e o hash da instância do chamador com os valores da linha. A correspondência de ambos é self; um agent_id correspondente com outro hash é same_agent_other_instance; quando falta uma identidade comparável, o resultado é unverified ou unknown. Esses rótulos explicam a atribuição e não substituem a autorização por token.

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

## Usuário do ChatGPT

Dê ao ChatGPT acesso duradouro às suas preferências do XMemo, fatos do projeto, decisões e TODOs sem colar tokens bearer no chat.

Conecte o servidor MCP hospedado do XMemo pelo fluxo OAuth do app ChatGPT/OpenAI e aprove a concessão memory:read e memory:write para sua conta do XMemo.

Salve uma preferência de teste ou anotação de projeto, inicie um novo chat e peça ao ChatGPT para recuperá-la via XMemo antes de prosseguir.

Se o OAuth falhar ou as ferramentas não aparecerem, saia do servidor MCP no app host, reconecte a URL do servidor XMemo e tente novamente antes de criar tokens diretos.

## Desenvolvedor Copilot / Codex

Transfira decisões do repositório, convenções de código, notas de correção de bugs e histórico de tarefas entre agentes de IDE e CLI.

Use OAuth para VS Code / GitHub Copilot e Gemini CLI quando disponível. Para Copilot CLI, Codex, Cursor ou outros clientes MCP diretos, mantenha XMEMO_KEY no ambiente local ou cofre de segredos e defina um XMEMO_AGENT_INSTANCE_ID estável.

Registre uma decisão da base de código ou correção de bug e peça ao próximo agente de IDE ou CLI para recuperar o contexto relevante do XMemo antes de editar.

Se as recuperações estiverem vazias, verifique o caminho da configuração MCP selecionada, a variável de ambiente XMEMO_KEY para clientes diretos e eventuais credenciais OAuth desatualizadas no app host.

## Líder de piloto de equipe / corporativo

Avalie a memória compartilhada com controles de conta, atribuição de origem, fluxos de exportação/exclusão e evidências de configuração seguras para revisores.

Crie ou acesse o espaço de trabalho protegido do XMemo, convide usuários aprovados e conecte cada cliente via OAuth ou credencial direta com escopo de acordo com os selos de disponibilidade.

Peça para um membro do piloto salvar uma memória de equipe de teste, confirme a atribuição de origem no XMemo e revise os caminhos de exclusão/exportação e suporte.

Se um membro não conseguir se conectar, verifique as permissões de função, aprovação OAuth, status de prontidão do cliente e orientações de suporte antes de emitir um novo token.

## Operador de agentes autônomos

Permita que agentes headless ou agendados registrem progresso, recuperem decisões anteriores e mantenham uma identidade estável e não secreta de instância.

Obtenha /api/v1/mcp/config/autonomous-agent. Prefira auth_modes.oauth quando o executor suportar OAuth + cabeçalhos personalizados; use auth_modes.xmemo_key com XMEMO_KEY de um cofre de segredos apenas para executores totalmente headless.

Execute uma tarefa de teste que grave progresso no XMemo, reinicie o executor e confirme se ele recupera esse progresso usando o mesmo XMEMO_AGENT_INSTANCE_ID.

Se a atribuição mudar ou as recuperações se dividirem entre instâncias, persista XMEMO_AGENT_INSTANCE_ID fora do git e verifique se o executor não o está gerando a cada início.
