k96beni's picture
Rename README (1).md to README.md
ace5736 verified
|
Raw
History Blame Contribute Delete
5.77 kB

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

  1. Gå till Hugging Face
  2. Klicka på din profil → New Space
  3. Namnge Space:n: migration-daily-reporter (eller valfritt namn)
  4. Space SDK: Gradio
  5. Välj: Public eller Private (beroende på om du vill att den ska vara synlig)
  6. 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 SettingsRepository 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:

  1. Gå till din befintliga Chatbot Space på Hugging Face
  2. Settings → Repository secrets
  3. Kopiera värdet från SLACK_WEBHOOK_URL
  4. Klistra in samma värde här

Steg 4: Starta Space:n

  1. Efter att du lagt till alla secrets, klicka på Factory reboot i Settings
  2. Space:n kommer att starta och bygga miljön
  3. Efter ~2-3 minuter bör du se Gradio-interfacet
  4. Klicka på "Kör rapport manuellt (test)" för att verifiera att allt fungerar

Steg 5: Verifiera

Du bör nu:

  1. Se ett meddelande i Slack-kanalen #ai-chat med dagens rapport
  2. 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_CREDENTIALS innehå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:

  1. Skapa en ny Incoming Webhook i Slack för den kanalen
  2. Uppdatera SLACK_WEBHOOK_URL secreten 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:

  1. Scheduler triggar generate_daily_report() kl 09:00
  2. Ansluter till Google Sheets via service account
  3. Läser data från "Sheet1" och "Omrade_updater_LOGS"
  4. Beräknar metrics baserat på loggdata
  5. Formaterar och skickar till Slack via webhook

📞 Support

Vid problem, kontakta:


Skapad: 2025-01-29
Version: 1.0
Författare: ChargeNode Tech Team