Det framtida pluginsystemet kommer att möjliggöra tredjepartsutvidgningar via livscykelhakar, anpassade renderare och åtgärdshanterare. Bygg sentimentanalys, CRM-integrationer, anpassad moderering — allt utan att modifiera kärnkoden. Sandlåda för säkerhet och stabilitet.
Varje företag har unika behov som generiska lösningar inte kan tillgodose fullt ut. Det planerade pluginsystemet kommer att möjliggöra för utvecklare att utöka widgetfunktionaliteten med anpassade funktioner — utan att dela koden eller förlora uppgraderingsvägar.
Standardwidgets kan inte förutsäga varje affärskrav. Du kan behöva:
Plugins registreras under widgetinitialisering och får återkopplingar vid viktiga livscykelögonblick:
onBeforeMessageSend — förbehandla användarmeddelanden innan de skickas till backendonAfterMessageReceive — efterbehandla AI-svar innan renderingonConversationStart — initiera pluginstatus när samtalet börjaronConversationEnd — städa upp resurser, logga analyseronWidgetOpen / onWidgetClose — spåra engagemang, utlösa sidoeffekteronError — anpassad felhantering eller rapporteringFörbehandlare modifierar användarmeddelanden innan de skickas:
- Stavningskontroll och automatisk korrigering
- Filtret för svordomar eller innehållsmoderering
- Datautvinning (detektera e-post, telefonnummer, order-ID)
- Sentimentdetektion
Efterbehandlare modifierar AI-svar innan rendering:
- Markdown-förbättring (konvertera tabeller till interaktiva komponenter)
- Länkberikning (förhandsgranska URL:er, avfölja metadata)
- Efterlevnadsfiltrering (radera PII, känsliga finansiella data)
Plugins kan inte kompromissa med widgetens säkerhet 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;
}
}
});