#!/usr/bin/env bash # 将 .persistent-chat-v1.1/lib 同步到 ~/.persistent-chat-local/lib 并重启 Hub set -euo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)" DST="$HOME/.persistent-chat-local" SRC_LIB="$ROOT/.persistent-chat-v1.1/lib" PORT="${PCHAT_HTTP_PORT:-13458}" mkdir -p "$DST/lib" rsync -a --delete "$SRC_LIB/" "$DST/lib/" cp -f "$ROOT/.persistent-chat-v1.1/panel.html" "$DST/panel-enhance.html" 2>/dev/null || true # hub.js 需已 patch 引入 lib/hub-routes-prd.js if ! grep -q 'hub-routes-prd' "$DST/hub.js" 2>/dev/null; then echo "WARN: hub.js 尚未引入 hub-routes-prd,请手动 patch 或更新 hub.js" fi if lsof -ti ":$PORT" >/dev/null 2>&1; then lsof -ti ":$PORT" | xargs kill 2>/dev/null || true sleep 1 fi nohup "${PCHAT_NODE:-node}" "$DST/hub.js" >> "$DST/logs/hub.stdout.log" 2>&1 & for i in $(seq 1 40); do curl -sf -m 2 "http://127.0.0.1:$PORT/api/health" >/dev/null && break sleep 0.2 done echo "sync ok → http://127.0.0.1:$PORT/enhance"