#!/usr/bin/env bash set -euo pipefail WORKSPACE="/home/openclaw/.openclaw/workspace" TMP_JSONL="/tmp/eva-memory-sync.jsonl" REMOTE_HOST="eva_memory@192.168.0.135" REMOTE_KEY="/home/openclaw/.ssh/id_ed25519_vps_openclaw_45158" REMOTE_JSONL="/tmp/eva-memory-sync.jsonl" LOG="$WORKSPACE/logs/memory-sync.log" mkdir -p "$WORKSPACE/logs" python3 - <<'PY' "$WORKSPACE" "$TMP_JSONL" import json, sys from pathlib import Path ws=Path(sys.argv[1]) out=Path(sys.argv[2]) paths=[] mem=ws/'MEMORY.md' if mem.exists(): paths.append(mem) for p in sorted((ws/'memory').glob('*.md')): if 'dialogs' in p.parts: continue paths.append(p) with out.open('w',encoding='utf-8') as f: for p in paths: try: content=p.read_text(encoding='utf-8',errors='ignore') except Exception: continue rec={ 'source_path': str(p.relative_to(ws)), 'title': p.name, 'item_type': 'memory', 'content': content, } f.write(json.dumps(rec, ensure_ascii=False)+'\n') print(f'prepared {len(paths)} files') PY scp -i "$REMOTE_KEY" "$TMP_JSONL" "$REMOTE_HOST:$REMOTE_JSONL" >/dev/null ssh -i "$REMOTE_KEY" "$REMOTE_HOST" "/home/eva_memory/bin/import-memory-jsonl.sh $REMOTE_JSONL" >/dev/null echo "[$(date -u +'%F %T UTC')] sync ok" >> "$LOG"