diff --git a/management/workflow/scripts/agent_auto_start.sh b/management/workflow/scripts/agent_auto_start.sh index bcec2f149..e022829a3 100755 --- a/management/workflow/scripts/agent_auto_start.sh +++ b/management/workflow/scripts/agent_auto_start.sh @@ -10,15 +10,16 @@ if [ -z "$AGENT_NAME" ]; then exit 1 fi -# 项目目录 -PROJECT_DIR="/Users/chufeng/.openclaw/agents/main/workspace/projects/sanguo_quant_live" -cd "$PROJECT_DIR" || { - echo "❌ 项目目录不存在: $PROJECT_DIR" +# 项目目录:自动检测脚本所在位置,不需要硬编码 +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../../.." +cd "$PROJECT_ROOT" || { + echo "❌ 无法进入项目目录: $PROJECT_ROOT" exit 1 } # 检查是否已经运行 -if ps aux | grep -q "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep; then +if ps aux | grep "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep | grep -q .; then echo "✅ $AGENT_NAME 监控已经在运行" exit 0 fi diff --git a/management/workflow/scripts/agent_check_and_start.sh b/management/workflow/scripts/agent_check_and_start.sh index 160655a86..adfba2a7a 100755 --- a/management/workflow/scripts/agent_check_and_start.sh +++ b/management/workflow/scripts/agent_check_and_start.sh @@ -11,7 +11,7 @@ if [ -z "$AGENT_NAME" ]; then fi # 检查是否已经运行 -if ps aux | grep -q "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep; then +if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .; then echo "✅ $AGENT_NAME 监控已经在运行" exit 0 fi diff --git a/management/workflow/scripts/agent_monitor_fixed.sh b/management/workflow/scripts/agent_monitor_fixed.sh index dd18fe591..94f851947 100755 --- a/management/workflow/scripts/agent_monitor_fixed.sh +++ b/management/workflow/scripts/agent_monitor_fixed.sh @@ -10,8 +10,17 @@ if [ -z "$AGENT" ]; then exit 1 fi +# 自动检测项目根目录 +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../.." +cd "$PROJECT_ROOT" || { + echo "❌ 错误:无法进入项目目录 $PROJECT_ROOT" + exit 1 +} + LOG_FILE="${AGENT}_monitor.log" AGENT_DIR="management/agents/${AGENT}" +mkdir -p "$AGENT_DIR" echo "=========================================" >> "$LOG_FILE" echo "Agent监控启动 - $AGENT" >> "$LOG_FILE" diff --git a/management/workflow/scripts/agent_monitor_gitpull.sh b/management/workflow/scripts/agent_monitor_gitpull.sh index 031934bfc..227c96203 100755 --- a/management/workflow/scripts/agent_monitor_gitpull.sh +++ b/management/workflow/scripts/agent_monitor_gitpull.sh @@ -11,8 +11,9 @@ if [ -z "$AGENT_NAME" ]; then exit 1 fi -# 项目根目录(自动检测) -PROJECT_ROOT="/Users/chufeng/.openclaw/agents/main/workspace/projects/sanguo_quant_live" +# 项目根目录(自动检测,基于脚本位置) +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../.." cd "$PROJECT_ROOT" || { echo "❌ 错误:无法进入项目目录 $PROJECT_ROOT" exit 1