feat: free-first reaktivierung Teil 2 — torch-freier embedder, Live-Aktivitäten im Graph, systemd-Pfadkorrektur

- src/embedder.py: torch/sentence-transformers durch Hash-Fallback ersetzt
  (kein numpy/ph torch nötig; 384-dim Vektor per sha256+Positional Hash)
- src/store.py: _touch_access() tracked reads für Live-Graph-Aktivität
- fastapi_app.py: SSE-Event-Stream optimiert (2s Takt, Aktivitäts-Tracking)
- templates/dashboard.html: Graph 2.1 mit Live-Aktivitäts-Pulsringen,
  Canvas 16:10, linearem Gradienten, Legendeneinträgen für Lesen/Schreiben/Bewerten
- static/style.css: Grafik-Radius 6px, Activity-Legendenfarben
- openclaw_cron_wrapper.py: CRON_TASKS_DIR ins second-brain-Verzeichnis
- systemd/*.service: Pfade von workspace/ nach second-brain/ korrigiert
- systemd/openclaw-secondbrain.target: neuer Multi-User-Target für Second Brain
- .gitignore: backups/ hinzugefügt

Embedder-Smoke-Test bestanden: encode/encode_batch/similar funktionieren
ohne externe ML-Abhängigkeit.

Refs: #36
This commit is contained in:
2026-06-25 03:03:21 +02:00
parent f803942914
commit 7814fa4a65
20 changed files with 243 additions and 76 deletions

View File

@@ -168,7 +168,11 @@ body {
margin: 10px auto 0;
background:#01030a;
border:0;
border-radius: 50%;
border-radius: 6px;
width: min(100%, 1180px);
max-width: calc(100vw - 24px);
height: auto;
aspect-ratio: 16 / 10;
box-shadow:
0 0 48px rgba(34,211,238,0.14),
0 0 120px rgba(236,72,153,0.08),
@@ -221,6 +225,9 @@ body {
.legend-dot.tag{ background:#8a9aff; }
.legend-dot.source{ background:#14b8a6; }
.legend-dot.match{ background:#f7d154; }
.legend-dot.read{ background:#38bdf8; }
.legend-dot.write{ background:#4ade80; }
.legend-dot.review{ background:#f7d154; }
.graph-hint{ padding: 4px 12px 10px; }
.graph-live{
margin: 8px 12px 0;
@@ -451,7 +458,7 @@ body {
.actions button {
width: 34px;
height: 34px;
border-radius: 50%;
border-radius: 10px;
border: none;
font-size: 1rem;
cursor: pointer;
@@ -502,7 +509,7 @@ body {
.refresh-btn {
background: #252535;
border: none;
border-radius: 50%;
border-radius: 10px;
width: 36px;
height: 36px;
color: #8888aa;