Ce référentiel contient le code du composant Bot Framework Web Chat. Le composant Bot Framework Web Chat est un client Web hautement personnalisable pour le SDK Bot Framework v4. Le Bot Framework SDK v4 permet aux développeurs de modéliser la conversation et de créer des applications de robot sophistiquées.
Ce référentiel fait partie de Microsoft Bot Framework, un cadre complet permettant de créer des expériences d'IA conversationnelle de niveau entreprise.
Web Chat prend en charge la politique de sécurité du contenu (CSP). Il est recommandé aux développeurs Web de permettre au CSP d'améliorer la sécurité et de protéger les conversations. Vous pouvez en savoir plus sur CSP dans cet article.
Cette section souligne les notes de version importantes. Pour plus d'informations, veuillez consulter les liens associés et consulter le
CHANGELOG.md
Remarques : il est conseillé aux développeurs Web d'utiliser ~
(plage de tilde) pour sélectionner les versions mineures contenant de nouvelles fonctionnalités et/ou des correctifs. Utilisez ^
(plage de carets) pour sélectionner les versions majeures, qui peuvent contenir des modifications importantes.
Dans cette version, nous nous concentrons sur l'amélioration des performances, notamment l'optimisation de la mémoire et du temps de chargement.
Les robots peuvent désormais diffuser leurs réponses en direct. Avant que le SDK Bot Framework ne prenne en charge cette fonctionnalité, les auteurs de robots peuvent suivre les détails dans LIVESTREAMING.md pour construire les réponses en direct.
Web Chat s'exporte désormais sous forme de modules ES (exportations nommées) avec CommonJS (exportations nommées et sans nom).
L'utilisateur final peut désormais ajouter un message et confirmer avant de télécharger son fichier sur le bot. Pour vous désinscrire de la nouvelle expérience, transmettez sendAttachmentOn: 'send'
dans les options de style.
Nous sommes ravis d’ajouter la prise en charge des packs de thèmes. Les développeurs peuvent désormais regrouper toute leur personnalisation dans un seul package et la publier sur NPM.
Nous sommes ravis d'annoncer que le pack de thèmes Fluent UI est en préparation et est actuellement en phase expérimentale. Ce pack de thèmes est conçu pour les développeurs Web qui souhaitent apporter une expérience utilisateur Copilot native à leurs clients.
Nous continuerons d'ajouter de nouvelles fonctionnalités et de prendre en charge à la fois l'expérience en marque blanche et l'expérience Fluent UI avec le même niveau de parité.
Vous pouvez envelopper le chat Web avec
pour essayer la nouvelle expérience.
import ReactWebChat from 'botframework-webchat' ;
import { FluentThemeProvider } from 'botframework-webchat-fluent-theme' ;
export default function MyComponent ( ) {
return (
< FluentThemeProvider >
< ReactWebChat / >
< / FluentThemeProvider >
) ;
}
Web Chat affichera désormais le HTML dans Markdown. Nous avons porté notre désinfectant et notre fixateur d'accessibilité pour qu'il fonctionne au niveau HTML. Markdown et HTML-in-Markdown recevront le même traitement et répondront à nos exigences de sécurité et d'accessibilité.
Vous pouvez désactiver cette option en définissant styleOptions.markdownRenderHTML
sur false
.
Web Chat prend désormais en charge le schéma Adaptive Cards jusqu'à 1.6. Certaines fonctionnalités des cartes adaptatives sont en version préliminaire ou conçues pour être utilisées en dehors de Bot Framework. Web Chat ne prend pas en charge ces fonctionnalités.
À partir de la version 4.16.0, Internet Explorer n'est plus pris en charge. Après plus d'un an de retrait officiel d'Internet Explorer 11, nous avons décidé de cesser de prendre en charge Internet Explorer. Cela nous aidera à apporter de nouvelles fonctionnalités au Web Chat. 4.15.9 est la dernière version qui prend en charge Internet Explorer de manière limitée.
adaptiveCardsParserMaxVersion
Le correctif Web Chat 4.12.1 inclut une nouvelle propriété de style permettant aux développeurs de choisir la version maximale du schéma des cartes adaptatives. Voir PR #3778 pour les changements de code.
Pour spécifier une version maximale différente, vous pouvez ajuster les options de style, indiquées ci-dessous :
window . WebChat . renderWebChat (
{
directLine ,
store ,
styleOptions : {
adaptiveCardsParserMaxVersion : '1.2'
}
} ,
document . getElementById ( 'webchat' )
) ;
Une nouvelle mise à jour d'accessibilité a été ajoutée à Web Chat à partir du PR #3703. Ce changement crée un focus visuel pour la transcription (bordure noire en gras) et l'activité ciblée aria-activedescendent
(bordure en pointillés noirs) par défaut. Le cas échéant, les valeurs transcriptVisualKeyboardIndicator...
seront également appliquées aux enfants du carrousel ( CarouselFilmStrip.js
). Ceci est fait afin de correspondre au style de focus par défaut actuel pour les cartes adaptatives, qui peuvent être un enfant d'un carrousel.
Pour modifier ces styles, vous pouvez changer les accessoires suivants via styleOptions
:
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
Le code ci-dessus montre les valeurs par défaut que vous verrez dans Web Chat.
L'API Web Chat a été refactorisée dans un package distinct. Pour en savoir plus, consultez le résumé du refactoring de l'API.
À partir de Web Chat 4.7.0, Direct Line Speech est pris en charge et constitue le moyen privilégié pour fournir une fonctionnalité vocale intégrée dans Web Chat. Nous travaillons à combler les lacunes en termes de fonctionnalités entre l'API Direct Line Speech et Web Speech (inclut les services cognitifs et la fonctionnalité vocale fournie par le navigateur).
À partir de Web Chat 4.6.0, Web Chat nécessite React 16.8.6 ou version ultérieure.
Bien que nous vous recommandons de mettre à niveau votre application hôte dès que possible, nous comprenons que l'application hôte peut avoir besoin d'un certain temps avant que ses dépendances React ne soient mises à jour, en particulier en ce qui concerne les applications volumineuses.
Si votre application n'est pas encore prête pour React 16.8.6, vous pouvez suivre l'exemple React hybride pour utiliser React double-hôte dans votre application.
Il y a un changement radical dans les attentes comportementales concernant la parole et les indications de saisie dans le chat Web. Veuillez vous référer à la section sur le comportement des indices de saisie avant la version 4.5.0 pour plus de détails.
Consultez les documents de migration pour en savoir plus sur la migration à partir de Web Chat v3.
Tout d’abord, créez un bot à l’aide d’Azure Bot Service. Une fois le bot créé, vous devrez obtenir le secret Web Chat du bot dans le portail Azure. Utilisez ensuite le secret pour générer un jeton et transmettez-le à votre chat Web.
Le chat Web fournit une interface utilisateur en plus des canaux vocaux Direct Line et Direct Line. Il existe deux façons de vous connecter à votre bot via des appels HTTP du client : en envoyant le secret du bot ou en générant un jeton via le secret.
Nous vous recommandons fortement d'utiliser l'API de jeton au lieu de fournir votre secret à l'application. Pour en savoir plus, consultez la documentation d'authentification sur l'API de jeton et la sécurité du client.
Pour en savoir plus, veuillez consulter les liens suivants :
Utilisation de Web Chat avec l'authentification Azure Bot Services
Fonctionnalités d'authentification Direct Line améliorées
Web Chat est conçu pour s'intégrer à votre site Web existant à l'aide de JavaScript ou de React. L'intégration avec JavaScript vous offrira des options de style et de personnalisation modérées.
Vous pouvez utiliser le package Web Chat complet et typique (appelé ensemble complet de fonctionnalités) qui contient les fonctionnalités les plus généralement utilisées.
Voici comment ajouter le contrôle Web Chat à votre site Web :