/** * Example Plugin: Analytics * * Dieses Plugin tracked User-Behavior und sammelt Stats */ const analytics = { sessionStart: null, messagesCount: 0, totalTokens: 0, totalTime: 0, averageResponseTime: 0, messageHistory: [], } export function onPluginInit(context) { analytics.sessionStart = new Date() context.log('📊 Analytics Plugin started') context.log(`Session ID: ${analytics.sessionStart.getTime()}`) } export function onMessageSent(context, { message, systemPrompt }) { analytics.messagesCount++ analytics.messageHistory.push({ type: 'user', content: message, timestamp: new Date(), }) context.log(`Message #${analytics.messagesCount}`) } export function onResponseReceived(context, { content, stats }) { analytics.totalTokens += stats.tokens analytics.totalTime += stats.time analytics.averageResponseTime = analytics.totalTime / analytics.messagesCount analytics.messageHistory.push({ type: 'assistant', content: content.substring(0, 100), timestamp: new Date(), tokens: stats.tokens, responseTime: stats.time, }) context.log(`📈 Stats:`) context.log(` Messages: ${analytics.messagesCount}`) context.log(` Total Tokens: ${analytics.totalTokens}`) context.log(` Avg Time: ${analytics.averageResponseTime.toFixed(2)}s`) // Mache diese Daten global verfügbar window.analytics = analytics }