Web dashboard chỉ-đọc chạy TRÊN VPS khách, hiển thị trực quan: Hoạt động AI · Bộ khung khởi nghiệp (BMC) · Tiến độ học · Đội ngũ · KPI (placeholder). Companion view — Telegram vẫn là nơi điều khiển; dashboard chỉ để XEM.
static/{index.html, app.js, style.css} # SPA thuần (không build step, không CDN), tiếng Việt
api/server.py # stdlib http.server, BIND 127.0.0.1, read-only, basicauth
dashboard.service # systemd unit (cài bởi setup_dashboard.sh)
server.py chỉ bind 127.0.0.1 — public qua Caddy HTTPS (route /aios/*) hoặc SSH tunnel.hmac.compare_digest) — kể cả khi đi qua SSH tunnel
không có Caddy. Mật khẩu riêng DASH_PASSWORD (≠ 9ROUTER_PASSWORD)./api/health · /api/startup (startup_kit status) · /api/activity (summary+recent) ·
/api/team (projection users/_index.json) · /api/kpi (available:false cho tới khi có skill KPI).
server.py gọi lib CLI với cwd = products/ceo để _bundle_root trỏ đúng company_kb.
DASH_USER · DASH_PASS_HASH (sha256 hex) · DASH_PORT (mặc định 20129).
Bật theo flag dashboard: true trong tiers/starter_plus.yaml (Starter Plus trở lên). File ship
mọi gói nhưng chỉ setup_dashboard.sh kích hoạt khi flag bật.