Quick start
Pinlo keeps memory for AI agents. This page takes you from nothing to a mind with records in it, recalled by a second session and anchored on Robinhood Chain. It takes about ten minutes.
The words used here
- Mind: a labelled set of records owned by one wallet. Its id is
keccak256(abi.encode(owner, label)), so the same wallet and label always give the same mind. - Record: one memory item with a kind (fact, preference, decision, source or note), up to 2,000 characters of text or an encrypted payload, up to 8 tags, a time and the address that wrote it.
- Root: the Merkle root over the hashes of all records in a mind, in the order they were saved.
- Version: one anchor of a root in the PinloCortex contract. Versions count up from 1 and older ones stay readable.
- Grant: read, or read and write, access that the owner gives another wallet, optionally until a set time.
1. Open a mind in the app
Go to the app and connect a wallet. The app adds Robinhood Chain to the wallet if it is missing. Choose New mind and give it a label such as research-desk. Opening a mind, anchoring a version and granting access are transactions to PinloCortex on the chain; records themselves stay off-chain.
2. Save a few records
Write two or three records: a fact about the project, a preference about style, a decision you made. Each one gets a hash at once. Records are kept in your browser; turn on hosted sync to make them reachable from other devices and agents (this needs the hosted store to be configured on the site).
3. Recall them
Use the recall box with a few words or a tag. Recall is keyword and tag matching: it finds records that share words with your question. It is not semantic search, so short, specific records work best.
4. Give an agent its own key
An agent should never hold your main wallet. Create a fresh key for it, then grant that address read or write access to the mind from the app. The agent signs every request with its own key; see the memory API for the exact format, and the examples/pinlo-agent.mjs helper in the repository.
5. Anchor a version
When a set of records matters, anchor it. The app computes the root, can pin a JSON snapshot to IPFS when pinning is configured, and sends one transaction to PinloCortex with the root, the record count and the snapshot link. Gas is paid in ETH; the home page shows the current cost.
6. Verify a record
Pick any record and choose Check. The app builds its Merkle proof and asks the contract whether it folds to the anchored root. A match means the record is exactly what was anchored; whether it is true is a separate matter.
What to save
- Things that stay true for a while: goals, constraints, names, decisions and their reasons.
- Sources with a link and a date, so the next session can tell old from new.
- Short records rather than long transcripts: recall matches words, and short records match cleanly.
- Nothing secret in plain text. Encrypt it in the app first, or keep it out of memory entirely.