#!/bin/bash
# Agent自动启动监控脚本 - 改进版：使用带自动git pull的监控脚本
# 当Agent启动时，自动启动监控脚本（带自动git pull）

AGENT_NAME="$1"

if [ -z "$AGENT_NAME" ]; then
  echo "使用方法: ./agent_auto_start.sh <agent-name>"
  echo "例如: ./agent_auto_start.sh pangtong"
  exit 1
fi

# 项目目录：自动检测脚本所在位置，不需要硬编码
# SCRIPT_DIR: .../sanguo_quant_live/management/workflow/scripts
# 三次 dirname 回到项目根目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$(dirname "$(dirname "$SCRIPT_DIR")")")"
cd "$PROJECT_ROOT" || {
  echo "❌ 无法进入项目目录: $PROJECT_ROOT"
  exit 1
}

# 检查是否已经运行
if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .; then
  echo "✅ $AGENT_NAME 监控已经在运行"
  exit 0
fi

# 启动全自动化监控（集成git pull/处理/git push）
# 使用tee同时输出到stdout和日志文件，这样聊天窗口能看到，日志也有记录
echo "🚀 启动 $AGENT_NAME 监控..."
# 先创建日志文件
touch "${AGENT_NAME}_monitor.log"
# 使用tee复制一份输出到日志文件，同时保持stdout输出到聊天窗口
nohup bash -c "./management/workflow/scripts/agent_monitor_fixed.sh '$AGENT_NAME' 2>&1 | tee -a '${AGENT_NAME}_monitor.log'" &

# 检查是否启动成功
sleep 2 # 给进程一点启动时间
if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .; then
  PID=$(ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | awk '{print $2}')
  echo "✅ $AGENT_NAME 监控启动成功"
  echo "🆔 PID: $PID"
  echo "📝 日志: ${AGENT_NAME}_monitor.log"
else
  echo "❌ $AGENT_NAME 监控启动失败"
fi
