MAESTRO: Add observation I/O, MEMORY.md live sync, and gateway lifecycle support

Merge crab-mem observation recording with existing SSE broadcasting to
create a complete OpenClaw plugin. Records observations from embedded
runner sessions via worker HTTP API, and continuously syncs MEMORY.md
to agent workspaces so agents always have fresh context.

- Add event handlers: before_agent_start, tool_result_persist, agent_end, gateway_start
- Add MEMORY.md live sync on every agent start and tool use (fire-and-forget)
- Add worker HTTP client (POST, fire-and-forget POST, GET text)
- Add /claude-mem-status health check command
- Add workspace dir tracking across session events
- Expand test suite from 17 to 36 tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2026-02-09 19:12:12 -05:00
parent 33ab7ba747
commit 7b7a92e35a
4 changed files with 910 additions and 32 deletions
+4 -3
View File
@@ -1,7 +1,7 @@
{
"id": "claude-mem",
"name": "Claude-Mem (Persistent Memory)",
"description": "Official OpenClaw plugin for Claude-Mem. Persistent memory across sessions with live observation feed.",
"description": "Official OpenClaw plugin for Claude-Mem. Records observations from embedded runner sessions and streams them to messaging channels.",
"kind": "memory",
"version": "1.0.0",
"author": "thedotmack",
@@ -20,9 +20,10 @@
"default": 37777,
"description": "Port for Claude-Mem worker service"
},
"workerPath": {
"project": {
"type": "string",
"description": "Custom path to worker-service.cjs (auto-detected if not set)"
"default": "openclaw",
"description": "Project name for scoping observations in the memory database"
},
"observationFeed": {
"type": "object",