feat: enrich insights cards, add AI chatbot

Add 3 new data-driven insight cards (daily cases, district risk
comparison, weather impact) with real parquet data. Fix season
card to use current date instead of data date. Expand to 11 cards.

Add POST /api/chat endpoint proxying to ai.2890.ltd with JWT auth.
Create ChatBot frontend component with collapsible chat panel,
message bubbles, and auto-scroll. Chat API key stored in .env only.

Clean up duplicate typing imports in insights.py, export cachedPost.
This commit is contained in:
2026-06-05 03:10:28 +08:00
parent 58a6df0e06
commit cb0f6cf7f6
8 changed files with 585 additions and 22 deletions

View File

@@ -13,7 +13,7 @@ from logging_config import setup_logging
from middleware.request_logger import RequestLoggerMiddleware
from auth.router import router as auth_router
from auth.service import seed_default_admin
from routers import risk, alerts, analysis, insights, reports, cases, geocoded, grid
from routers import risk, alerts, analysis, insights, reports, cases, geocoded, grid, chat
setup_logging()
@@ -57,6 +57,7 @@ app.include_router(reports.router)
app.include_router(cases.router)
app.include_router(geocoded.router)
app.include_router(grid.router)
app.include_router(chat.router)
@app.get("/")