Spaces:
Running
Running
File size: 1,463 Bytes
ce72224 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | /**
* 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
}
|