Skip to content

LocalHarness — the memory plugin

Memory

← the plugins /memory

On by default; it runs a small embedding model on your CPU, and turning it off leaves core’s memory slot empty.

  1. 1
    the loop asks every turn, right after the guardrails
  2. 2
    the memory slot one occupant — every call into it contained
  3. 3
    the plugin loads within the smaller of its own setting and core’s ceiling
  4. 4
    sections come back ## Division Context · ## Agent Memory
  5. 5
    the model calls a tool memory_search · memory_get (untrusted) · remember (trusted)
  6. ↺
    dreaming while idle — any user turn cancels it
  7. ↺
    surfaces /memory · localharness memory · the phone’s memory screen, all through browse()
  8. ✕
    bind_subagent() → none cruncher gists are not stored — planned, awaiting a ruling

memory.enabled: false empties the slot — no memory section, no memory tool, no /memory.

fig. 01 — PLATE M — the memory plugin behind the slot: what core calls, what the plugin owns

over time

  • each turn it adds what it knows to the prompt, within a budget core sets.
  • on demand the agent searches by meaning, or pulls one fact in full.
  • each session ends with a one-line summary in memory.
  • for good facts outlive the session, in a database per agent and a file you can read.

how it learns

  • new facts start as trusted as their writer has earned.
  • repeats and updates a fact seen again gains weight; a new value replaces the old, which stays on file.
  • consolidation while idle it replays what happened and strengthens the facts involved.
  • one ranking facts reach the prompt ranked by need, truth and stakes, until the budget runs out.
  • forgetting is opt-in archiving unused facts is off by default; nothing is deleted.
  • checked writes each write is read back, and a failed one fails loudly.
  1. 1
    written a bet: birth truth = the writer’s measured record read back, or MemoryVerifyError
  2. 2
    seen again same value, other episode → adds the sighter’s weight new value → supersedes; old stays
  3. 3
    recalled search · get · injected reads bump _staged twins only recalled = proven useful
  4. 4
    dreamed embed-backfill → digest → bind → fold + settle the ledger any user turn cancels
  5. 5
    archived below the proven-useful line off by default · nothing deleted restore is one verb

one score ranks every fact: S = ln(1 + standing) + truth + stakes — the char budget is the whole gate.

inert: several memory event types nothing sends, and agent.memory.inject_into_context, which nothing reads.

fig. 02 — DETAIL M·A — inside the store: one fact’s life

Setup

Turn it on from the session, fill in its settings, and it checks they work; your coding agent can do the hardware part.

~/project — localharness start shipped
qwen3.6-27b ~/project
Plugins: memory, autoresearch
❯ /plugins enable memory
Restarting with memory on — your conversation is kept.
✓ memory enabled in ~/.localharness/overrides.yaml
Download the embedding model now (about 1.2 GB)? [Y/n]: y
✓ memory-embedding: downloaded Qwen/Qwen3-Embedding-0.6B
Checking it now:
✓ memory-db: ~/.localharness/agents/orchestrator/memory.db (schema 10)
✓ memory-embedding: embedding model Qwen/Qwen3-Embedding-0.6B is in the local cache
In a session, /memory shows what it keeps.
Restarted with memory on. Your conversation continues.
memory: on in this session
❯ /memory
Memory is empty — nothing has been remembered yet.

in a session: /plugins enable memory · from a shell: localharness plugins enable memory

paste into your coding agent to set it up for your hardware
Set up LocalHarness memory on this machine. Install LocalHarness with its embeddings extra, keeping the extras I already use (a reinstall keeps only the extras it names). Then run `localharness plugins enable memory` and answer yes to downloading the embedding model (about 1.2 GB, into the Hugging Face cache). The model runs on the CPU, so no GPU setup is needed. You are done when `localharness doctor` shows memory-embedding passing.

Surfaces

where you reach it

  • /memory in a session: browse by tag, show, search, forget or promote.
  • localharness memory from the shell: list, show, edit, remove, archive or restore.
  • memory_search · memory_get · remember the tools the agent calls in a session.
  • /plugins enable memory inside a running session: until it is set up, asks what it needs and checks it; then restarts with your conversation kept.
  • memory.enabled false removes the memory section, the tools and /memory.

Get Involved