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>
3.4 KiB
3.4 KiB
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
- API-nøkler (fjerner .env-avhengighet, fundamentalt)
- AI-ruting (utvid eksisterende, forhåndsvisning)
- Oppgaver (grunnlag for synops-agent automatisering)
- Agent-oversikt (overvåking når agent kjører)
- Brukeradministrasjon
- Forbedringer av eksisterende sider