#!/usr/bin/env bash set -euo pipefail ENV_NAME="${ROUTEOPT_ENV:-routeopt-agent}" ensure_deps() { if conda run -n "$ENV_NAME" python -c "import gradio, requests, reportlab" >/dev/null 2>&1; then echo "依赖已安装" else echo "安装 Python 依赖" conda run -n "$ENV_NAME" python -m pip install -r requirements.txt fi } if ! command -v conda >/dev/null 2>&1; then echo "未找到 conda。请先安装 Miniconda 或 Anaconda,然后重新运行 ./run.sh" exit 1 fi if [ -f ".env" ]; then echo "加载 .env 配置" set -a # shellcheck disable=SC1091 source ".env" set +a fi CONDA_BASE="$(conda info --base)" source "$CONDA_BASE/etc/profile.d/conda.sh" if ! conda env list | awk '{print $1}' | grep -qx "$ENV_NAME"; then echo "首次运行:创建 conda 环境 $ENV_NAME" if ! conda env create -f environment.yml; then echo "标准环境创建失败,尝试克隆 base 环境后用 pip 安装依赖" conda create -n "$ENV_NAME" --clone base -y fi else echo "检查 Python 依赖" fi ensure_deps echo "启动 RouteOpt Agent" conda run -n "$ENV_NAME" python app.py