feat(dashboard): session cleaner intégré + auth + nettoyage UI
- Onglet "🧹 Nettoyage" dans le dashboard (iframe vers port 5006) - Indicateur d'état + bouton de démarrage si cleaner down - Service systemd rpa-session-cleaner intégré au target rpa-vision - svc.sh et services.conf incluent session-cleaner (port 5006) P0-A — Auth dashboard Flask : - HTTP Basic obligatoire sur tous les endpoints (sauf /health, /healthz) - Credentials via DASHBOARD_USER + DASHBOARD_PASSWORD - 13 tests Nettoyage UI : - Section "Détection Visuelle" OWL retirée (modèle remplacé par pipeline VLM) - Dashboard préfère auto shot_*_blurred.png (avec ?raw=1 pour brut) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
24
svc.sh
24
svc.sh
@@ -56,6 +56,7 @@ declare -A PORTS=(
|
||||
[streaming]=5005
|
||||
[worker]=5099
|
||||
[vwb-frontend]=3002
|
||||
[session-cleaner]=5006
|
||||
)
|
||||
|
||||
# Mapping nom court -> nom service systemd
|
||||
@@ -66,13 +67,14 @@ declare -A SYSTEMD_UNITS=(
|
||||
[streaming]="rpa-streaming.service"
|
||||
[worker]="rpa-worker.service"
|
||||
[vwb-frontend]="rpa-vwb-frontend.service"
|
||||
[session-cleaner]="rpa-session-cleaner.service"
|
||||
)
|
||||
|
||||
# Services gérés par systemd (ceux qui ont un .service)
|
||||
SYSTEMD_SERVICES="streaming worker agent-chat dashboard vwb-backend vwb-frontend"
|
||||
SYSTEMD_SERVICES="streaming worker agent-chat dashboard vwb-backend vwb-frontend session-cleaner"
|
||||
|
||||
# Tous les services connus
|
||||
ALL_SERVICES="api dashboard vwb-backend monitoring agent-chat streaming worker vwb-frontend"
|
||||
ALL_SERVICES="api dashboard vwb-backend monitoring agent-chat streaming worker vwb-frontend session-cleaner"
|
||||
|
||||
declare -A COMMANDS=(
|
||||
[api]="$VENV_DIR/bin/python3 server/api_upload.py"
|
||||
@@ -83,14 +85,15 @@ declare -A COMMANDS=(
|
||||
[streaming]="$VENV_DIR/bin/python3 -m agent_v0.server_v1.api_stream"
|
||||
[worker]="$VENV_DIR/bin/python3 -m agent_v0.server_v1.run_worker"
|
||||
[vwb-frontend]="cd $SCRIPT_DIR/visual_workflow_builder/frontend_v4 && npm run dev"
|
||||
[session-cleaner]="$VENV_DIR/bin/python3 tools/session_cleaner.py"
|
||||
)
|
||||
|
||||
# Groupes de services
|
||||
declare -A SVC_GROUPS=(
|
||||
[vwb]="vwb-backend vwb-frontend"
|
||||
[all]="api dashboard vwb-backend vwb-frontend"
|
||||
[full]="api dashboard vwb-backend vwb-frontend monitoring agent-chat streaming worker"
|
||||
[boot]="streaming worker agent-chat dashboard vwb-backend vwb-frontend"
|
||||
[full]="api dashboard vwb-backend vwb-frontend monitoring agent-chat streaming worker session-cleaner"
|
||||
[boot]="streaming worker agent-chat dashboard vwb-backend vwb-frontend session-cleaner"
|
||||
)
|
||||
|
||||
# =============================================================================
|
||||
@@ -353,7 +356,7 @@ do_install() {
|
||||
|
||||
# Vérifier que les fichiers existent
|
||||
local missing=false
|
||||
for unit in rpa-streaming.service rpa-worker.service rpa-agent-chat.service rpa-dashboard.service rpa-vwb-backend.service rpa-vwb-frontend.service rpa-vision.target; do
|
||||
for unit in rpa-streaming.service rpa-worker.service rpa-agent-chat.service rpa-dashboard.service rpa-vwb-backend.service rpa-vwb-frontend.service rpa-session-cleaner.service rpa-vision.target; do
|
||||
if [ -f "$SYSTEMD_DIR/$unit" ]; then
|
||||
echo -e " ${GREEN}OK${NC} $unit"
|
||||
else
|
||||
@@ -397,7 +400,7 @@ do_enable() {
|
||||
echo -e "${CYAN}${BOLD}Activation du demarrage automatique au boot...${NC}"
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable rpa-vision.target
|
||||
for unit in rpa-streaming.service rpa-worker.service rpa-agent-chat.service rpa-dashboard.service rpa-vwb-backend.service rpa-vwb-frontend.service; do
|
||||
for unit in rpa-streaming.service rpa-worker.service rpa-agent-chat.service rpa-dashboard.service rpa-vwb-backend.service rpa-vwb-frontend.service rpa-session-cleaner.service; do
|
||||
systemctl --user enable "$unit" 2>/dev/null
|
||||
echo -e " ${GREEN}OK${NC} $unit"
|
||||
done
|
||||
@@ -408,7 +411,7 @@ do_enable() {
|
||||
do_disable() {
|
||||
echo -e "${YELLOW}${BOLD}Desactivation du demarrage automatique...${NC}"
|
||||
systemctl --user disable rpa-vision.target 2>/dev/null || true
|
||||
for unit in rpa-streaming.service rpa-worker.service rpa-agent-chat.service rpa-dashboard.service rpa-vwb-backend.service rpa-vwb-frontend.service; do
|
||||
for unit in rpa-streaming.service rpa-worker.service rpa-agent-chat.service rpa-dashboard.service rpa-vwb-backend.service rpa-vwb-frontend.service rpa-session-cleaner.service; do
|
||||
systemctl --user disable "$unit" 2>/dev/null || true
|
||||
echo -e " ${GREEN}OK${NC} $unit"
|
||||
done
|
||||
@@ -438,11 +441,12 @@ show_help() {
|
||||
echo " dashboard Web Dashboard (port 5001)"
|
||||
echo " vwb-backend VWB Backend Flask (port 5002)"
|
||||
echo " vwb-frontend VWB Frontend Vite (port 3002)"
|
||||
echo " session-cleaner Session Cleaner (port 5006)"
|
||||
echo " api API Server (port 8000) [legacy uniquement]"
|
||||
echo " monitoring Monitoring (port 5003) [legacy uniquement]"
|
||||
echo ""
|
||||
echo -e "${BOLD}Groupes:${NC}"
|
||||
echo " boot Services systemd (streaming, worker, chat, dashboard, vwb)"
|
||||
echo " boot Services systemd (streaming, worker, chat, dashboard, vwb, session-cleaner)"
|
||||
echo " vwb VWB backend + frontend"
|
||||
echo " all Core (api, dashboard, vwb)"
|
||||
echo " full Tous les services"
|
||||
@@ -451,8 +455,8 @@ show_help() {
|
||||
echo " --legacy Forcer le mode legacy (PID files au lieu de systemd)"
|
||||
echo ""
|
||||
echo -e "${BOLD}Exemples:${NC}"
|
||||
echo " $0 start boot # Demarrer les 5 services systemd"
|
||||
echo " $0 stop boot # Arreter les 5 services systemd"
|
||||
echo " $0 start boot # Demarrer les services systemd"
|
||||
echo " $0 stop boot # Arreter les services systemd"
|
||||
echo " $0 restart streaming # Redemarrer le streaming server"
|
||||
echo " $0 logs streaming -f # Suivre les logs du streaming"
|
||||
echo " $0 status # Voir l'etat de tout"
|
||||
|
||||
Reference in New Issue
Block a user