#!/bin/bash
# 铸渊编程AI · 部署脚本
# 目标服务器: BS-SG-001 (43.156.237.110)
# 运行方式: bash deploy/deploy.sh

set -e

REPO_DIR="/opt/guanghulab-repo"
AGENT_DIR="$REPO_DIR/zhuyuan-agent"
LOG_DIR="$REPO_DIR/logs"

echo "=== 铸渊编程AI · 部署开始 ==="
echo "目标: $AGENT_DIR"

# 1. 确保目录存在
mkdir -p "$AGENT_DIR" "$LOG_DIR"

# 2. 安装 Python 依赖
echo ">>> 安装 Python 依赖..."
cd "$AGENT_DIR"
pip3 install -r requirements.txt --quiet 2>&1 | tail -3

# 3. 检查 .env 配置
if [ ! -f "$AGENT_DIR/.env" ]; then
    echo "⚠️  未找到 .env 文件，从模板创建..."
    cp config/.env.template .env
    echo "❗ 请编辑 $AGENT_DIR/.env 填入 API 密钥后重新运行"
    exit 1
fi

# 4. 导出环境变量
set -a
source "$AGENT_DIR/.env"
set +a

# 5. 初始化 HLDP 数据库
echo ">>> 初始化 HLDP 数据库..."
python3.11 -c "
from core.hldp_memory import HLDPMemoryEngine
mem = HLDPMemoryEngine('$HLDP_DB_PATH', '$REPO_PATH')
walk = mem.wake('D112', 1)
print(f'  人格体: {walk[\"identity\"][\"name\"]}')
print(f'  纪元: {walk[\"identity\"][\"epoch\"]}')
print(f'  状态: {walk[\"status\"]}')
mem.close()
"

# 6. 启动 PM2 服务
echo ">>> 启动 PM2 服务..."
pm2 start deploy/pm2-zhuyuan-agent.json
pm2 save

echo ""
echo "=== 部署完成 ==="
echo "服务端口: ${SERVER_PORT:-3912}"
echo "状态检查: pm2 status zhuyuan-agent"
echo "健康检查: curl http://localhost:${SERVER_PORT:-3912}/health"
