Dieses Repository enthält Code für die Bot Framework Web Chat-Komponente. Die Bot Framework Web Chat-Komponente ist ein hochgradig anpassbarer webbasierter Client für das Bot Framework v4 SDK. Mit dem Bot Framework SDK v4 können Entwickler Konversationen modellieren und anspruchsvolle Bot-Anwendungen erstellen.
Dieses Repository ist Teil des Microsoft Bot Framework – einem umfassenden Framework zum Aufbau von Konversations-KI-Erlebnissen der Enterprise-Klasse.
Web Chat unterstützt Content Security Policy (CSP). Webentwicklern wird empfohlen, CSP zu aktivieren, um die Sicherheit zu verbessern und Konversationen zu schützen. Weitere Informationen zu CSP finden Sie in diesem Artikel.
In diesem Abschnitt werden wichtige Versionshinweise aufgeführt. Weitere Informationen finden Sie unter den entsprechenden Links und im
CHANGELOG.md
Hinweise: Webentwicklern wird empfohlen, ~
(Tilde-Bereich) zu verwenden, um Nebenversionen auszuwählen, die neue Funktionen und/oder Korrekturen enthalten. Verwenden Sie ^
(Caret-Bereich), um Hauptversionen auszuwählen, die möglicherweise wichtige Änderungen enthalten.
In dieser Version konzentrieren wir uns auf Leistungsverbesserungen, einschließlich Speicher- und Ladezeitoptimierungen.
Bots können ihre Antworten jetzt per Livestream übertragen. Bevor das Bot Framework SDK diese Funktion unterstützt, können Bot-Autoren den Details in LIVESTREAMING.md folgen, um die Livestream-Antworten zu erstellen.
Web Chat wird jetzt als ES-Module (benannte Exporte) zusammen mit CommonJS (benannte und unbenannte Exporte) exportiert.
Endbenutzer können jetzt eine Nachricht hinzufügen und bestätigen, bevor sie ihre Datei in den Bot hochladen. Um die neue Erfahrung zu deaktivieren, übergeben Sie sendAttachmentOn: 'send'
in den Stiloptionen.
Wir freuen uns, die Unterstützung für Theme-Pakete anbieten zu können. Entwickler können jetzt alle ihre Anpassungen in einem einzigen Paket packen und in NPM veröffentlichen.
Wir freuen uns, Ihnen mitteilen zu können, dass das Fluent UI-Themenpaket in Arbeit ist und sich derzeit in der experimentellen Phase befindet. Dieses Themenpaket richtet sich an Webentwickler, die ihren Kunden ein natives Copilot-Benutzererlebnis bieten möchten.
Wir werden weiterhin neue Funktionen hinzufügen und sowohl White-Label-Erlebnisse als auch Fluent-UI-Erlebnisse mit dem gleichen Paritätsniveau unterstützen.
Sie können den Web-Chat mit
umschließen, um die neue Erfahrung auszuprobieren.
import ReactWebChat from 'botframework-webchat' ;
import { FluentThemeProvider } from 'botframework-webchat-fluent-theme' ;
export default function MyComponent ( ) {
return (
< FluentThemeProvider >
< ReactWebChat / >
< / FluentThemeProvider >
) ;
}
Web-Chat rendert jetzt HTML-in-Markdown. Wir haben unseren Sanitizer und Accessibility Fixer portiert, um auf HTML-Ebene zu funktionieren. Sowohl Markdown als auch HTML-in-Markdown werden gleich behandelt und erfüllen unsere Sicherheits- und Barrierefreiheitsanforderungen.
Sie können diese Option deaktivieren, indem Sie styleOptions.markdownRenderHTML
auf false
setzen.
Web Chat unterstützt jetzt das Adaptive Cards-Schema bis 1.6. Einige Funktionen in Adaptive Cards befinden sich in der Vorschau oder sind für die Verwendung außerhalb von Bot Framework konzipiert. Web-Chat unterstützt diese Funktionen nicht.
Ab 4.16.0 wird Internet Explorer nicht mehr unterstützt. Nachdem Internet Explorer 11 mehr als ein Jahr lang offiziell eingestellt wurde, haben wir beschlossen, den Support für Internet Explorer einzustellen. Dies wird uns helfen, neue Funktionen in den Web-Chat einzuführen. 4.15.9 ist die letzte Version, die Internet Explorer eingeschränkt unterstützt.
adaptiveCardsParserMaxVersion
Der Web Chat 4.12.1-Patch enthält eine neue Stileigenschaft, die es Entwicklern ermöglicht, die maximale Adaptive Cards-Schemaversion auszuwählen. Codeänderungen finden Sie in PR #3778.
Um eine andere maximale Version anzugeben, können Sie die unten gezeigten Stiloptionen anpassen:
window . WebChat . renderWebChat (
{
directLine ,
store ,
styleOptions : {
adaptiveCardsParserMaxVersion : '1.2'
}
} ,
document . getElementById ( 'webchat' )
) ;
Ab PR #3703 wurde dem Web-Chat ein neues Barrierefreiheitsupdate hinzugefügt. Durch diese Änderung wird standardmäßig ein visueller Fokus für das Transkript (fetter schwarzer Rand) und die aria-activedescendent
fokussierte Aktivität (schwarzer gestrichelter Rand) erstellt. Gegebenenfalls werden transcriptVisualKeyboardIndicator...
Werte auch auf untergeordnete Elemente des Karussells ( CarouselFilmStrip.js
) angewendet. Dies geschieht, um dem aktuellen Standard-Fokusstil für adaptive Karten zu entsprechen, bei denen es sich möglicherweise um ein untergeordnetes Element eines Karussells handelt.
Um diese Stile zu ändern, können Sie die folgenden Requisiten über styleOptions
ändern:
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
Der obige Code zeigt die Standardwerte, die Sie im Web-Chat sehen.
Die Web-Chat-API wurde in ein separates Paket umgestaltet. Weitere Informationen finden Sie in der API-Refactor-Zusammenfassung.
Ab Web Chat 4.7.0 wird Direct Line Speech unterstützt und ist die bevorzugte Möglichkeit, eine integrierte Sprachfunktion im Web Chat bereitzustellen. Wir arbeiten daran, Funktionslücken zwischen Direct Line Speech und Web Speech API zu schließen (einschließlich kognitiver Dienste und vom Browser bereitgestellter Sprachfunktionen).
Ab Web Chat 4.6.0 erfordert Web Chat React 16.8.6 oder höher.
Obwohl wir empfehlen, dass Sie Ihre Host-App so bald wie möglich aktualisieren, verstehen wir, dass es einige Zeit dauern kann, bis die React-Abhängigkeiten der Host-App aktualisiert werden, insbesondere im Hinblick auf große Anwendungen.
Wenn Ihre App noch nicht für React 16.8.6 bereit ist, können Sie dem Hybrid-React-Beispiel folgen, um React in Ihrer App mit zwei Hosts zu hosten.
Es gibt eine bahnbrechende Änderung der Verhaltenserwartungen in Bezug auf Sprache und Eingabehinweise im Webchat. Weitere Informationen finden Sie im Abschnitt zum Verhalten von Eingabehinweisen vor 4.5.0.
Sehen Sie sich die Migrationsdokumente an, um mehr über die Migration von Web Chat v3 zu erfahren.
Erstellen Sie zunächst einen Bot mit Azure Bot Service. Sobald der Bot erstellt wurde, müssen Sie das Web-Chat-Geheimnis des Bots im Azure-Portal abrufen. Verwenden Sie dann das Geheimnis, um ein Token zu generieren und es an Ihren Web-Chat weiterzuleiten.
Web Chat bietet eine Benutzeroberfläche zusätzlich zu den Direct Line- und Direct Line Speech-Kanälen. Es gibt zwei Möglichkeiten, über HTTP-Aufrufe vom Client eine Verbindung zu Ihrem Bot herzustellen: durch Senden des Bot-Geheimnisses oder durch Generieren eines Tokens über das Geheimnis.
Wir empfehlen dringend, die Token-API zu verwenden, anstatt der App Ihr Geheimnis bereitzustellen. Weitere Informationen zum Grund finden Sie in der Authentifizierungsdokumentation zur Token-API und zur Clientsicherheit.
Weitere Informationen finden Sie unter den folgenden Links:
Verwenden von Web-Chat mit Azure Bot Services-Authentifizierung
Erweiterte Direct Line-Authentifizierungsfunktionen
Web Chat ist für die Integration in Ihre bestehende Website mithilfe von JavaScript oder React konzipiert. Durch die Integration mit JavaScript erhalten Sie moderate Gestaltungs- und Anpassbarkeitsoptionen.
Sie können das vollständige, typische Web-Chat-Paket (das sogenannte Full-Feature-Bundle) verwenden, das die am häufigsten verwendeten Funktionen enthält.
So können Sie Ihrer Website eine Web-Chat-Steuerung hinzufügen: