← Dashboard

Manuale Comandi

Tutti i comandi utili — dal setup al deploy, dal backup all'interrogazione del DB

🛠 Setup iniziale (locale)
Prima installazione
./install.sh                          # installa venv + dipendenze + init DB
cp .env.example .env && nano .env     # configura API keys e credenziali
🤖 Avvio agent (locale)
Modalità di esecuzione
./run.sh                              # scheduling continuo (ogni 5 min)
./run.sh --once                       # esegui una volta sola e fermati
./run.sh --ticker AAPL                # analizza solo un ticker
./run.sh --ticker AAPL --once         # analizza un ticker una volta sola
📊 Dashboard locale
Avvio
./dashboard.sh                        # porta default → http://localhost:8000
./dashboard.sh 9000                   # porta personalizzata
Apre automaticamente il browser. Premi Ctrl+C per fermare.
🚀 Deploy su VPS
Comandi
./deploy.sh ubuntu@204.216.210.168         # primo deploy (setup completo)
./deploy.sh ubuntu@204.216.210.168 --update # aggiorna codice + riavvia servizi
--update è il comando da usare per ogni aggiornamento ordinario: copia i file via rsync, copia il .env e riavvia agent + dashboard.
⚙️ Servizi systemd (sul VPS)
financial-agent
sudo systemctl status  financial-agent
sudo systemctl start   financial-agent
sudo systemctl stop    financial-agent
sudo systemctl restart financial-agent
financial-dashboard
sudo systemctl status  financial-dashboard
sudo systemctl start   financial-dashboard
sudo systemctl stop    financial-dashboard
sudo systemctl restart financial-dashboard
📋 Log
Lettura log in tempo reale (sul VPS)
sudo journalctl -u financial-agent    -f   # agent
sudo journalctl -u financial-dashboard -f   # dashboard
sudo journalctl -u financial-agent    -n 50 # ultime 50 righe
File di log (locale e VPS)
tail -f logs/agent_$(date +%Y%m%d).log  # log file giornaliero
ls -lh  logs/                              # elenco file di log
⬇️ Scarica DB dalla VPS
fetch-db.sh
./fetch-db.sh ubuntu@204.216.210.168          # scarica e sostituisce data/financial_news.db
./fetch-db.sh ubuntu@204.216.210.168 --backup  # scarica + copia con timestamp in backups/
Prima di sovrascrivere il DB locale, lo script salva automaticamente una copia in backups/financial_news.db.pre-fetch-<timestamp>. Esegue anche un WAL checkpoint sul server per garantire consistenza.
🔍 Interroga il DB (locale)
query_db.py — CLI interattiva
./query_db.py                          # menu interattivo
./query_db.py stats                    # statistiche generali
./query_db.py news                     # tutte le news (ultimi 7 giorni)
./query_db.py news          ORCL       # news per ticker
./query_db.py sentiment               # tutte le analisi sentiment
./query_db.py sentiment     ORCL       # sentiment per ticker
./query_db.py recommendations         # tutte le raccomandazioni
./query_db.py recommendations ORCL    # raccomandazioni per ticker
💾 Backup
backup.sh
./backup.sh                            # backup in backups/ (default)
./backup.sh /Volumes/Esterno/backups   # backup su percorso personalizzato
Esclude automaticamente: venv/, .git/, data/*.db, logs/, __pycache__/. Mostra a fine esecuzione gli ultimi 5 backup disponibili.
⚙️ Configurazione rapida
File principali
nano config.json   # watchlist, soglie scoring, provider, intervalli
nano .env           # API keys e credenziali (mai su git)
Chiave config.jsonDefaultDescrizione
sentiment_analysis.provideropenaiAlgoritmo: openai / finbert / hybrid
sentiment_analysis.hybrid_gpt_threshold0.80Confidence FinBERT sotto cui si chiama GPT
sentiment_analysis.threshold_buy0.70Score minimo per segnale BUY
sentiment_analysis.threshold_sell-0.50Score massimo per segnale SELL
agent.check_interval_minutes5Frequenza ciclo di analisi
watchlist.stocksarrayTicker da monitorare
notifications.languageitLingua risposte GPT: it / en
🧠 Cambia provider sentiment
Da terminale (senza aprire il file)
# Solo OpenAI GPT (default)
sed -i 's/"provider": ".*"/"provider": "openai"/' config.json

# Solo FinBERT locale (zero costo API)
sed -i 's/"provider": ".*"/"provider": "finbert"/' config.json

# Hybrid: FinBERT + GPT se confidence < 0.80
sed -i 's/"provider": ".*"/"provider": "hybrid"/' config.json

# Poi riavvia il servizio
sudo systemctl restart financial-agent
🔌 Endpoint REST
Base URL locale: http://localhost:8000 — VPS: http://204.216.210.168:8000
MetodoEndpointDescrizione
GET/Dashboard HTML
GET/how-it-worksSpiegazione pipeline di scoring
GET/api/statsStatistiche DB (contatori per tabella)
GET/api/tickersLista ticker presenti nel DB
GET/api/configConfig pubblica (watchlist, modello, lingua)
GET/api/watchlistWatchlist con segnale e stato analisi
POST/api/watchlist/addAggiunge ticker {"ticker":"AAPL"}
POST/api/watchlist/analyse/{ticker}Avvia analisi background
GET/api/watchlist/status/{ticker}Stato analisi (polling)
DELETE/api/watchlist/remove/{ticker}Rimuove ticker dalla watchlist
GET/api/recommendations?ticker=&days=Raccomandazioni filtrate
GET/api/recommendations/latestUltima raccomandazione per ticker
GET/api/news?ticker=&days=&limit=News con sentiment e provider
GET/api/sentiment/history?ticker=&days=Storico score sentiment
GET/api/indicators/history?ticker=&days=Prezzo, RSI 14, OBV
DELETE/api/data/ticker/{ticker}Cancella dati di un ticker
DELETE/api/data/allSvuota tutto il DB