File size: 2,111 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
55
56
57
58
59
60
61
62
63
64
65
/**

 * Example Plugin: Logger

 * 

 * Dieses Plugin zeigt, wie man ein einfaches Plugin schreibt

 * das Messages und Responses logt.

 * 

 * Um Plugins zu schreiben:

 * 1. Neue JS-Datei im /plugins Ordner erstellen

 * 2. Export der Hook-Funktionen (onPluginInit, onMessageSent, etc.)

 * 3. Plugin wird automatisch geladen!

 */

// Wird aufgerufen, wenn das Plugin initialisiert wird
export function onPluginInit(context) {
  context.log('Example Logger Plugin initialized! 📝')
  
  // Du kannst hier verschiedene Dinge machen:
  // - State speichern
  // - Event Listener registrieren
  // - Daten fetchen
  
  // Beispiel: Speichere Session-Start
  window.pluginState = window.pluginState || {}
  window.pluginState.sessionStart = new Date()
  window.pluginState.messageCount = 0
  
  context.log(`Session started at: ${window.pluginState.sessionStart}`)
}

// Wird aufgerufen, wenn der Benutzer eine Nachricht sendet
export function onMessageSent(context, detail) {
  const { message, systemPrompt } = detail
  
  window.pluginState.messageCount++
  
  context.log(`📤 Message #${window.pluginState.messageCount}: "${message.substring(0, 50)}..."`)
  
  // Beispiele für weitere Dinge, die man hier machen könnte:
  // - Analytics tracken
  // - Nachricht validieren
  // - Benutzerdaten speichern
  // - API calls machen
}

// Wird aufgerufen, wenn eine Antwort vom Model einkommt
export function onResponseReceived(context, detail) {
  const { content, stats } = detail
  
  context.log(`📥 Response received:`)
  context.log(`   - Length: ${content.length} characters`)
  context.log(`   - Tokens: ${stats.tokens}`)
  context.log(`   - Time: ${stats.time}s`)
  
  // Beispiele für weitere Dinge:
  // - Response analysieren
  // - Sentiment analysieren
  // - Qualität prüfen
  // - In Datenbank speichern
}

// Optional: Weitere Hook-Funktionen die du definieren kannst:
// export function onError(context, error) { }
// export function onModelLoaded(context, model) { }
// export function onSettingsChanged(context, settings) { }