Enable memory
hal0’s memory subsystem is off by default. When enabled it gives agents a persistent recall store (Hindsight by default) plus an optional knowledge-graph extraction layer. Enabling it is a single environment flag — no code change, no reinstall.
Turn it on
Section titled “Turn it on”-
Set the flag. Add
HAL0_MEMORY_ENABLED=1to/etc/hal0/api.env:Terminal window echo 'HAL0_MEMORY_ENABLED=1' | sudo tee -a /etc/hal0/api.env -
Restart the API so
create_appconstructs the memory provider:Terminal window sudo systemctl restart hal0-api -
Confirm it’s wired. The graph status endpoint now responds with real state instead of degrading:
Terminal window hal0 memory graph status
When the flag is set, hal0 builds the memory provider from your config. The default engine is Hindsight; if the Hindsight service is unreachable at startup, hal0 logs a warning and degrades to a local pgvector-backed provider rather than failing startup.
The graph-extraction gate
Section titled “The graph-extraction gate”Storing recall items is one thing; running an LLM over them to extract a
knowledge graph is heavier and separately gated. Control it with the
hal0 memory graph sub-app (a thin client over /api/memory/graph).
Live memory and graph-extraction dashboard in hal0.
hal0 memory graph statushal0 memory graph status --jsonShows whether extraction is on, the dispatch route, the configured upstream, and counters (builds OK, errors, in-flight, last build / error).
# extract via a configured external upstreamhal0 memory graph enable --route upstream \ --provider openrouter --model anthropic/claude-3.5-sonnet
# or route to a local slothal0 memory graph enable --route primaryhal0 memory graph enable --route agent--route is one of upstream, primary, or agent. When
--route=upstream, both --provider and --model are required (the
server enforces this too, so scripts hitting the API directly get the same
validation).
hal0 memory graph disableTurns extraction off and cancels any in-flight build.
Migrate a legacy store
Section titled “Migrate a legacy store”If you previously ran the Cognee-backed memory store, preview a migration into Hindsight banks:
hal0 memory migrate --dry-runhal0 memory migrate --dry-run --cognee-dir /var/lib/hal0/memory/cogneeThe report shows rows total / mapped / unmapped and whether it’s a no-op.
Related
Section titled “Related”- Run agents — agents are the main consumer of the memory store.
- Connect external providers — set up the upstream you route graph extraction through.