#!/usr/bin/env bash set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT" pick_python() { if [[ -n "${VISUAL_CHAT_PYTHON:-}" && -x "${VISUAL_CHAT_PYTHON}" ]]; then echo "${VISUAL_CHAT_PYTHON}" return 0 fi if [[ -n "${VIRTUAL_ENV:-}" && -x "${VIRTUAL_ENV}/bin/python" ]]; then echo "${VIRTUAL_ENV}/bin/python" return 0 fi if [[ -x "$ROOT/.venv/bin/python" ]]; then echo "$ROOT/.venv/bin/python" return 0 fi if command -v python3 >/dev/null 2>&1; then command -v python3 return 0 fi command -v python } PY="$(pick_python)" if [[ -f ".env" ]]; then set -a # shellcheck disable=SC1091 source ./.env set +a fi SCHEME="http" if [[ -n "${SSL_CERTFILE:-}" && -n "${SSL_KEYFILE:-}" ]]; then SCHEME="https" fi BASE_URL="${BASE_URL:-${SCHEME}://127.0.0.1:${HTTP_PORT:-8080}}" echo "[1/6] service status" bash scripts/service.sh status || true echo "[2/6] quick pipeline qa" "$PY" scripts/qa_check.py --base-url "$BASE_URL" --rounds 5 echo "[3/6] llm fallback" "$PY" scripts/llm_fallback_check.py echo "[4/6] vad check" "$PY" scripts/vad_check.py echo "[5/6] tts stress" "$PY" scripts/tts_stress.py echo "[6/6] smoke media output" "$PY" scripts/smoke_test.py --text "全链路验收测试,请简短回复" echo "all checks finished."