Memory for local AI agents that knows when to help, ask, or stay quiet.
OpenClawBrain is my memory authority layer for local AI agents. It gives agents continuity across projects, tools, and days, but it does not blindly obey the past: retrieved memories are checked for authority before they influence a future turn.
An agent should remember what matters, not obey every old note forever.
Most memory systems ask whether something is relevant. OpenClawBrain asks the harder question: does this memory still have authority in this turn?
That distinction matters. A preference can be true historically but wrong for the current request. A workflow can be useful but stale. A project fact can be relevant but superseded. A private memory can be recallable but never appropriate to inject proactively.
The 0.2.33 release keeps Memory Graph Maintenance automatic: passive health/proposal cycles run in the background, exact duplicate cleanup and bad-edge retirement can apply only when deterministic and low-risk, and stale authority, scoped exceptions, semantic changes, privacy changes, and tombstones stay review-gated.
It also ships the real Codex Telegram bridge: status, recent threads, direct recent-message copy, selected assistant-message tailing, safe bound-thread replies, active-turn steering, and evidence-separated handoff briefs through OpenClaw and Telegram.
If you already run OpenClaw, install or upgrade with openclaw plugins install clawhub:openclawbrain@0.2.33 --force, then enable the plugin and restart the gateway.
Relevance is not authority.
OpenClawBrain stands apart from transcript recall, vector notes, and prompt-only memory because it adds a decision layer between retrieval and behavior.
| Generic memory | OpenClawBrain |
|---|---|
| Finds similar past context. | Checks whether the past is still allowed to guide the present. |
| Can silently reuse stale preferences. | Can verify, weaken, confirm, abstain, supersede, tombstone, or keep audit-only. |
| Optimizes for remembering. | Optimizes for trustworthy continuity. |
| Usually treats memory as content. | Treats memory as content plus policy, scope, privacy, freshness, and proof. |
How a normal turn becomes safer memory.
corrections, outcomes, route misses, handoffs
-> redacted route frames and memory nodes
-> SQLite evidence graph
-> shadow decisions on real traffic
-> replayable eval cases and labels
-> action-family calibration
-> candidate route-policy-v3 snapshots
-> gated promotion or rollback
-> bounded context injection or abstention
Capture
Useful signals are captured after work happens: corrections, rejected memory, tool outcomes, and places where handoff context mattered.
Scope
Memories are tied to the right project, repo, channel, task, or user preference instead of becoming global commands.
Resolve
The authority layer decides whether a relevant memory should be used, weakened, verified, confirmed, or withheld.
Prove
The system keeps local proof for what was used, ignored, superseded, tombstoned, or learned.
Not just remembering more. Maintaining what gets remembered.
Once an agent has real memory, the next problem is graph hygiene. Old memories duplicate each other. Edges point at retired nodes. Broad defaults collide with narrow tasks. Private forget requests need to block recapture without leaking the forgotten content.
OpenClawBrain treats that as a separate product layer. Memory Authority decides what can influence the current turn; Graph Maintenance decides how the long-lived graph should evolve after many turns, corrections, outcomes, and stale facts.
/brain graph health
/brain graph dry-run
/brain graph proposals
/brain graph explain <proposal-id>
/brain graph apply <proposal-id>
/brain graph stale
/brain graph clusters
/brain graph tombstones
The default posture is conservative: dry-run first, proof for every applied mutation, deterministic low-risk repairs only, and review required for semantic merges, stale authority changes, privacy-sensitive moves, and scoped exceptions.
The implementation is local, auditable, and conservative.
Under the product language is a concrete local system: a SQLite-backed graph, route-policy-v3, Memory Authority, proof events, shadow replay, calibration, and rollback. The technical pieces exist to support one user-facing promise: memory should help without overpowering the current turn.
| Runtime path | Behavior |
|---|---|
| v3 match | Route memory when calibrated confidence clears the family threshold, then record proof. |
| v3 abstain | Keep the prompt clean when support is weak, confidence is low, or the policy lacks a safe match. |
| fallback | Use route-policy-v2, then legacy heuristics, for missing snapshots, invalid snapshots, no-match cases, and emergency rollback. |
| promotion | Only activate candidates that pass schema validation, replay, calibration, cold-start support, sync-budget checks, and cooldown controls. |
The system leaves proof for the things it claims.
OpenClawBrain exposes load state, SQLite health, proof events, graph/search state, graph-maintenance health and dry-run proposals, active route-policy snapshots, shadow decisions, eval cases, calibration examples, family stats, candidate reports, and injection decisions.
openclaw plugins inspect openclawbrain --runtime
openclaw doctor
# /plugins/openclawbrain/proof?limit=10
# /plugins/openclawbrain/search?query=pnpm&limit=10
# /plugins/openclawbrain/route-policy
# /plugins/openclawbrain/graph/health
# /plugins/openclawbrain/graph/dry-run
The current public release is 0.2.33, published on ClawHub and installed live on the Mac mini with the OpenClawBrain service, hooks, routes, graph maintenance, and Codex bridge loaded.
Codex UI stays the workbench. OpenClaw stays the mobile operator surface.
I now use Codex UI for much of the deep coding work. That is high bandwidth, but it is tied to the computer. OpenClaw agents are reachable from Telegram, which makes them useful when I am away from the machine.
OpenClawBrain connects the two: read-only Codex status, recent threads, direct recent-message copy, short assistant-message tailing, passive operator notes, explicit bound-thread actions, active-turn steering, one-command detach, redacted audit events, and handoff briefs that separate observed facts from Codex-reported claims.
/brain codex status
/brain codex threads
/brain codex threads openclawbrain
/brain codex last --latest
/brain codex messages --latest --limit 5
/brain codex bind <thread-id>
/brain codex tail --bound
/brain codex note The failure looks like the auth mock.
/brain codex act --with-notes Please fix only the focused test.
/brain codex steer --bound Stop after this test run and report blockers.
/brain codex detach
/brain codex handoff
/brain codex handoff <thread-id>
From Telegram, status is the quick pulse, threads is the finder, last/messages show exactly what Codex just said, tail is the short follow mode, note is passive context, act is the real work command, steer is the active-turn redirect path, detach is the escape hatch, and handoff is the return-to-computer brief.