Spaces:
Configuration error
ChargeNode Migration - Daglig Rapport till Slack
Denna Hugging Face Space kör automatiskt en daglig rapport kl 09:00 svensk tid och postar till Slack-kanalen #ai-chat.
📊 Vad rapporten innehåller
👥 Inloggningsstatistik
- Antal unika företag som loggat in senaste 24h
- Antal unika företag som loggat in senaste 3 dagar
- Antal unika företag som loggat in senaste 7 dagar
- Lista över vilka företag som loggat in
✏️ Uppdateringsstatistik
- Excel-uppladdningar: Antal företag som laddat upp Excel senaste 24h och 7 dagar
- Manuella ändringar: Antal editeringar i datamatrisen senaste 24h och 7 dagar
- Lista över företag som använt respektive metod
📋 Kompletteringsstatus
- Totalt antal företag
- Antal som fyllt i all obligatorisk data
- Kompletteringsgrad i procent
- Vilka fält som saknas mest
🚀 Setup-instruktioner för Hugging Face
Steg 1: Skapa ett nytt Space
- Gå till Hugging Face
- Klicka på din profil → New Space
- Namnge Space:n:
migration-daily-reporter(eller valfritt namn) - Space SDK: Gradio
- Välj: Public eller Private (beroende på om du vill att den ska vara synlig)
- Klicka Create Space
Steg 2: Ladda upp filer
Ladda upp följande filer till ditt Space:
app.py(huvudapplikationen)requirements.txt(Python-paket)README.md(denna fil)
Steg 3: Konfigurera Secrets
Gå till Settings → Repository secrets och lägg till följande secrets:
1. GOOGLE_CREDENTIALS
Detta är din Google Service Account JSON-fil som du använder i din Data Manager.
{
"type": "service_account",
"project_id": "ditt-project-id",
"private_key_id": "...",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
"client_email": "...",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "..."
}
OBS: Kopiera hela JSON-innehållet från din service account-fil.
2. SLACK_WEBHOOK_URL
Din Slack Webhook URL för #ai-chat kanalen.
Du bör kunna använda samma webhook som i din befintliga chatbot-app. Den ser ut så här:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXX
Hitta din webhook:
- Gå till din befintliga Chatbot Space på Hugging Face
- Settings → Repository secrets
- Kopiera värdet från
SLACK_WEBHOOK_URL - Klistra in samma värde här
Steg 4: Starta Space:n
- Efter att du lagt till alla secrets, klicka på Factory reboot i Settings
- Space:n kommer att starta och bygga miljön
- Efter ~2-3 minuter bör du se Gradio-interfacet
- Klicka på "Kör rapport manuellt (test)" för att verifiera att allt fungerar
Steg 5: Verifiera
Du bör nu:
- Se ett meddelande i Slack-kanalen #ai-chat med dagens rapport
- Se "✅ Rapport skickad till Slack!" i Gradio-interfacet
⏰ Schemaläggning
Applikationen använder Python schedule-biblioteket för att köra rapporten:
- Daglig körning: Varje dag kl 09:00 svensk tid (Europe/Stockholm)
- Automatisk: Ingen manual åtgärd krävs
- Timezone-aware: Hanterar automatiskt sommar/vintertid
Nästa körning visas i Gradio-interfacet längst ner.
🔧 Felsökning
Rapporten skickas inte till Slack
- Kontrollera: Att
SLACK_WEBHOOK_URLär korrekt inställd - Testa: Klicka på "Kör rapport manuellt" för att se felmeddelanden
- Loggar: Kolla Logs-fliken i Hugging Face Space:n
Kan inte ansluta till Google Sheets
- Kontrollera: Att
GOOGLE_CREDENTIALSinnehåller en giltig JSON - Verifiera: Att service account har tillgång till "Omrade_updater" sheetet
- Dela: Sheetet med service account email (hittas i JSON:en under
client_email)
Space:n sover/stängs av
Hugging Face Spaces på gratis-tier kan sova efter inaktivitet. För att hålla den aktiv:
- Uppgradera till Pro: Garanterar att Space:n alltid är aktiv
- Alternativt: Sätt upp en extern "ping" som besöker Space:n regelbundet
Fel tidszon
Applikationen använder Europe/Stockholm (svensk tid). Om tiden är fel:
- Kontrollera att du inte har ändrat tidszon i koden
- Hugging Face-servrar kör UTC, men koden konverterar automatiskt
📝 Anpassning
Ändra schematid
I app.py, ändra raden:
schedule.every().day.at("09:00").do(generate_daily_report)
Till exempel för 08:00:
schedule.every().day.at("08:00").do(generate_daily_report)
Lägg till fler rapporttider
schedule.every().day.at("09:00").do(generate_daily_report)
schedule.every().day.at("17:00").do(generate_daily_report) # Kvällsrapport
Ändra Slack-kanal
Om du vill skicka till en annan Slack-kanal:
- Skapa en ny Incoming Webhook i Slack för den kanalen
- Uppdatera
SLACK_WEBHOOK_URLsecreten med den nya webhook-URL:en
🎯 Teknisk information
Språk: Python 3.10+
Framework: Gradio (för UI), Schedule (för schemaläggning)
APIs: Google Sheets API, Slack Webhooks
Tidszon: Europe/Stockholm (CET/CEST)
Dataflöde:
- Scheduler triggar
generate_daily_report()kl 09:00 - Ansluter till Google Sheets via service account
- Läser data från "Sheet1" och "Omrade_updater_LOGS"
- Beräknar metrics baserat på loggdata
- Formaterar och skickar till Slack via webhook
📞 Support
Vid problem, kontakta:
- Email: migration@chargenode.eu
- Slack: #ai-chat eller #tech-support
Skapad: 2025-01-29
Version: 1.0
Författare: ChargeNode Tech Team