synops/docs/oppdrag/admin-komplett.md
vegard ea7926555c To hovedoppdrag: komplett synops-agent + komplett admin-panel
synops-agent: 8 faser fra robustgjøring til daemon/vaktmester.
Admin-panel: nøkkelhåndtering, AI-ruting, oppgaver, agent-oversikt,
brukeradmin. Bygger på eksisterende sider + alt vi har diskutert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 17:55:00 +00:00

111 lines
3.4 KiB
Markdown

# Oppdrag: Komplett admin-panel
Samle all administrasjon i et helhetlig admin-panel som dekker
alt vi har diskutert: nøkler, AI-ruting, oppgaver, overvåking.
## Eksisterende admin-sider
Disse finnes allerede under /admin/*:
- `/admin` — oversikt
- `/admin/ai` — AI Gateway-konfigurasjon
- `/admin/health` — serverhelse
- `/admin/jobs` — jobbkø
- `/admin/podcast-import` — podcast-import
- `/admin/podcast-stats` — nedlastingsstatistikk
- `/admin/usage` — ressursforbruk
- `/admin/webhooks` — webhook-admin
## Nye admin-sider
### API-nøkler (`/admin/keys`)
Ref: `docs/infra/nøkkelhåndtering.md`
- [ ] Nøkkelliste med provider, label, status, sist brukt
- [ ] Legg til nøkkel (med test-tilkobling)
- [ ] Deaktiver/slett nøkkel
- [ ] Hint-visning (aldri full nøkkel etter lagring)
- [ ] Backend: api_keys-tabell i PG, AES-256-GCM kryptering
### AI-ruting (`/admin/ai` — utvid eksisterende)
- [ ] Rediger ai_job_routing direkte i UI (ikke bare visning)
- [ ] Fire nivåer: synops/low, synops/medium, synops/high, synops/extreme
- [ ] Per-nivå: velg modell + provider fra dropdown
- [ ] Fallback-kjeder: "hvis denne feiler, prøv denne"
- [ ] Test-knapp per nivå ("send test-prompt")
- [ ] Kostnadsestimat per nivå (basert på token-pris)
### Oppgaver (`/admin/tasks`)
Ref: `docs/infra/oppgaver.md`
- [ ] Tre faner: Proposals | Oppdrag | Tasks
- [ ] Opprett ny proposal/oppdrag/task
- [ ] Drag-and-drop for prioritetsendring
- [ ] Status-endring (pause, gjenoppta, blokker)
- [ ] Klikk → detaljer + tilknyttet chat
- [ ] "Godkjenn proposal" → opprett oppdrag
- [ ] Vis hvem/hva som jobber på en oppgave
- [ ] Krasj-deteksjon: vis stale tasks
### Agent-oversikt (`/admin/agents`)
- [ ] Liste over aktive synops-agent-instanser
- [ ] Per agent: modell, oppgave, token-forbruk, varighet
- [ ] Stopp/restart agent
- [ ] Historikk: siste kjøringer med resultat
- [ ] Claude Code-sesjoner (aktive, nylige)
### Brukeradministrasjon (`/admin/users`)
- [ ] Liste over brukere (person-noder)
- [ ] Roller per samling
- [ ] AI-budsjett per bruker
- [ ] Siste aktivitet
- [ ] Deaktiver/aktiver bruker
### Systemvarsler (`/admin/announcements` — eksisterer delvis)
- [ ] Opprett systemvarsel (info/warning/critical)
- [ ] Planlagt vedlikehold med nedtelling
- [ ] Aktive varsler i frontend-banner
## Forbedringer av eksisterende sider
### Serverhelse (`/admin/health`)
- [ ] Legg til synops-agent status
- [ ] Vis disk-bruk for CAS
- [ ] Vis aktive WebSocket-tilkoblinger
- [ ] Vis LiteLLM-status (så lenge den lever)
### Ressursforbruk (`/admin/usage`)
- [ ] Legg til per-modell forbruk (fra agent token-regnskap)
- [ ] Trend-graf over tid
- [ ] Kostnadsestimat per modell
- [ ] Eksporter til CSV
### Jobbkø (`/admin/jobs`)
- [ ] Vis synops-agent-jobber i tillegg til maskinrommet-jobber
- [ ] Vis token-forbruk per jobb
- [ ] Koble jobb til oppgave-node
## Design-prinsipper
- Alle admin-sider bruker samme mørke tema som resten av appen
- Admin-ruter krever owner/admin-rolle
- Responsivt (mobil-brukbart for enkel overvåking)
- Sanntidsoppdatering via WebSocket der det gir mening
- Konsistent med resten av ContextHeader-opplevelsen
## Implementeringsrekkefølge
1. API-nøkler (fjerner .env-avhengighet, fundamentalt)
2. AI-ruting (utvid eksisterende, forhåndsvisning)
3. Oppgaver (grunnlag for synops-agent automatisering)
4. Agent-oversikt (overvåking når agent kjører)
5. Brukeradministrasjon
6. Forbedringer av eksisterende sider