#!/bin/bash # Memory Viewer Startup Script # Starts both API server and frontend server for Memory Viewer cd /home/openclaw/.openclaw/workspace/memory-viewer # Environment variables export WORKSPACE_DIR=/home/openclaw/.openclaw/workspace export PORT=3001 # API server port export FRONTEND_PORT=5180 # Frontend server port echo "📝 Starting Memory Viewer..." echo " API Server: port $PORT" echo " Frontend: port $FRONTEND_PORT" echo " Workspace: $WORKSPACE_DIR" # Kill any existing instances pkill -f "memory-viewer.*tsx" 2>/dev/null || true pkill -f "serve-memory-viewer" 2>/dev/null || true sleep 1 # Start API server (Hono backend) echo "🚀 Starting API server..." npx tsx server/index.ts & API_PID=$! # Wait for API server to start sleep 2 # Start frontend server (static files) echo "🌐 Starting frontend server..." cd /home/openclaw/.openclaw/workspace PORT=$FRONTEND_PORT node scripts/serve-memory-viewer.js & FRONTEND_PID=$! echo "" echo "✅ Memory Viewer started!" echo " Access via Tailscale: http://$(hostname -I | grep '100\\.' | head -1):$FRONTEND_PORT" echo " API: http://localhost:$PORT" echo "" echo "PIDs: API=$API_PID, Frontend=$FRONTEND_PID" # Keep script running wait