Intramedial è in beta ristretta. Alla registrazione o all’accesso devi fornire la password da beta tester che hai ricevuto oppure richiederne una a preview@intramedial.com. Grazie.
Caricamento…
portmind.memoryModulo 51
Modulo della piattaforma
Agent memory snapshots
Ispeziona cosa ricorda un agente e prendi uno snapshot firmato e radicato Merkle della sua memoria, con uno store versionato e limitato al workspace.
portmind.memory legge e scrive uno store di memoria limitato all’agente, e snapshot radica le sue voci in un albero Merkle e firma la radice come memory-attestation con la chiave ledger-bundle della regione. Il gateway raggiunge lo store tramite un service binding in ogni regione.
Intralock · Lease · Parley · Fleet Map
Un prodotto Trustvice
Gli agenti agiscono quando il piano dice sì, e il registro dice perché.
Fai passare da Intramedial azioni di agenti, hash di contenuti, controlli API, lookup DNS, webhook, chiamate LLM e commit git. Ricevi una ricevuta firmata che chiunque verifica, senza fidarsi di noi.
Il gateway inoltra /api/v1/portmind/* al runtime Portmind di ogni regione. La memoria è limitata al workspace chiamante e salvata nel database del workspace di quella regione.
Registro
Il registro
Cosa viene registrato
agentRef
L’agente a cui appartiene la memoria della voce; obbligatorio in ogni lettura e scrittura.
key
La chiave della voce di memoria, distinta dall’agente a cui appartiene.
entry
Una voce di memoria, restituita dalla lettura per singola chiave.
Ogni voce attiva di un agente, restituita dalla lettura dell’elenco senza chiave.
version
Incrementata a ogni upsert sulla stessa chiave, così una scrittura non perde mai in silenzio un valore precedente.
merkleRoot
La radice che snapshot calcola sulla memoria corrente dell’agente in quel momento.
Meccanismo
Passo dopo passo
Come funziona
Una voce è scritta
POST /api/v1/portmind/memory fa l’upsert di una voce per un agentRef e una key, versionandola in caso di conflitto invece di sovrascrivere in silenzio.
Una voce è letta per chiave
GET /api/v1/portmind/memory/<key> con agentRef restituisce quella voce come entry, o un risultato tombstone se è stata eliminata.
Si elenca l’intera memoria
GET /api/v1/portmind/memory con agentRef e un limit opzionale restituisce ogni voce attiva di quell’agente come entries.
Uno snapshot radica e firma la memoria
POST /api/v1/portmind/snapshot costruisce una radice Merkle sulle foglie ordinate {key, contentSha256} della memoria corrente di un agente e la restituisce come memory-attestation firmata.
Provalo
Demo live
Eseguilo da questa pagina
GET/api/v1/portmind/memory/billing-agent
// Nessun body: è una GET. Premi Esegui.
Le chiamate di questo modulo modificano uno stato reale o raggiungono servizi esterni, quindi la demo condivisa non le esegue. Accedi per eseguirlo nel tuo workspace. Docs di portmind.memory
Risposte
Le chiamate di questo modulo modificano uno stato reale o raggiungono servizi esterni, quindi la demo condivisa non le esegue. Accedi per eseguirlo nel tuo workspace.
Codice
Esempio live
Una richiesta reale
Una richiesta nella forma accettata dall’API e una risposta di esempio nella forma restituita dal modulo.
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 }
Un’attestazione di memoria firmata mostra esattamente cosa conteneva la memoria di un agente in quel momento, non cosa contiene ora.
Correggere una voce di memoria obsoleta
Un operatore rimuove o aggiorna una chiave nella memoria di un agente invece di svuotare l’intero store, perché le voci sono indirizzate e versionate singolarmente.
Verificare offline un export di memoria
L’attestazione è firmata con la stessa chiave per regione dei bundle del ledger, quindi intramedial-verify la verifica rispetto a /.well-known/ledger-bundles-keys.json senza richiamare Intramedial.
Il browser della dashboard su dati reali
La console del browser di memoria legge da questo preciso client senza ripiego su dati demo, quindi ciò che mostra è ciò che lo store contiene davvero, nulla di messo in scena.
Quando usare altro
Chiamate senza contesto di workspace. Ogni route risponde 401 a meno che il gateway abbia risolto un workspace.
Salvare valori nell’attestazione. Porta solo la chiave e l’hash del contenuto di ogni voce; i valori restano nello store.
Trattare { entries } come forma di una lettura per singola chiave. Quella lettura restituisce entry, al singolare.
Prove
Garanzie
Cosa fa e cosa non fa
Un modulo è una promessa forte su una cosa circoscritta. Contaci esattamente per ciò che è.
Fa
Il codice dello store, la sua logica di upsert con versioning e il calcolo dello snapshot Merkle sono codice reale e testato, non solo un documento di progetto.
Una chiave mancante è un 404 pulito e un campo mancante un 400 pulito, non un fallimento silenzioso.
La radice Merkle di uno snapshot è calcolata sulle voci ordinate dell’agente in quel momento, non su una copia in cache o obsoleta.
Non fa
Che esista uno snapshot quando la firma non è disponibile. Senza chiave di firma configurata nella regione, snapshot risponde 503 signing_unavailable e non restituisce nulla di non firmato.
Che la memoria attraversi le regioni. Lo store di ogni regione è separato.
Che un valore esportato sia quello attestato. Ricalcola l’hash di ogni valore e confrontalo con il suo contentSha256 nell’attestazione.
Dettagli
Note di sviluppo
Prima di costruire
Un worker dedicato
runtime/portmind è un Cloudflare Worker con il proprio store, test e client della dashboard, raggiunto solo tramite il service binding del gateway.
Nessun collegamento al dispatch MCP o ACP
Portmind non fa parte del sistema di dispatch /api/v1/acp/* e non ha un id di azione coordination.*; è un Worker autonomo, raggiunto solo tramite il binding del gateway descritto sopra.
La chiave non è l’agente
Il segmento URL del percorso a chiave singola nomina una chiave di memoria, non un id di agente; l’agente è sempre indicato a parte come agentRef.
Limiti e misurazione
Le voci di memoria hanno una dimensione massima; un body troppo grande dà 413.
La lettura per singola chiave restituisce una entry; solo la lettura dell’elenco senza chiave restituisce entries.
Non esiste un id di azione MCP o di contratto per alcuna route Portmind.
Accesso
API e MCP
REST e MCP
Autenticati con una chiave API del workspace come token Bearer. L’URL di base è https://api.intramedial.com.
Endpoint REST
GET/api/v1/portmind/memoryElenca le voci di memoria attive di un agente.
GET/api/v1/portmind/memory/:keyLeggi una voce di memoria per chiave.
POST/api/v1/portmind/memoryScrivi o versiona una voce di memoria.
Azioni MCP
Questo modulo non ha azioni MCP. Chiamalo via REST da qualsiasi agente o programma.
Pianifica dove devono vivere i record di coordinamento di questo workspace, vedi esattamente cosa si sposterebbe, poi portalo in un’altra regione quando decidi tu.