OpenWalrusOpenWalrus

Memory

Graph-based persistent memory service — entities, relations, and journals backed by LanceDB.

The memory service (walrus-memory) provides graph-based persistent memory for agents. It runs as a WHS hook service — the daemon routes memory tool calls to it and receives identity data at agent startup.

Configuration

[services.memory]
kind = "hook"
command = "walrus-memory"
enabled = true
config = { entities = ["project"], relations = ["implements"], connections = 30 }
Config fieldTypeDescriptionDefault
entitiesstring[]Additional entity types[]
relationsstring[]Additional relation types[]
connectionsusizeDefault limit for graph traversal20 (max 100)

Tools

The memory service registers six tools:

ToolDescription
rememberStore a typed entity (upserts by composite key)
recallSearch entities by full-text query, optionally filtered by type
relateCreate a directed edge between two entities
connectionsTraverse the graph one hop from an entity
compactTrigger context compaction with journal storage
distillSearch past journal entries by semantic similarity

See memory concepts for detailed tool schemas and usage.

Capabilities

The memory service declares four WHS capabilities:

  • Tools — the six memory tools above
  • BuildAgent — injects identity traits, user profile, and recent journals into the system prompt at agent creation
  • Compact — enriches the compaction prompt with memory context
  • EventObserver — observes agent events for knowledge extraction

Entity types

Seven built-in types: fact, preference, person, event, concept, identity, profile. Extend via the entities config field.

Relation types

Seven built-in types: knows, prefers, related_to, caused_by, part_of, depends_on, tagged_with. Extend via the relations config field.

What's next

On this page