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 helt kan tillgodose. Det planerade pluginsystemet kommer att möjliggöra för utvecklare att utöka widgetens funktionalitet med anpassade funktioner — utan att dela koden eller förlora uppgraderingsvägar.
Standardwidgets kan inte förutsäga varje affärskrav. Du kanske behöver:
Plugins registreras under widgetinitialisering och får återkoppling vid viktiga livscykelögonblick:
onBeforeMessageSend — förbehandla användarmeddelanden innan de skickas till backendonAfterMessageReceive — efterbehandla AI-svar innan renderingonConversationStart — initiera pluginstatus när konversationen börjaronConversationEnd — städa 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
- Förtalfilter 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)
- Efterlevnadsfilter (redigera 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;
}
}
});