#!/usr/bin/env bash set -euo pipefail # НадTavern Linux/macOS launcher with local .venv bootstrap # Usage: # chmod +x ./run_agentui.sh # ./run_agentui.sh # Optional env: HOST=0.0.0.0 PORT=7860 # Go to repo root (script location) cd "$(dirname "$0")" PORT="${PORT:-7860}" HOST="${HOST:-127.0.0.1}" # Pick python if command -v python3 >/dev/null 2>&1; then PY=python3 else PY=python fi # Create venv if missing if [ ! -f ".venv/bin/python" ]; then echo "[НадTavern] Creating .venv ..." "$PY" -m venv .venv fi VENV_PY=".venv/bin/python" echo "[НадTavern] Upgrading pip ..." "$VENV_PY" -m pip install --upgrade pip echo "[НадTavern] Installing deps from requirements.txt ..." "$VENV_PY" -m pip install -r requirements.txt echo "[НадTavern] Starting on http://$HOST:$PORT/" # Try to open UI editor in default browser (non-fatal if fails) if command -v xdg-open >/dev/null 2>&1; then xdg-open "http://$HOST:$PORT/ui/editor.html" >/dev/null 2>&1 || true elif command -v open >/dev/null 2>&1; then open "http://$HOST:$PORT/ui/editor.html" >/dev/null 2>&1 || true fi exec "$VENV_PY" -m uvicorn agentui.api.server:app --host "$HOST" --port "$PORT" --log-level info