loci

v1.1.1

Structured memory system using domains, decay, and links to store, recall, and maintain important AI context as an organized memory palace.

0· 333· 3 versions· 2 current· 2 all-time· Updated 10h ago· MIT-0
bybayhax.max@bayhax

Install

openclaw skills install loci

loci — Structured Memory for AI Agents

GitHub: https://github.com/bayhax/loci | ClawHub: clawhub install loci

Quick Start

LOCI="node <skill_dir>/scripts/loci.mjs"

# Initialize palace (first time only)
$LOCI init

# Store a memory
$LOCI store work "Switched to Claude Opus model per user preference" --tag model --tag preference

# Recall memories
$LOCI recall "what model does the user prefer"

# Walk through palace (do this during heartbeats)
$LOCI walk

# See overview
$LOCI status

Core Concepts

Domains — Categories that organize memories (like rooms). Each has a capacity limit. Default domains: work, knowledge, people, tools, preferences, archive.

Memories — Individual pieces of context stored in a domain. Each has:

  • Unique ID (e.g. e3a7f2c1)
  • Content text
  • Tags for categorization
  • Links to related memories
  • Weight that decays over time

Decay — Memories lose weight exponentially based on time since last access. Formula: weight = base_weight × e^(-decay_rate × days_since_access) Default decay rate: 0.05 (half-life ≈ 14 days).

Links — Bidirectional connections between related memories across any domain.

Commands

CommandPurpose
initCreate new palace (once)
store <domain> <content>Add memory. Options: --tag, --link
recall <query>Search. Options: --domain, --top N
walkTraverse all memories, report health
pruneRemove decayed memories. Options: --threshold, --dry-run
statusOverview of all domains
inspect <id>View memory details + links
link <id1> <id2>Connect two memories
domainsList/add/remove domains
exportExport as markdown or JSON. Options: --format md|yaml

Integration with Heartbeats

During heartbeat walks, run:

$LOCI walk --decay 0.05

This reports domain health, identifies fading memories, and updates the walk timestamp. Periodically follow with $LOCI prune --dry-run to review candidates for removal.

When to Store vs. When to Skip

Store: Decisions, user preferences, environment quirks, lessons learned, important people/relationships, recurring patterns.

Skip: Transient task details, one-off commands, things already in daily memory files.

Rule of thumb: If future-you would benefit from knowing this in 2 weeks, store it.

Palace File

Default location: ~/.openclaw/workspace/loci_palace.json Override with --palace PATH on any command. Format: JSON. Zero external dependencies — only requires Node.js (ships with OpenClaw).

Version tags

latestvk974pbcm6r6r1aybf9hxf1h6cx82etys