Intramedial est en bêta restreinte. À l’inscription ou à la connexion, vous devez fournir le mot de passe de bêta-testeur que vous avez reçu ou en demander un à preview@intramedial.com. Merci.
Chargement…
portmind.memoryModule 51
Module du plan
Agent memory snapshots
Inspectez ce dont un agent se souvient et prenez un instantané signé, à racine Merkle, de sa mémoire, avec un stockage versionné et limité à l'espace de travail.
portmind.memory lit et écrit un stockage de mémoire propre à l'agent, et snapshot enracine ses entrées dans un arbre Merkle et signe la racine comme memory-attestation avec la clé de lot du registre de la région. La passerelle atteint le stockage via une liaison de service dans chaque région.
Intralock · Baux · Parley · Fleet Map
A Trustvice Product
Les agents agissent quand le plan dit oui, et le registre dit pourquoi.
Faites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
La passerelle transmet /api/v1/portmind/* au runtime Portmind de chaque région. La mémoire est limitée à l'espace de travail appelant et stockée dans la base de données d'espace de travail de cette région.
Registre
Le registre
Ce qui est enregistré
agentRef
L'agent auquel appartient la mémoire de l'entrée ; requis pour chaque lecture et écriture.
key
La clé propre de l'entrée de mémoire, distincte de l'agent auquel elle appartient.
entry
Une entrée de mémoire, renvoyée par la lecture par clé unique.
Toutes les entrées actives d'un agent, renvoyées par la lecture de liste sans clé.
version
Incrémentée à chaque upsert sur la même clé, pour qu'une écriture ne perde jamais silencieusement une valeur précédente.
merkleRoot
La racine que snapshot calcule sur la mémoire courante de l'agent à cet instant.
Mécanisme
Pas à pas
Comment ça marche
Une entrée est écrite
POST /api/v1/portmind/memory insère ou met à jour une entrée pour un agentRef et une key, en la versionnant en cas de conflit plutôt que d'écraser silencieusement.
Une entrée est lue par clé
GET /api/v1/portmind/memory/<key> avec agentRef renvoie cette entrée sous entry, ou un résultat marqué supprimé si elle l'a été.
Toute la mémoire est listée
GET /api/v1/portmind/memory avec agentRef et un limit facultatif renvoie toutes les entrées actives de cet agent sous entries.
Un instantané enracine et signe la mémoire
POST /api/v1/portmind/snapshot construit une racine Merkle sur les feuilles {key, contentSha256} triées de la mémoire courante d'un agent et la renvoie sous forme de memory-attestation signée.
Essayer
Démo en direct
Exécutez-le depuis cette page
GET/api/v1/portmind/memory/billing-agent
// Pas de corps : c’est un GET. Appuyez sur Exécuter.
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace. Docs portmind.memory
Réponses
Les appels de ce module modifient un état réel ou atteignent des services externes ; la démonstration partagée ne les exécute donc pas. Connectez-vous pour l’exécuter dans votre propre workspace.
Code
Exemple en direct
Une vraie requête
Une requête dans la forme acceptée par l’API, et un exemple de réponse dans la forme renvoyée par le module.
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 }
Une attestation de mémoire signée montre exactement ce que contenait la mémoire d'un agent à cet instant, pas ce qu'elle contient maintenant.
Corriger une entrée de mémoire obsolète
Un opérateur supprime ou met à jour une clé de la mémoire d'un agent plutôt que de vider tout son stockage, car les entrées sont adressées et versionnées individuellement.
Vérifier un export de mémoire hors ligne
L'attestation est signée avec la même clé par région que les lots du registre ; intramedial-verify la vérifie donc contre /.well-known/ledger-bundles-keys.json sans rappeler Intramedial.
Le navigateur du tableau de bord sur de vraies données
La console du navigateur de mémoire lit depuis ce client même, sans données de démo de repli : ce qu'elle affiche est ce que le stockage contient réellement, rien de mis en scène.
Quand utiliser autre chose
Les appels sans contexte d'espace de travail. Chaque route répond 401 si la passerelle n'a pas résolu d'espace de travail.
Stocker des valeurs dans l'attestation. Elle ne porte que la clé et le condensé du contenu de chaque entrée ; les valeurs restent dans le stockage.
Traiter { entries } comme la forme d'une lecture par clé unique. Cette lecture renvoie entry, au singulier.
Preuves
Garanties
Ce qu’il fait, et ce qu’il ne fait pas
Un module est une affirmation forte sur un sujet étroit. Fiez-vous-y exactement pour ce qu’il est.
Il le fait
Le code du stockage, sa logique d'upsert avec versionnage et son calcul d'instantané Merkle sont du vrai code testé, pas seulement un document de conception.
Une clé absente donne un 404 net et un champ manquant un 400 net, pas un échec silencieux.
La racine Merkle d'un instantané est calculée sur les entrées triées de l'agent à cet instant, pas sur une copie en cache ou périmée.
Il ne le fait pas
Qu'un instantané existe quand la signature est indisponible. Sans clé de signature configurée dans la région, snapshot répond 503 signing_unavailable et ne renvoie rien de non signé.
Que la mémoire traverse les régions. Le stockage de chaque région est distinct.
Qu'une valeur exportée soit celle qui est attestée. Re-hachez chaque valeur et comparez-la à son contentSha256 dans l'attestation.
Détails
Notes de conception
Avant de construire
Un worker dédié
runtime/portmind est un Cloudflare Worker avec son propre stockage, ses tests et son client de tableau de bord, atteint uniquement via la liaison de service de la passerelle.
Aucun câblage de dispatch MCP ou ACP
Portmind ne fait pas partie du système de dispatch /api/v1/acp/* et n'a pas d'identifiant d'action coordination.* ; c'est un Worker autonome, atteint uniquement via la liaison de passerelle décrite ci-dessus.
La clé n'est pas l'agent
Le segment d'URL du chemin à clé unique nomme une clé de mémoire, pas un identifiant d'agent ; l'agent est toujours fourni séparément comme agentRef.
Limites et mesure
La taille des entrées de mémoire est plafonnée ; un corps trop gros donne 413.
La lecture par clé unique renvoie une entry ; seule la lecture de liste sans clé renvoie entries.
Aucun identifiant d'action MCP ou de contrat n'existe pour une route Portmind.
Accès
API et MCP
REST et MCP
Authentifiez-vous avec une clé d’API d’espace de travail comme jeton Bearer. L’URL de base est https://api.intramedial.com.
Points d’accès REST
GET/api/v1/portmind/memoryLister les entrées de mémoire actives d'un agent.
GET/api/v1/portmind/memory/:keyLire une entrée de mémoire par clé.
POST/api/v1/portmind/memoryÉcrire ou versionner une entrée de mémoire.
Actions MCP
Ce module n’a aucune action MCP. Appelez-le via REST depuis n’importe quel agent ou programme.
Planifiez où doivent vivre les registres de coordination de cet espace de travail, voyez exactement ce qui serait déplacé, puis transférez-le vers une autre région quand vous le décidez.