Summary
The OpenClaw OB1 Agent Memory plugin currently declares itself as a memory-kind plugin. In a tools-only deployment where OpenClaw's native memory-core remains the configured memory slot, OpenClaw disables the OB1 plugin after gateway restart instead of registering the openbrain_* tools as a sidecar provider.
Expected
A deployment should be able to keep:
memory slot: memory-core
- OB1 plugin enabled for tools-only access
openbrain_* tools registered and callable after gateway restart
This lets local memory remain primary while OB1 acts as a shared review-gated memory tool layer.
Actual
After gateway restart with memory-core selected, runtime inspection showed the OB1 plugin disabled:
enabled: false
status: disabled
activationReason: memory slot set to "memory-core"
toolCount: 0
toolNames: []
The fresh-turn agent tool list did not include openbrain_*, so openbrain_list_review_queue and openbrain_recall were not callable.
Root Cause
The plugin declares kind: "memory" in both the plugin manifest and plugin entry. OpenClaw treats memory-kind plugins as mutually exclusive with the configured memory slot, so OB1 is disabled whenever another memory provider remains active.
Proposed Fix
For the current OpenClaw integration, present OB1 as a tools-only plugin by removing the memory-kind declaration. If future OpenClaw support needs OB1 as an active memory provider, it may be cleaner to introduce an explicit dual-kind/sidecar model rather than overloading kind: "memory".
Related PR: #384
Validation From Local Deployment
After applying the source change locally and restarting OpenClaw:
- memory slot stayed
memory-core
- OB1 runtime doctor reported active with 7 tools
- native
openbrain_list_review_queue({"project_id":"paperclip"}) was callable
- native
openbrain_recall with project_id=clubhouse returned Clubhouse-scoped memories
Summary
The OpenClaw OB1 Agent Memory plugin currently declares itself as a memory-kind plugin. In a tools-only deployment where OpenClaw's native
memory-coreremains the configured memory slot, OpenClaw disables the OB1 plugin after gateway restart instead of registering theopenbrain_*tools as a sidecar provider.Expected
A deployment should be able to keep:
memoryslot:memory-coreopenbrain_*tools registered and callable after gateway restartThis lets local memory remain primary while OB1 acts as a shared review-gated memory tool layer.
Actual
After gateway restart with
memory-coreselected, runtime inspection showed the OB1 plugin disabled:The fresh-turn agent tool list did not include
openbrain_*, soopenbrain_list_review_queueandopenbrain_recallwere not callable.Root Cause
The plugin declares
kind: "memory"in both the plugin manifest and plugin entry. OpenClaw treats memory-kind plugins as mutually exclusive with the configured memory slot, so OB1 is disabled whenever another memory provider remains active.Proposed Fix
For the current OpenClaw integration, present OB1 as a tools-only plugin by removing the memory-kind declaration. If future OpenClaw support needs OB1 as an active memory provider, it may be cleaner to introduce an explicit dual-kind/sidecar model rather than overloading
kind: "memory".Related PR: #384
Validation From Local Deployment
After applying the source change locally and restarting OpenClaw:
memory-coreopenbrain_list_review_queue({"project_id":"paperclip"})was callableopenbrain_recallwithproject_id=clubhousereturned Clubhouse-scoped memories