Skip to content

Terminal Explorer — read a live store without touching it

yantrikdb-tui opens one store in your terminal and shows what is in it: namespaces with live counts, memories newest-first or by semantic search, and an inspector with the full text, metadata, the entities the engine linked, the claims that memory backs, the revision history of every correction, and the namespace’s tasks.

It is read-only, it makes no network calls, and it never asks a model anything beyond the local embedder used for search.

Terminal window
pip install -U yantrikdb # ships the `yantrikdb tui` launcher
yantrikdb tui /path/to/memory.db

The explorer itself is a separate binary. Download the one for your platform from the latest release and put it on your PATH, or build it from the repository:

Terminal window
cargo install --path crates/yantrikdb-tui
yantrikdb-tui /path/to/memory.db

Every asset ships with a .sha256 sidecar. Binaries are published for linux-amd64, linux-arm64, windows-amd64, macos-arm64 and macos-amd64.

This is the part worth knowing. An ordinary engine open is not a read: it can switch the journal to WAL, run schema migrations, and backfill. Opening your agent’s store to look at it would change the store.

So the explorer never opens the source with the engine. It takes a consistent copy first, using SQLite’s online backup through a plain read-only connection, into a private temporary directory it creates exclusively, and then builds the engine on the copy. The source keeps its bytes, its journal mode and its schema stamp. An agent writing to it from another process is undisturbed, and sees no lock contention beyond the backup read.

The header shows when the current snapshot was taken. Press r for a fresh one. The copy is removed when you quit, when you refresh, and on every failure path.

KeyDoes
Tab / Shift-Tabmove between the three panes
or j kmove within a pane
Enteropen the selected memory in the inspector
/semantic search, Esc clears it
n / ppage through memories
PgUp / PgDnscroll the inspector
rtake a fresh snapshot
qquit

The explorer reads the embedder identity the store recorded and attaches that model by name, then verifies the attached model’s digest against the record. A store built with the default potion-base-8M reuses the engine’s cached download. Anything short of a verified match disables search and says why on the header line; a matching dimension alone is never taken as proof, because two different models at the same width would silently return nonsense rankings.

Everything else still works with search disabled: namespaces, newest-first listing, and the whole inspector.

  • No editing. By design. It is an inspection tool, and it holds a copy.
  • Encrypted stores open only with their key, which the explorer does not take.
  • Conflicts, triggers and sessions are not shown yet.

If a process is killed outright it cannot clean up its snapshot directory. Such leftovers carry the dead process id in their name and are never reused, so they are safe to delete from your temporary directory.

The Memory Atlas renders an export of a store as a graph in the browser: namespaces as spheres, memories as dots, entity links as lines. yantrikdb atlas <store.db> exports and serves it. The explorer is for reading one memory closely; the atlas is for seeing the shape of the whole store.