Created
February 21, 2026 05:32
-
-
Save jeffbalagosa/cccb4fdf051340713ce8b9167e3933a2 to your computer and use it in GitHub Desktop.
OpenClaw Memory System Diagram
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "type": "excalidraw", | |
| "version": 2, | |
| "source": "https://excalidraw.com", | |
| "elements": [ | |
| { | |
| "type": "rectangle", | |
| "id": "header_bg", | |
| "x": 280, | |
| "y": 20, | |
| "width": 500, | |
| "height": 70, | |
| "backgroundColor": "#e0e7ff", | |
| "fillStyle": "solid", | |
| "strokeColor": "#3730a3", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "header_title", | |
| "x": 360, | |
| "y": 40, | |
| "text": "OpenClaw Memory System", | |
| "fontSize": 24, | |
| "strokeColor": "#3730a3", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "daily_logs", | |
| "x": 40, | |
| "y": 140, | |
| "width": 200, | |
| "height": 120, | |
| "backgroundColor": "#dcfce7", | |
| "fillStyle": "solid", | |
| "strokeColor": "#166534", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "daily_title", | |
| "x": 60, | |
| "y": 155, | |
| "text": "Daily Logs", | |
| "fontSize": 16, | |
| "strokeColor": "#166534", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "daily_desc", | |
| "x": 60, | |
| "y": 180, | |
| "text": "memory/YYYY-MM-DD.md\nAppend-only\nRead today + yesterday", | |
| "fontSize": 12, | |
| "strokeColor": "#166534", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "longterm", | |
| "x": 280, | |
| "y": 140, | |
| "width": 200, | |
| "height": 120, | |
| "backgroundColor": "#dbeafe", | |
| "fillStyle": "solid", | |
| "strokeColor": "#1e40af", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "longterm_title", | |
| "x": 300, | |
| "y": 155, | |
| "text": "Long-term Memory", | |
| "fontSize": 16, | |
| "strokeColor": "#1e40af", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "longterm_desc", | |
| "x": 300, | |
| "y": 180, | |
| "text": "MEMORY.md\nCurated facts/preferences\nPrivate sessions only", | |
| "fontSize": 12, | |
| "strokeColor": "#1e40af", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "tools", | |
| "x": 520, | |
| "y": 140, | |
| "width": 200, | |
| "height": 120, | |
| "backgroundColor": "#fef3c7", | |
| "fillStyle": "solid", | |
| "strokeColor": "#b45309", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "tools_title", | |
| "x": 540, | |
| "y": 155, | |
| "text": "Agent Tools", | |
| "fontSize": 16, | |
| "strokeColor": "#b45309", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "tools_desc", | |
| "x": 540, | |
| "y": 180, | |
| "text": "memory_get\nmemory_search", | |
| "fontSize": 12, | |
| "strokeColor": "#b45309", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "vector_box", | |
| "x": 40, | |
| "y": 320, | |
| "width": 320, | |
| "height": 140, | |
| "backgroundColor": "#f3e8ff", | |
| "fillStyle": "solid", | |
| "strokeColor": "#7e22ce", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "vector_title", | |
| "x": 60, | |
| "y": 335, | |
| "text": "Embedding Providers", | |
| "fontSize": 16, | |
| "strokeColor": "#7e22ce", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "vector_desc", | |
| "x": 60, | |
| "y": 360, | |
| "text": "local (node-llama-cpp)\nOpenAI\nGemini\nVoyage\n(sqlite-vec acceleration)", | |
| "fontSize": 12, | |
| "strokeColor": "#7e22ce", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "features_box", | |
| "x": 400, | |
| "y": 320, | |
| "width": 320, | |
| "height": 140, | |
| "backgroundColor": "#fce7f3", | |
| "fillStyle": "solid", | |
| "strokeColor": "#be185d", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "features_title", | |
| "x": 420, | |
| "y": 335, | |
| "text": "Search Features", | |
| "fontSize": 16, | |
| "strokeColor": "#be185d", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "features_desc", | |
| "x": 420, | |
| "y": 360, | |
| "text": "Hybrid Search (Vector + BM25)\nMMR Re-ranking (diversity)\nTemporal Decay (recency)\nEmbedding Cache", | |
| "fontSize": 12, | |
| "strokeColor": "#be185d", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "flush_box", | |
| "x": 200, | |
| "y": 510, | |
| "width": 400, | |
| "height": 90, | |
| "backgroundColor": "#ffedd5", | |
| "fillStyle": "solid", | |
| "strokeColor": "#c2410c", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "flush_title", | |
| "x": 280, | |
| "y": 525, | |
| "text": "Automatic Memory Flush", | |
| "fontSize": 16, | |
| "strokeColor": "#c2410c", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "flush_desc", | |
| "x": 220, | |
| "y": 555, | |
| "text": "Pre-compaction trigger | softThresholdTokens | Silent (NO_REPLY)", | |
| "fontSize": 12, | |
| "strokeColor": "#c2410c", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "rectangle", | |
| "id": "qmd_box", | |
| "x": 200, | |
| "y": 640, | |
| "width": 400, | |
| "height": 80, | |
| "backgroundColor": "#e0e7ff", | |
| "fillStyle": "solid", | |
| "strokeColor": "#3730a3", | |
| "strokeWidth": 2, | |
| "roundness": { "type": 3 } | |
| }, | |
| { | |
| "type": "text", | |
| "id": "qmd_title", | |
| "x": 260, | |
| "y": 655, | |
| "text": "QMD Backend (Experimental)", | |
| "fontSize": 16, | |
| "strokeColor": "#3730a3", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "text", | |
| "id": "qmd_desc", | |
| "x": 230, | |
| "y": 685, | |
| "text": "BM25 + vectors + reranking | Local-first | Bun + node-llama-cpp", | |
| "fontSize": 12, | |
| "strokeColor": "#3730a3", | |
| "fontFamily": 1, | |
| "textAlign": "left", | |
| "verticalAlign": "top" | |
| }, | |
| { | |
| "type": "arrow", | |
| "id": "arrow1", | |
| "x": 140, | |
| "y": 260, | |
| "width": 0, | |
| "height": 60, | |
| "points": [[0, 0], [0, 60]], | |
| "strokeColor": "#166534", | |
| "strokeWidth": 2, | |
| "endArrowhead": "arrow" | |
| }, | |
| { | |
| "type": "arrow", | |
| "id": "arrow2", | |
| "x": 380, | |
| "y": 260, | |
| "width": 0, | |
| "height": 60, | |
| "points": [[0, 0], [0, 60]], | |
| "strokeColor": "#1e40af", | |
| "strokeWidth": 2, | |
| "endArrowhead": "arrow" | |
| }, | |
| { | |
| "type": "arrow", | |
| "id": "arrow3", | |
| "x": 620, | |
| "y": 260, | |
| "width": 0, | |
| "height": 60, | |
| "points": [[0, 0], [0, 60]], | |
| "strokeColor": "#b45309", | |
| "strokeWidth": 2, | |
| "endArrowhead": "arrow" | |
| }, | |
| { | |
| "type": "arrow", | |
| "id": "arrow4", | |
| "x": 140, | |
| "y": 460, | |
| "width": 0, | |
| "height": 50, | |
| "points": [[0, 0], [0, 50]], | |
| "strokeColor": "#7e22ce", | |
| "strokeWidth": 2, | |
| "endArrowhead": "arrow" | |
| }, | |
| { | |
| "type": "arrow", | |
| "id": "arrow5", | |
| "x": 560, | |
| "y": 460, | |
| "width": 0, | |
| "height": 50, | |
| "points": [[0, 0], [0, 50]], | |
| "strokeColor": "#be185d", | |
| "strokeWidth": 2, | |
| "endArrowhead": "arrow" | |
| }, | |
| { | |
| "type": "arrow", | |
| "id": "arrow6", | |
| "x": 400, | |
| "y": 600, | |
| "width": 0, | |
| "height": 40, | |
| "points": [[0, 0], [0, 40]], | |
| "strokeColor": "#c2410c", | |
| "strokeWidth": 2, | |
| "endArrowhead": "arrow" | |
| } | |
| ], | |
| "appState": { | |
| "gridSize": null, | |
| "viewBackgroundColor": "#ffffff", | |
| "scrollX": 0, | |
| "scrollY": 0, | |
| "zoom": { "value": 1 } | |
| }, | |
| "files": {} | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment