'use client' import React, { useEffect, useState, useCallback } from 'react' import Link from 'next/link' interface AgentData { id: string name: string description: string color: string icon: string status: 'active' | 'inactive' | 'error' version: string stats: { sessionsToday: number avgResponseTime: string successRate: string } } interface AgentsResponse { agents: AgentData[] stats: { total: number active: number inactive: number error: number totalSessions: number avgResponseTime: string } timestamp: string } const ShieldIcon = () => ( ) const PencilIcon = () => ( ) function getAgentIcon(icon: string) { switch (icon) { case 'shield': return case 'pencil': return default: return } } function StatusBadge({ status }: { status: string }) { const colors = { active: 'bg-green-100 text-green-700', inactive: 'bg-gray-100 text-gray-600', error: 'bg-red-100 text-red-700', } const labels = { active: 'Aktiv', inactive: 'Inaktiv', error: 'Fehler' } return ( {labels[status as keyof typeof labels] || status} ) } export default function AgentsDashboardPage() { const [data, setData] = useState(null) const [loading, setLoading] = useState(true) const loadAgents = useCallback(async () => { try { const res = await fetch('/api/sdk/agents') if (res.ok) { setData(await res.json()) } } catch (err) { console.error('Failed to load agents:', err) } finally { setLoading(false) } }, []) useEffect(() => { loadAgents() const interval = setInterval(loadAgents, 30_000) return () => clearInterval(interval) }, [loadAgents]) if (loading) { return ( {[1, 2, 3].map(i => )} ) } const stats = data?.stats const agents = data?.agents || [] return ( {/* Header */} Compliance-Agenten Verwaltung und Konfiguration der KI-Agenten im Compliance SDK {/* Quick Links */} Architektur Sessions Statistiken Dokument-Generator {/* Stats Bar */} {stats?.total || 0} Agenten gesamt {stats?.active || 0} Aktiv {stats?.error || 0} Fehler {stats?.totalSessions || 0} Sessions heute {stats?.avgResponseTime || '—'} Avg. Antwortzeit 6 RAG-Sammlungen {/* Agent Grid */} {agents.map((agent) => ( {getAgentIcon(agent.icon)} {agent.name} v{agent.version} {agent.description} {agent.stats.sessionsToday} Sessions {agent.stats.avgResponseTime} Avg. Zeit {agent.stats.successRate} Erfolgsrate ))} ) }
Verwaltung und Konfiguration der KI-Agenten im Compliance SDK
{agent.description}