Den separata bakgrundsprocessen som tänker åt dig medan du sover.
AmberInsights är en egen Kestrel-process som kör parallellt med Amber själv. Den schemaläggs att vakna under natten, hämtar siffrorna från Amber:s REST-API, kör AI-genereringen, skickar mailen. När du börjar arbeta på morgonen är insikterna redan i din inkorg.
Separerad från huvudsystemet
Att processen är fristående från Amber har flera fördelar:
- Stabilitet — om Amber startar om för uppgradering påverkas inte schemalagda mail
- Skalning — kan köras på egen hårdvara om belastningen växer
- Säkerhet — har inte direkt databasaccess; allt går via Amber:s API
- Återstart — kan startas om utan att påverka användare i Amber
Vad den gör
| Tidpunkt | Uppgift |
|---|---|
| 03:00 | Hämtar gårdagens data, kör anomaliberäkningar |
| 05:30 | Bygger statusmail för varje bolag och mottagare |
| 06:00 | Skickar statusmail via SMTP |
| Måndagar 07:00 | Skickar jaktlistor till attestanterna |
| På begäran | --run-now triggar omedelbar körning, t.ex. för testning |
REST-API mot Amber
Kommunikation går via HTTPS mot amberekonomi.se/api/insights/*:
/api/insights/statusrapport— siffror för dagens statusmail/api/insights/jaktlista— fakturor per attestant/api/insights/anomalier— nya avvikelser sedan senast/api/insights/gdpr— nya GDPR-fynd
Allt cachas i Amber så API:t inte tär på huvudsystemet.
AI-generering
För texten i statusmailets sammanfattningssektion anropas en LLM (typiskt OpenAI). Prompten innehåller dagens nyckeltal — modellen formulerar dem i naturligt språk: “Idag är 3 leverantörsfakturor förfallna med totalt 145 000 kr. En av dessa har legat över 30 dagar…”
Vid AI-fel används en fallback-template — mailet blir mer mekaniskt men kommer fram.
Konfiguration som code
Sökvägen till Amber, SMTP-uppgifter, AI-nyckel — allt ligger i konfig på AmberInsights-servern. Inga inställningar i Amber-databasen. Det innebär att produktion och utveckling kan ha separata Insights-tjänster utan att blanda.