#!/usr/bin/env bash set -euo pipefail DIR="$(cd "$(dirname "$0")" && pwd)" cd "$DIR" # ── load .env if present ──────────────────────────────────────────── if [[ -f .env ]]; then set -a; source .env; set +a fi # ── provider: openrouter | ollama | local ────────────────────────── # Per OpenCode API: export DCC_LLM_PROVIDER=local + set DCC_LOCAL_KEY export DCC_LLM_PROVIDER="${DCC_LLM_PROVIDER:-local}" export DCC_OPENROUTER_KEY="${DCC_OPENROUTER_KEY:-}" export DCC_OPENROUTER_MODEL="${DCC_OPENROUTER_MODEL:-openrouter/free}" export DCC_OLLAMA_URL="${DCC_OLLAMA_URL:-http://192.168.0.50:11434}" export DCC_OLLAMA_MODEL="${DCC_OLLAMA_MODEL:-gemma2:9b}" export DCC_LOCAL_URL="${DCC_LOCAL_URL:-https://opencode.ai/zen/go/v1}" export DCC_LOCAL_KEY="${DCC_LOCAL_KEY:-}" export DCC_LOCAL_MODEL="${DCC_LOCAL_MODEL:-deepseek-v4-flash}" export DCC_LOCAL_FALLBACK_URL="${DCC_LOCAL_FALLBACK_URL:-https://opencode.ai/zen/v1}" export DCC_LOCAL_FALLBACK_MODEL="${DCC_LOCAL_FALLBACK_MODEL:-big-pickle}" # ── create data dir ──────────────────────────────────────────────── mkdir -p data # ── install deps if missing ──────────────────────────────────────── if ! pip show fastapi &>/dev/null 2>&1; then echo "→ Installing Python dependencies..." pip install --quiet -e . fi # ── start server ─────────────────────────────────────────────────── echo "→ DCC RPG — AI Dungeon Master" echo " Provider: ${DCC_LLM_PROVIDER}" echo " http://0.0.0.0:8300" echo "" python -m src.web.server