Skip to main content

.MSG

Steuert den Nachrichtenaustausch zwischen Nutzer und Bot (RAGAI.MSG).

Hintergrund

Zwei Achsen bestimmen das Verhalten jeder Methode:

  • Sichtbarkeit: prompt()/userMessage()/botMessage() erscheinen im Chatverlauf; userBypass()/botBypass() landen unsichtbar im Thread-Kontext (die KI "sieht" sie, der Nutzer nicht) - nützlich, um der KI zusätzlichen Kontext mitzugeben, ohne den sichtbaren Chat zu verändern.
  • Run-Auslösung: Nur prompt() löst einen vollständigen KI-Antwort-Run aus. Alle anderen Methoden fügen Nachrichten nur zum Verlauf hinzu, ohne dass der Bot antwortet.

prompt() und userMessage() laufen durch alle registrierten RAGAI.BEFORE_SEND-Hooks (siehe MsgProcessingService), bevor die Nachricht tatsächlich verarbeitet wird - ein Hook kann den Text ändern oder das Senden per null-Rückgabe komplett unterdrücken.

Events

onBotToUser

Feuert mit dem Bot-Text, sobald eine Bot-Nachricht in den Chatverlauf eingefügt wird.

RAGAI.MSG.onBotToUser.subscribe((value) => {
console.log(value);
});

onUserToBot

Feuert mit dem Nutzer-Text, sobald eine Nutzer-Nachricht in den Chatverlauf eingefügt wird.

RAGAI.MSG.onUserToBot.subscribe((value) => {
console.log(value);
});

userMessageEmitter

Feuert mit dem Nutzer-Text, sobald userMessage() aufgerufen wird.

RAGAI.MSG.userMessageEmitter.subscribe((value) => {
console.log(value);
});

runCompleteEmitter

Feuert, sobald ein durch prompt() ausgelöster KI-Antwort-Run abgeschlossen ist.

RAGAI.MSG.runCompleteEmitter.subscribe((value) => {
console.log(value);
});

runRequestEmitter

Feuert mit dem Prompt-Text, sobald prompt() einen KI-Antwort-Run auslöst.

RAGAI.MSG.runRequestEmitter.subscribe((value) => {
console.log(value);
});

Methoden

.prompt(text)

Sendet einen Text als Nutzereingabe an den Bot und löst einen vollständigen Antwort-Run aus.

ParameterTypBeschreibung
textstring | z.input<typeof msgTextSchema>Der zu sendende Text, oder ein Objekt gemäß msgTextSchema.

Objekt-Form (validiert über msgTextSchema):

FeldTypPflichtBeschreibung
textstringDer Text, der an den Bot gesendet bzw. angezeigt wird.

Rückgabewert: void

.userMessage(text)

Fügt eine sichtbare Nutzer-Nachricht zum Chatverlauf hinzu, ohne eine Bot-Antwort auszulösen.

ParameterTypBeschreibung
textstring | z.input<typeof msgTextSchema>Der anzuzeigende Text, oder ein Objekt gemäß msgTextSchema.

Objekt-Form (validiert über msgTextSchema):

FeldTypPflichtBeschreibung
textstringDer Text, der an den Bot gesendet bzw. angezeigt wird.

Rückgabewert: void

.botBypass(text)

Sendet eine Nachricht direkt als Bot in den Thread, ohne einen KI-Antwort-Run auszulösen (Bypass-Modus).

ParameterTypBeschreibung
textstring | z.input<typeof msgTextSchema>Der Nachrichtentext, oder ein Objekt gemäß msgTextSchema.

Objekt-Form (validiert über msgTextSchema):

FeldTypPflichtBeschreibung
textstringDer Text, der an den Bot gesendet bzw. angezeigt wird.

Rückgabewert: Promise<HistoryItemResponse[]>

Die gespeicherten Verlaufsnachrichten.

.userBypass(text)

Sendet eine Nachricht direkt als Nutzer in den Thread, ohne einen KI-Antwort-Run auszulösen (Bypass-Modus).

ParameterTypBeschreibung
textstring | z.input<typeof msgTextSchema>Der Nachrichtentext, oder ein Objekt gemäß msgTextSchema.

Objekt-Form (validiert über msgTextSchema):

FeldTypPflichtBeschreibung
textstringDer Text, der an den Bot gesendet bzw. angezeigt wird.

Rückgabewert: Promise<HistoryItemResponse>

Die gespeicherte Verlaufsnachricht.

.overwriteSystemPrompt(prompt)

Überschreibt den Systemprompt des Bots für die aktuelle Sitzung.

ParameterTypBeschreibung
promptstring | z.input<typeof msgPromptSchema>Der neue Systemprompt, oder ein Objekt gemäß msgPromptSchema.

Objekt-Form (validiert über msgPromptSchema):

FeldTypPflichtBeschreibung
promptstringDer neue Systemprompt für die aktuelle Sitzung.

Rückgabewert: Promise<void>

Nichts.

.overwriteWebsearchEnabled(enabled)

Aktiviert oder deaktiviert die Websuche des Bots für die aktuelle Sitzung.

ParameterTypBeschreibung
enabledboolean | z.input<typeof msgWebsearchSchema>true aktiviert die Websuche, oder ein Objekt gemäß msgWebsearchSchema.

Objekt-Form (validiert über msgWebsearchSchema):

FeldTypPflichtBeschreibung
enabledbooleantrue aktiviert die Websuche, false deaktiviert sie.

Rückgabewert: Promise<void>

Nichts.

.botMessage(text)

Sendet eine Bot-Nachricht inklusive Sprachausgabe (bei Audio-/Avatar-Modus).

ParameterTypBeschreibung
textstring | z.input<typeof msgTextSchema>Der Nachrichtentext, oder ein Objekt gemäß msgTextSchema.

Objekt-Form (validiert über msgTextSchema):

FeldTypPflichtBeschreibung
textstringDer Text, der an den Bot gesendet bzw. angezeigt wird.

Rückgabewert: Promise<HistoryItemResponse | undefined>

Die gespeicherte Verlaufsnachricht.

.userMessageDirect(text)

Fügt eine normale (nicht-bypass) Nutzer-Nachricht direkt in den Thread ein, ohne dafür eine reguläre KI-Chat-Anfrage auszulösen (kein Aufruf von prompt() oder userMessage(), welche den normalen Sende-Flow erneut anstoßen würden). Wird z.B. vom Freitext-Quiz genutzt, um die vom Nutzer eingegebene Antwort sichtbar im Verlauf zu protokollieren.

ParameterTypBeschreibung
textstring | z.input<typeof msgTextSchema>Der zu protokollierende Nutzertext, oder ein Objekt gemäß msgTextSchema.

Objekt-Form (validiert über msgTextSchema):

FeldTypPflichtBeschreibung
textstringDer Text, der an den Bot gesendet bzw. angezeigt wird.

Rückgabewert: Promise<HistoryItemResponse | undefined>

Die gespeicherte Verlaufsnachricht.