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.
pip install -U yantrikdb # ships the `yantrikdb tui` launcheryantrikdb tui /path/to/memory.dbThe 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:
cargo install --path crates/yantrikdb-tuiyantrikdb-tui /path/to/memory.dbEvery asset ships with a .sha256 sidecar. Binaries are published for
linux-amd64, linux-arm64, windows-amd64, macos-arm64 and macos-amd64.
It is safe to point at a live store
Section titled “It is safe to point at a live store”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.
| Key | Does |
|---|---|
Tab / Shift-Tab | move between the three panes |
↑ ↓ or j k | move within a pane |
Enter | open the selected memory in the inspector |
/ | semantic search, Esc clears it |
n / p | page through memories |
PgUp / PgDn | scroll the inspector |
r | take a fresh snapshot |
q | quit |
Search uses the store’s own model
Section titled “Search uses the store’s own model”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.
What it does not do
Section titled “What it does not do”- 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.
Or look at the whole store at once
Section titled “Or look at the whole store at once”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.