From 9c00c8f2a66135d9a3b22efdfa281cbcdd06d070 Mon Sep 17 00:00:00 2001 From: Google Gemini Date: Sun, 22 Mar 2026 23:30:56 +0000 Subject: [PATCH 1/2] Add memory visualization route --- src/dashboard/routes/memory.py | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/dashboard/routes/memory.py b/src/dashboard/routes/memory.py index 97ce6d7c..7ed0e64f 100644 --- a/src/dashboard/routes/memory.py +++ b/src/dashboard/routes/memory.py @@ -120,3 +120,39 @@ async def delete_fact(fact_id: str): if not ok: raise HTTPException(404, "Fact not found") return {"success": True, "id": fact_id} + +@router.get("/visualize", response_class=HTMLResponse) +async def memory_visualize(request: Request, query: str | None = None): + """Visualize related memories using D3.js.""" + results = [] + if query: + results = search_memories(query=query, limit=50) + else: + results = recall_personal_facts_with_ids()[:50] + + # Format for D3 (nodes and links) + nodes = [] + links = [] + + # Simple heuristic: link memories that share keywords or context + for i, res in enumerate(results): + nodes.append({ + "id": i, + "text": res.get("content", "")[:50] + "...", + "type": res.get("context_type", "general") + }) + + # Link to previous node for a simple chain, or more complex logic + if i > 0: + links.append({"source": i-1, "target": i}) + + return templates.TemplateResponse( + request, + "memory_graph.html", + { + "page_title": "Memory Visualization", + "nodes": nodes, + "links": links, + "query": query + }, + ) -- 2.43.0 From f96bcb2d14e4190f80202cc19d9e702480340cdc Mon Sep 17 00:00:00 2001 From: Google Gemini Date: Sun, 22 Mar 2026 23:30:57 +0000 Subject: [PATCH 2/2] Add memory graph template --- src/dashboard/templates/memory_graph.html | 103 ++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 src/dashboard/templates/memory_graph.html diff --git a/src/dashboard/templates/memory_graph.html b/src/dashboard/templates/memory_graph.html new file mode 100644 index 00000000..0691c01b --- /dev/null +++ b/src/dashboard/templates/memory_graph.html @@ -0,0 +1,103 @@ + +{% extends "base.html" %} + +{% block content %} +
+
+

// MEMORY_VISUALIZATION: {{ query or 'Recent' }}

+ Back to Browser +
+ +
+ +
+
+ + + +{% endblock %} -- 2.43.0