# OpenAI-forbrug og omkostninger ## Formål Tilbudsgivern viser lokalt registreret tokenforbrug og kan hente organisationsomkostninger, når en gyldig admin-nøgle er konfigureret. ## Konfiguration Sæt værdierne i `backend/.env` eller den godkendte serverkonfiguration: ```dotenv OPENAI_ADMIN_KEY=REPLACE_ME OPENAI_BUDGET_QUOTA_USD=0 ``` En værdi på `0` for budgetkvoten betyder, at der ikke håndhæves en lokal månedlig kvote. Hemmeligheder må aldrig skrives i dokumentation eller committes. ## Endpoints Routes findes i `backend/src/routes/quotes.js` og den samlede server: | Endpoint | Funktion | |---|---| | `GET /api/quotes/openai/stats` | Lokalt registreret token- og omkostningsforbrug | | `POST /api/quotes/openai/stats/update` | Forsøger at opdatere forbrugsdata | | `GET /api/quotes/openai/costs?daysBack=30` | Organisationsomkostninger for en periode | | `GET /api/quotes/openai/costs/breakdown` | Grupperet omkostningsfordeling | | `GET /api/quotes/openai/budget/status` | Lokal budgetstatus og advarselsniveau | ## Lokal kontrol ```bash curl http://localhost:4032/api/quotes/openai/stats curl http://localhost:4032/api/quotes/openai/costs?daysBack=7 curl http://localhost:4032/api/quotes/openai/budget/status ``` Uden `OPENAI_ADMIN_KEY` skal endpoints, der kræver organisationsdata, returnere en kontrolleret fejl uden at lække konfiguration. ## Vedligeholdelse - Brug data fra API-svaret som sandhedskilde for aktuelle omkostninger. - Undgå at gemme modelpriser i dokumentationen; priser og modeludvalg ændrer sig. - Kontrollér implementeringen i `backend/src/services/openaiService.js` og credential-håndteringen i `backend/src/utils/openaiCredentials.js`. - Log aldrig admin-nøgler eller komplette API-svar med følsomme metadata.