Коротко: одна HTML-сторінка з моніторингом споживання ресурсів AI-агентами на AG Dev Hub. Статус: Phase 1 MVP live з 2026-04-20. URL: http://31.131.26.203/dashboard/
resource-dashboard.service (uvicorn :8770) + resource-dashboard-refresh.timer (кожні 15 хв)/etc/caddy/conf.d/resource-dashboard.caddy → /dashboard/*/var/log/resource-dashboard/{app,refresh}.log/srv/services/resource-dashboard/
├── app.py # FastAPI, routes: /, /api/snapshot, /healthz
├── refresh.py # cron entrypoint
├── db.py # SQLite schema + helpers
├── collectors/
│ ├── common.py
│ ├── replicate.py # ЖИВИЙ: predictions 30d + GPU-sec
│ ├── telegram.py # ЖИВИЙ: getMe × 4 bots
│ ├── github.py # ЖИВИЙ: rate_limit + PAT countdown
│ ├── supabase.py # ЖИВИЙ: REST ping
│ ├── system.py # ЖИВИЙ: CPU/RAM/disk/net/uptime/top-procs (psutil)
│ └── security.py # ЖИВИЙ: SSH failures, fail2ban, UFW, ss -tulnp, certs
├── templates/dashboard.html
├── static/style.css # OKLCH palette, dark mode, responsive
├── data.db # SQLite
└── README.md
system_snapshots(ts, cpu_pct, load_1m, mem_used_pct, disk_root_used_pct, net_rx_mbps, net_tx_mbps) авто-тримає 24h для тренду.sk-ant-admin…) — Claude Console → Settings → Admin Keys. → покладе /srv/passepartout/anthropic/admin.key.roles/billing.viewer + BigQuery Billing Export (corp + personal окремо).Повний discovery: /srv/reports/resource-dashboard-discovery.md
/srv/passepartout/ на льоту.systemctl status resource-dashboard resource-dashboard-refresh.timer
systemctl start resource-dashboard-refresh.service # manual refresh
tail -f /var/log/resource-dashboard/refresh.log
curl http://127.0.0.1/dashboard/api/snapshot | jq