test / test (push) Has been cancelled
- deepseek-v4-flash su opencode/go come modello primario - big-pickle su opencode/zen come fallback (gratuito) - Fallback automatico su censura "User Safety" o errore HTTP - Aggiornati .env, config.py, start.sh, docker-compose.yml
40 lines
1.9 KiB
Bash
Executable File
40 lines
1.9 KiB
Bash
Executable File
#!/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
|