Skip to content

Memory UI

The Memory page (/memory) provides a visual interface for exploring an agent’s stored memories. The page has five tabs: Explore, Timeline, Search, Knowledge Graph, and Stats.

Use the agent dropdown (top left, next to the title) to switch between agents’ memory stores. Each agent has a completely separate memory.

The buttons next to it run in the background and show their progress beside the buttons:

  • Generate from Chats turns the agent’s chat history into memory episodes and embeds them. It also embeds any older episodes that don’t have an embedding yet. Exchanges that are already stored are skipped, so running it again only adds what’s new.
  • Rebuild Graph uses the LLM to extract entities and relations from new or changed episodes into the Knowledge Graph. It makes one LLM call per 5 episodes, so it can take several minutes.
  • Wipe & Rebuild clears the Knowledge Graph and re-extracts everything.

Every install embeds memories on-device, so semantic search and agents’ memory recall work out of the box. The Nebula map is the one extra piece: laying memories out in 2-D and grouping them into clusters needs scikit-learn and UMAP (~70–110 MB), which aren’t installed by default.

The first time you open Explore, the Nebula shows Install visualization pack… (you can also install it from Settings → Features). Clicking it opens a dialog that lists exactly what will change on this machine before anything is installed:

  • every package and version (new, upgraded, or downgraded)
  • the download size
  • the command Snippbot will run in its own environment (for example pipx inject for a pipx install)

Confirm, and the install runs in the background with a live log. You can close the dialog while it runs. No restart is needed: the Nebula appears when the install finishes.

Where a platform has no UMAP build (Intel Macs on Python 3.14), the pack installs scikit-learn alone and the map uses a PCA layout. On Apple silicon with macOS 11 the pack isn’t available, and the dialog says so. The pack never changes a package Snippbot already uses: if it would have to, the optional part is skipped or the dialog explains why it can’t install. When Snippbot can’t install into its environment (for example a system Python marked externally managed), the dialog shows the command to run yourself. For a pipx install that is:

Terminal window
pipx runpip snippbot install 'snippbot[visualization]==<version>' # version from `snippbot --version`

Avoid pipx install --force for this. If that command fails partway, pipx deletes the existing installation.

If existing memories were stored before embeddings were available, click Generate from Chats to embed them. The Nebula tells you when that’s needed.

The default Explore view renders memory episodes as a 3D star field (nebula). Each point represents a memory cluster:

  • Position: determined by semantic similarity (similar memories cluster together)
  • Size: proportional to cluster importance
  • Color: varies by cluster, with a color indicator shown in the inspector
  • Brightness: fades for older, less-accessed memories

Interact with the nebula:

  • Rotate: click and drag
  • Zoom: scroll wheel
  • Click a cluster: opens the cluster in the inspector panel (right side), showing topic badges and contained episodes
  • Click an episode: opens full content in the inspector with related memories

The inspector panel includes breadcrumb navigation so you can trace back through cluster-to-episode drill-downs.

The Timeline view provides a chronological feed of all memory episodes. Click any episode to view its full content and related memories in the inspector.

The search panel supports:

  • Keyword search: exact term matching using FTS5
  • Semantic search: similarity-based using vector embeddings
  • Hybrid: combined (default)

Results are ranked by relevance and shown with highlighted matches. Clicking topic badges on clusters automatically populates the search query.

The Knowledge Graph tab renders entities extracted from memories and their relationships as a force-directed graph:

  • Nodes: entities (person, project, concept, tool, file, location, event, other) color-coded by type
  • Edges: relationships between entities with type labels and strength percentages
  • Drag nodes to rearrange the layout
  • Click a node to see entity details, mention count, and connected entities in the inspector

The Stats view shows aggregate memory metrics for the selected agent — total episodes, clusters, entities, and usage over time.