Det fremtidige pluginsystemet vil muliggjøre tredjepartsutvidelser via livssyklus-haker, tilpassede rendererere og handlingshåndterere. Bygg sentimentanalyse, CRM-integrasjoner, tilpasset moderering — alt uten å endre kjernkoden. Sandkasset for sikkerhet og stabilitet.
Hver bedrift har unike behov som generiske løsninger ikke kan dekke fullt ut. Det planlagte pluginsystemet vil gjøre det mulig for utviklere å utvide widgetens funksjonalitet med tilpassede kapabiliteter — uten å forgrene koden eller miste oppgraderingsveier.
Standardwidgeter kan ikke forutsi hvert forretningskrav. Du kan trenge:
Plugins registreres under widgetinitialisering og mottar tilbakemeldinger på nøkkel livssyklusøyeblikk:
onBeforeMessageSend — forbehandle brukermeldinger før sending til backendonAfterMessageReceive — etterbehandle AI-responser før gjengivelseonConversationStart — initialisere plugin-tilstand når samtalen begynneronConversationEnd — rydde opp ressurser, loggføre analyseronWidgetOpen / onWidgetClose — spore engasjement, utløse bivirkningeronError — tilpasset feilhåndtering eller rapporteringForbehandlere endrer brukermeldinger før sending:
- Stavekontroll og automatisk korrigering
- Banneordfilter eller innholdsmoderering
- Datautvinning (oppdage e-poster, telefonnumre, bestillings-ID-er)
- Sentimentdeteksjon
Etterbehandlere endrer AI-responser før gjengivelse:
- Markdown-forbedring (konvertere tabeller til interaktive komponenter)
- Lenkeberikelse (forhåndsvis URL-er, avvikling av metadata)
- Overholdelsesfiltrering (redigere PII, sensitiv finansiell data)
Plugins kan ikke kompromittere widgetens sikkerhet eller stabilitet:
WidgetSDK.registerPlugin({
name: 'sentiment-analyzer',
version: '1.0.0',
hooks: {
onBeforeMessageSend: async (message, context) => {
const sentiment = await analyzeSentiment(message.text);
return { ...message, metadata: { sentiment } };
},
onAfterMessageReceive: (message, context) => {
if (message.metadata?.sentiment < -0.5) {
context.escalateToHuman(message);
}
return message;
}
}
});