LLM fixes: - _try_repair_json() — ripara JSON malformato (apici, virgole trailing) - _strip_json_from_text() — rimuove residui JSON dalla narration - parse_tool_call() — rimuove troncamento 200 caratteri dal fallback DM fixes: - Fallback euristico quando params vuoti (dm.py) - Estrazione narrazione da dm_override/narrate params.params.text Prompt (prompts.py): - Vietati termini tecnici/scientifici/anacronistici (HPLC, laser, ...) - Aggiunto vocabolario fantasy obbligatorio Server (server.py): - dm_cycle in ThreadPoolExecutor per non bloccare WS ping - WebSocketDisconnect gestiti - Rimosso import inesistente db_schema Frontend (index.html): - Nascosti tool name dalla chat - Personaggio -> PG, connessioni aree con nomi Infrastruttura: - Switch da openrouter/free a DeepSeek V4 Flash via OpenCode Go - pyproject.toml, Dockerfile, docker-compose.yml, start.sh - .env auto-load (start.sh) - Funnel Lv0 (funnel.py) — creazione PG livello 0 Docs: architecture, database, setup, game mechanics, codebase ref
22 lines
710 B
YAML
22 lines
710 B
YAML
version: "3.9"
|
|
|
|
services:
|
|
dcc-rpg:
|
|
build: .
|
|
container_name: dcc-rpg
|
|
ports:
|
|
- "8300:8300"
|
|
volumes:
|
|
- ./data:/app/data
|
|
environment:
|
|
- DCC_LLM_PROVIDER=${DCC_LLM_PROVIDER:-local}
|
|
- DCC_OPENROUTER_KEY=${DCC_OPENROUTER_KEY:-}
|
|
- DCC_OPENROUTER_MODEL=${DCC_OPENROUTER_MODEL:-openrouter/free}
|
|
- DCC_OLLAMA_URL=${DCC_OLLAMA_URL:-http://192.168.0.50:11434}
|
|
- DCC_OLLAMA_MODEL=${DCC_OLLAMA_MODEL:-gemma2:9b}
|
|
- DCC_LOCAL_URL=${DCC_LOCAL_URL:-https://opencode.ai/zen/go/v1}
|
|
- DCC_LOCAL_KEY=${DCC_LOCAL_KEY:-}
|
|
- DCC_LOCAL_MODEL=${DCC_LOCAL_MODEL:-deepseek-v4-flash}
|
|
- DCC_LLM_TIMEOUT=${DCC_LLM_TIMEOUT:-180}
|
|
restart: unless-stopped
|