#!/bin/bash
# LLM 论文图书馆 — 启动脚本
set -e

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"

# 加载环境变量
if [ -f .env ]; then
    export $(grep -v '^#' .env | xargs)
fi

# 生成 API Key (如果未设置)
if [ -z "$LLM_LIB_API_KEY" ]; then
    export LLM_LIB_API_KEY=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))")
    echo "API_KEY=$LLM_LIB_API_KEY" > .env
    echo "⚠️  自动生成 API Key: $LLM_LIB_API_KEY"
fi

echo "═══ LLM 论文图书馆 ═══"
echo "  API Key:  ${LLM_LIB_API_KEY:0:8}..."
echo "  Port:     ${PORT:-8000}"
echo "  PDF Dir:  papers/"
echo

# 首次运行: 下载依赖
if ! python3 -c "import fastapi" 2>/dev/null; then
    echo "📦 安装依赖..."
    pip install -r requirements.txt -q
fi

# 如果 papers.json 不存在，从 HTML 重新提取
if [ ! -f data/papers.json ]; then
    echo "📊 提取论文数据..."
    python3 api/extract_data.py || echo "⚠️  extract_data.py 失败，请手动运行"
fi

# 启动服务
echo "🚀 启动服务..."
exec python3 -m uvicorn api.server:app \
    --host 0.0.0.0 \
    --port ${PORT:-8000} \
    --log-level ${LOG_LEVEL:-info}
