Environment
- OpenClaw: 2026.4.2
- ClawXMemory: 0.1.4 (both npm and source build)
- OS: Windows 11 10.0.26200 x64
- Node: v24.14.0
Issue Description
The ClawXMemory plugin loads and functions correctly (memory indexing, retrieval, memory_overview all work), but the UI dashboard server on port 39393 never starts. The port shows no listener after a clean Gateway restart.
What Works
- Plugin loads:
plugins inspect openbmb-clawxmemory shows Status: loaded
- Memory runtime healthy:
memory_overview returns L0/L1/L2 data correctly
- SQLite database active at
~/.openclaw/clawxmemory/memory.sqlite with active writes
- UI assets present in
dist/ui/ and ui-source/
- Config is correct:
uiEnabled: true, uiPort: 39393, uiHost: 127.0.0.1, uiPathPrefix: /clawxmemory
What Does Not Work
- Port 39393: nothing listening (
netstat -an | findstr 39393 returns nothing)
http://127.0.0.1:39393/clawxmemory/ not accessible
- No
[clawxmemory] dashboard ready log output during Gateway startup
Root Cause Analysis
After digging into the code, I believe this is a plugin API compatibility issue with kind: memory plugins.
The registerService callback is defined in src/index.ts:
api.registerService({
id: openbmb-clawxmemory-runtime,
start: () => {
if (liveRuntimeEnabled) runtime.start();
},
stop: () => runtime.stop(),
});
The runtime.start() method calls this.uiServer?.start() which should listen on port 39393. However:
- The Gateway does load the plugin core (hooks, tools, prompt section all work)
- But the
registerService → start() callback appears to never be invoked for kind: memory plugins
- Built-in
memory-core extension (also kind: memory) uses api.registerMemoryRuntime() instead of api.registerService() for its runtime initialization
- Other plugins using
api.registerService() successfully (e.g. acpx, browser) are NOT kind: memory
Steps to Reproduce
- Install on Windows 11:
npm install -g openbmb-clawxmemory
- Configure in
~/.openclaw/openclaw.json with uiEnabled: true
- Restart Gateway:
openclaw gateway stop then openclaw gateway start
- Check port:
netstat -an | findstr 39393 — nothing listening
- Verify plugin loaded:
openclaw plugins inspect openbmb-clawxmemory — shows Status: loaded
Workaround
Memory functionality (search, overview, flush) works fine. The only impact is the local dashboard UI being unavailable.
Expected Behavior
The dashboard should start on port 39393 and be accessible at http://127.0.0.1:39393/clawxmemory/ after Gateway restart.
Environment
Issue Description
The ClawXMemory plugin loads and functions correctly (memory indexing, retrieval,
memory_overviewall work), but the UI dashboard server on port 39393 never starts. The port shows no listener after a clean Gateway restart.What Works
plugins inspect openbmb-clawxmemoryshowsStatus: loadedmemory_overviewreturns L0/L1/L2 data correctly~/.openclaw/clawxmemory/memory.sqlitewith active writesdist/ui/andui-source/uiEnabled: true,uiPort: 39393,uiHost: 127.0.0.1,uiPathPrefix: /clawxmemoryWhat Does Not Work
netstat -an | findstr 39393returns nothing)http://127.0.0.1:39393/clawxmemory/not accessible[clawxmemory] dashboard readylog output during Gateway startupRoot Cause Analysis
After digging into the code, I believe this is a plugin API compatibility issue with
kind: memoryplugins.The
registerServicecallback is defined insrc/index.ts:The
runtime.start()method callsthis.uiServer?.start()which should listen on port 39393. However:registerService→start()callback appears to never be invoked forkind: memorypluginsmemory-coreextension (alsokind: memory) usesapi.registerMemoryRuntime()instead ofapi.registerService()for its runtime initializationapi.registerService()successfully (e.g.acpx,browser) are NOTkind: memorySteps to Reproduce
npm install -g openbmb-clawxmemory~/.openclaw/openclaw.jsonwithuiEnabled: trueopenclaw gateway stopthenopenclaw gateway startnetstat -an | findstr 39393— nothing listeningopenclaw plugins inspect openbmb-clawxmemory— showsStatus: loadedWorkaround
Memory functionality (search, overview, flush) works fine. The only impact is the local dashboard UI being unavailable.
Expected Behavior
The dashboard should start on port 39393 and be accessible at
http://127.0.0.1:39393/clawxmemory/after Gateway restart.