#!/bin/bash # Start the PlantAI-dev web service. # 用法: bash start_plantai_9000.sh [--port PORT] # 默认端口: 9000 set -euo pipefail # 解析命令行参数 PORT="9000" while [[ $# -gt 0 ]]; do case "$1" in --port|-p) PORT="${2:?错误: --port 需要指定端口号}" shift 2 ;; *) echo "未知参数: $1" echo "用法: bash start_plantai_9000.sh [--port PORT]" exit 1 ;; esac done SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" if [ -f "$SCRIPT_DIR/.env" ]; then set -a . "$SCRIPT_DIR/.env" set +a fi CONDA_BASE="${BBAV5_CONDA_BASE:-/home/xia-lab/miniconda3}" DEFAULT_ENV="${BBAV5_DEFAULT_ENV:-test4py311}" CONDA_ENV="$CONDA_BASE/envs/$DEFAULT_ENV" export PATH="$CONDA_ENV/bin:$PATH" # This is the official 9000 profile. Do not inherit a sandbox profile from # the caller's shell; GWAS/other sandboxes have dedicated restart scripts. export BBAV5_PROJECT_ROOT="$SCRIPT_DIR" export PLANTAI_PROJECT_ROOT="$SCRIPT_DIR" export BBAV5_PROJECT_ENV_FILE="${BBAV5_PROJECT_ENV_FILE:-$SCRIPT_DIR/.env}" export BBAV5_LIGHTWEIGHT_EXTENSION_STORE="${BBAV5_LIGHTWEIGHT_EXTENSION_STORE:-$SCRIPT_DIR/.runtime/lightweight-extension/store}" export BBAV5_LIGHTWEIGHT_INPUT="${BBAV5_LIGHTWEIGHT_INPUT:-$SCRIPT_DIR/input}" export BBAV5_LIGHTWEIGHT_WORKSPACE="${BBAV5_LIGHTWEIGHT_WORKSPACE:-$SCRIPT_DIR/workspace}" export BBAV5_QUEUE_PREFIX="${BBAV5_QUEUE_PREFIX:-plantai_4090_9000}" export BBAV5_REDIS_URL="${BBAV5_REDIS_URL:-redis://localhost:6379/10}" export PLANTAI_WEB_PORT="$PORT" export PLANTAI_RESTART_SCRIPT="$SCRIPT_DIR/restart_plantai_9000.sh" export GENE_FAMILY_MAS_API="${GENE_FAMILY_MAS_API:-${DUAL_KB_QA_BASE_URL:-http://127.0.0.1:7920}}" export DUAL_KB_QA_BASE_URL="${DUAL_KB_QA_BASE_URL:-$GENE_FAMILY_MAS_API}" export RAG_API_URL="${RAG_API_URL:-$GENE_FAMILY_MAS_API}" export DUAL_KB_QA_ROUTE="${DUAL_KB_QA_ROUTE:-qa-v1-1-73}" export PLANTAI_AGENT_STATE_DB="$SCRIPT_DIR/.runtime/agent-state/agent-state.sqlite3" PORT="$PLANTAI_WEB_PORT" echo "Starting PlantAI-dev web service" echo " URL: http://127.0.0.1:${PORT}" echo " Project: ${BBAV5_PROJECT_ROOT}" echo " Queue prefix: ${BBAV5_QUEUE_PREFIX}" echo " Redis: ${BBAV5_REDIS_URL}" echo " RAG upstream: ${RAG_API_URL}" exec "$CONDA_ENV/bin/python" -m uvicorn apps.web.vue3.main:app --host 0.0.0.0 --port "$PORT"