Este repositório contém código para o componente Bot Framework Web Chat. O componente Bot Framework Web Chat é um cliente baseado na Web altamente personalizável para o SDK do Bot Framework v4. O Bot Framework SDK v4 permite que os desenvolvedores modelem conversas e criem aplicativos de bot sofisticados.
Este repositório faz parte do Microsoft Bot Framework – uma estrutura abrangente para a construção de experiências de IA conversacional de nível empresarial.
O Web Chat oferece suporte à Política de Segurança de Conteúdo (CSP). Recomenda-se que os desenvolvedores da Web habilitem o CSP para melhorar a segurança e proteger as conversas. Você pode ler mais sobre CSP neste artigo.
Esta seção destaca notas importantes da versão. Para mais informações, consulte os links relacionados e verifique o
CHANGELOG.md
Notas: os desenvolvedores web são aconselhados a usar ~
(intervalo de til) para selecionar versões secundárias, que contêm novos recursos e/ou correções. Use ^
(intervalo de intercalação) para selecionar versões principais, que podem conter alterações significativas.
Nesta versão, estamos nos concentrando em melhorias de desempenho, incluindo otimizações de memória e tempo de carregamento.
Os bots agora podem transmitir suas respostas ao vivo. Antes do Bot Framework SDK oferecer suporte a esse recurso, os autores do bot podem seguir os detalhes em LIVESTREAMING.md para construir as respostas de transmissão ao vivo.
O Web Chat agora exporta como módulos ES (exportações nomeadas) junto com CommonJS (exportações nomeadas e não nomeadas).
O usuário final agora pode adicionar uma mensagem e confirmar antes de enviar o arquivo para o bot. Para cancelar a nova experiência, passe sendAttachmentOn: 'send'
nas opções de estilo.
Estamos entusiasmados em adicionar suporte para pacotes temáticos. Os desenvolvedores agora podem agrupar todas as suas personalizações em um único pacote e publicá-lo no NPM.
Temos o prazer de anunciar que o pacote de temas Fluent UI está em desenvolvimento e atualmente em fase experimental. Este pacote de temas foi projetado para desenvolvedores web que desejam trazer uma experiência de usuário nativa do Copilot para seus clientes.
Continuaremos adicionando novos recursos e oferecendo suporte tanto à experiência de marca branca quanto à experiência de UI Fluent com o mesmo nível de paridade.
Você pode encerrar o Web Chat com
para experimentar a nova experiência.
import ReactWebChat from 'botframework-webchat' ;
import { FluentThemeProvider } from 'botframework-webchat-fluent-theme' ;
export default function MyComponent ( ) {
return (
< FluentThemeProvider >
< ReactWebChat / >
< / FluentThemeProvider >
) ;
}
O Web Chat agora renderizará HTML em Markdown. Portamos nosso desinfetante e fixador de acessibilidade para funcionar no nível HTML. Tanto o Markdown quanto o HTML-in-Markdown receberão o mesmo tratamento e atenderão aos nossos requisitos de segurança e acessibilidade.
Você pode desativar esta opção definindo styleOptions.markdownRenderHTML
como false
.
O Web Chat agora oferece suporte ao esquema de Cartões Adaptáveis até 1.6. Alguns recursos dos Cartões Adaptáveis estão em versão prévia ou foram projetados para uso fora do Bot Framework. O Web Chat não oferece suporte a esses recursos.
A partir da versão 4.16.0, o Internet Explorer não é mais compatível. Após mais de um ano da aposentadoria oficial do Internet Explorer 11, decidimos parar de oferecer suporte ao Internet Explorer. Isso nos ajudará a trazer novos recursos para o Web Chat. 4.15.9 é a última versão que oferece suporte ao Internet Explorer de forma limitada.
adaptiveCardsParserMaxVersion
O patch do Web Chat 4.12.1 inclui uma nova propriedade de estilo que permite aos desenvolvedores escolher a versão máxima do esquema de Cartões Adaptáveis. Consulte PR #3778 para alterações de código.
Para especificar uma versão máxima diferente, você pode ajustar as opções de estilo mostradas abaixo:
window . WebChat . renderWebChat (
{
directLine ,
store ,
styleOptions : {
adaptiveCardsParserMaxVersion : '1.2'
}
} ,
document . getElementById ( 'webchat' )
) ;
Uma nova atualização de acessibilidade foi adicionada ao Web Chat do PR #3703. Essa alteração cria foco visual para a transcrição (borda preta em negrito) e atividade focada aria-activedescendent
(borda preta tracejada) por padrão. Quando aplicável, os valores transcriptVisualKeyboardIndicator...
também serão aplicados aos filhos do carrossel ( CarouselFilmStrip.js
). Isso é feito para corresponder ao estilo de foco padrão atual dos Cartões Adaptáveis, que podem ser filhos de um carrossel.
Para modificar esses estilos, você pode alterar os seguintes adereços via styleOptions
:
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
O código acima mostra os valores padrão que você verá no Web Chat.
A API do Web Chat foi refatorada em um pacote separado. Para saber mais, confira o resumo do refatorador da API.
A partir do Web Chat 4.7.0, a Fala em Linha Direta é suportada e é a forma preferida de fornecer uma funcionalidade de fala integrada no Web Chat. Estamos trabalhando para preencher lacunas de recursos entre Direct Line Speech e Web Speech API (inclui Serviços Cognitivos e funcionalidade de fala fornecida pelo navegador).
A partir do Web Chat 4.6.0, o Web Chat requer React 16.8.6 ou superior.
Embora recomendemos que você atualize seu aplicativo host o mais rápido possível, entendemos que o aplicativo host pode precisar de algum tempo antes que suas dependências React sejam atualizadas, especialmente em relação a aplicativos grandes.
Se seu aplicativo ainda não estiver pronto para o React 16.8.6, você pode seguir o exemplo do React híbrido para o React de host duplo em seu aplicativo.
Há uma mudança significativa nas expectativas de comportamento em relação à fala e às dicas de entrada no Web Chat. Consulte a seção sobre comportamento de dicas de entrada antes da versão 4.5.0 para obter detalhes.
Veja a documentação de migração para saber mais sobre a migração do Web Chat v3.
Primeiro, crie um bot usando o Azure Bot Service. Depois que o bot for criado, você precisará obter o segredo do Web Chat do bot no Portal do Azure. Em seguida, use o segredo para gerar um token e passá-lo para o seu Web Chat.
O Web Chat fornece UI além dos canais Direct Line e Direct Line Speech. Existem duas maneiras de se conectar ao seu bot por meio de chamadas HTTP do cliente: enviando o segredo do Bot ou gerando um token por meio do segredo.
É altamente recomendável usar a API do token em vez de fornecer seu segredo ao aplicativo. Para saber mais sobre o motivo, consulte a documentação de autenticação na API do token e na segurança do cliente.
Para ler mais, consulte os seguintes links:
Usando o Web Chat com autenticação do Azure Bot Services
Recursos aprimorados de autenticação Direct Line
O Web Chat foi projetado para integração com seu site existente usando JavaScript ou React. A integração com JavaScript lhe dará opções moderadas de estilo e personalização.
Você pode usar o pacote completo e típico do Web Chat (chamado de pacote completo de recursos) que contém os recursos mais usados.
Veja como você pode adicionar o controle do Web Chat ao seu site: