Spaces:
Running
Running
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) { }
|