O Intramedial está em beta restrito. Ao se cadastrar ou entrar, você precisa informar a senha de beta tester que recebeu ou solicitar uma em preview@intramedial.com. Obrigado.
Carregando…
portmind.memoryMódulo 51
Módulo da plataforma
Agent memory snapshots
Inspecione o que um agente lembra e tire um snapshot assinado, com raiz Merkle, da sua memória, com um armazenamento versionado e restrito ao workspace.
portmind.memory lê e grava um armazenamento de memória restrito ao agente, e snapshot enraíza suas entradas em uma árvore Merkle e assina a raiz como um memory-attestation com a chave de pacote de ledger da região. O gateway alcança o armazenamento por um service binding em cada região.
Intralock · Leases · Parley · Fleet Map
Um produto da Trustvice
Os agentes agem quando o plano diz sim, e o registo diz porquê.
Passe ações de agentes, hashes de conteúdo, checagens de API, DNS, webhooks, chamadas de LLM e commits git pela Intramedial. Receba um recibo assinado que todos verificam – sem confiar em nós.
O gateway encaminha /api/v1/portmind/* ao runtime do Portmind em cada região. A memória é restrita ao workspace de quem chama e armazenada no banco de dados de workspace daquela região.
Registro
O registro
O que é registrado
agentRef
O agente a quem a memória da entrada pertence; obrigatório em toda leitura e gravação.
key
A chave própria da entrada de memória, distinta do agente a que pertence.
entry
Uma entrada de memória, devolvida pela leitura por chave única.
Todas as entradas ativas de um agente, devolvidas pela leitura de lista sem chave.
version
Incrementada a cada upsert na mesma chave, para que uma gravação nunca perca um valor anterior em silêncio.
merkleRoot
A raiz que snapshot calcula sobre a memória atual do agente naquele momento.
Mecanismo
Passo a passo
Como funciona
Uma entrada é gravada
POST /api/v1/portmind/memory faz upsert de uma entrada para um agentRef e uma key, versionando-a em caso de conflito em vez de sobrescrever em silêncio.
Uma entrada é lida por chave
GET /api/v1/portmind/memory/<key> com agentRef devolve essa entrada como entry, ou um resultado de tombstone se foi apagada.
Toda a memória é listada
GET /api/v1/portmind/memory com agentRef e um limit opcional devolve todas as entradas ativas daquele agente como entries.
Um snapshot enraíza e assina a memória
POST /api/v1/portmind/snapshot monta uma raiz Merkle sobre as folhas {key, contentSha256} ordenadas da memória atual de um agente e a devolve como um memory-attestation assinado.
Experimente
Demo ao vivo
Execute a partir desta página
GET/api/v1/portmind/memory/billing-agent
// Sem corpo: isto é um GET. Clique em Executar.
As chamadas deste módulo alteram estado real ou alcançam serviços externos, então a demonstração compartilhada não as executa. Entre para executá-lo no seu próprio workspace. Docs de portmind.memory
Respostas
As chamadas deste módulo alteram estado real ou alcançam serviços externos, então a demonstração compartilhada não as executa. Entre para executá-lo no seu próprio workspace.
Código
Exemplo ao vivo
Uma requisição real
Uma requisição no formato que a API aceita e um exemplo de resposta no formato que o módulo devolve.
GET/api/v1/portmind/memory/billing-agentAuthorization: Bearer av_workspace_••••→ 200 { entry: { agentRef, key, value, contentSha256, tags, version, createdAt, updatedAt } } for one key (add ?agentRef=); 404 if no live entry. The no-key list route returns { entries }
Uma atestação de memória assinada mostra exatamente o que a memória de um agente continha naquele momento, não o que contém agora.
Corrigir uma entrada de memória obsoleta
Um operador remove ou atualiza uma chave na memória de um agente em vez de limpar todo o armazenamento, pois as entradas são endereçadas e versionadas individualmente.
Verificar uma exportação de memória offline
A atestação é assinada com a mesma chave por região dos pacotes de ledger, então intramedial-verify a confere contra /.well-known/ledger-bundles-keys.json sem chamar a Intramedial de volta.
O navegador do painel contra dados reais
O console do navegador de memória lê deste mesmo cliente, sem fallback para dados de demonstração, então o que ele mostra é o que o armazenamento realmente guarda, nada encenado.
Quando usar outra coisa
Chamadas sem contexto de workspace. Toda rota responde 401 a menos que o gateway tenha resolvido um workspace.
Guardar valores na atestação. Ela leva apenas a chave e o hash de conteúdo de cada entrada; os valores ficam no armazenamento.
Tratar { entries } como o formato de uma leitura por chave única. Essa leitura devolve entry, no singular.
Evidência
Garantias
O que faz e o que não faz
Um módulo é uma afirmação forte sobre algo estreito. Confie nele exatamente pelo que ele é.
Faz
O código do armazenamento, sua lógica de upsert com versionamento e seu cálculo de snapshot Merkle são código real e testado, não apenas um documento de projeto.
Uma chave ausente é um 404 limpo e um campo ausente um 400 limpo, não uma falha silenciosa.
A raiz Merkle de um snapshot é calculada sobre as entradas ordenadas do próprio agente naquele momento, não sobre uma cópia em cache ou desatualizada.
Não faz
Que um snapshot exista quando a assinatura está indisponível. Sem chave de assinatura configurada na região, snapshot responde 503 signing_unavailable e não devolve nada sem assinatura.
Que a memória cruze regiões. O armazenamento de cada região é separado.
Que um valor exportado seja o atestado. Refaça o hash de cada valor e compare com seu contentSha256 na atestação.
Detalhes
Notas de construção
Antes de construir
Um worker dedicado
runtime/portmind é um Cloudflare Worker com armazenamento, testes e cliente de painel próprios, alcançado apenas pelo service binding do gateway.
Sem ligação de despacho MCP ou ACP
O Portmind não faz parte do sistema de despacho /api/v1/acp/* e não tem id de ação coordination.*; é um Worker autônomo próprio, alcançado apenas pelo binding do gateway descrito acima.
A chave não é o agente
O segmento de URL do caminho de chave única nomeia uma chave de memória, não um id de agente; o agente é sempre informado separadamente como agentRef.
Limites e medição
As entradas de memória têm tamanho limitado; um corpo grande demais recebe 413.
A leitura por chave única devolve uma entry; só a leitura de lista sem chave devolve entries.
Não existe id de ação MCP ou de contrato para nenhuma rota do Portmind.
Acesso
API e MCP
REST e MCP
Autentique-se com uma chave de API do workspace como token Bearer. A URL base é https://api.intramedial.com.
Endpoints REST
GET/api/v1/portmind/memoryListe as entradas de memória ativas de um agente.
GET/api/v1/portmind/memory/:keyLeia uma entrada de memória por chave.
POST/api/v1/portmind/memoryGrave ou versione uma entrada de memória.
Ações MCP
Este módulo não tem ação MCP. Chame-o por REST a partir de qualquer agente ou programa.
Planeje onde os registros de coordenação deste workspace devem ficar, veja exatamente o que seria movido e depois leve-os a outra região quando você decidir.