このリポジトリには、Bot Framework Web Chat コンポーネントのコードが含まれています。 Bot Framework Web チャット コンポーネントは、Bot Framework v4 SDK の高度にカスタマイズ可能な Web ベースのクライアントです。 Bot Framework SDK v4 を使用すると、開発者は会話をモデル化し、洗練されたボット アプリケーションを構築できます。
このリポジトリは、エンタープライズ グレードの会話型 AI エクスペリエンスを構築するための包括的なフレームワークである Microsoft Bot Framework の一部です。
Web チャットはコンテンツ セキュリティ ポリシー (CSP) をサポートします。 Web 開発者は、CSP を有効にしてセキュリティを強化し、会話を保護することをお勧めします。 CSP について詳しくは、この記事をご覧ください。
このセクションでは、バージョンに関する重要な注意事項を示します。詳細については、関連リンクを参照し、
CHANGELOG.md
確認してください。
注: Web 開発者は、 ~
(チルダ範囲) を使用して、新機能や修正が含まれるマイナー バージョンを選択することをお勧めします。 ^
(キャレット範囲) を使用して、重大な変更が含まれる可能性があるメジャー バージョンを選択します。
このリリースでは、メモリやロード時間の最適化などのパフォーマンスの向上に重点を置いています。
ボットは応答をライブストリーミングできるようになりました。 Bot Framework SDK がこの機能をサポートする前は、ボット作成者は LIVESTREAMING.md の詳細に従ってライブストリーム応答を構築できます。
Web チャットは、CommonJS (名前付きおよび名前なしエクスポート) とともに ES モジュール (名前付きエクスポート) としてエクスポートされるようになりました。
エンドユーザーは、ファイルをボットにアップロードする前にメッセージを追加して確認できるようになりました。新しいエクスペリエンスをオプトアウトするには、スタイル オプションでsendAttachmentOn: 'send'
を渡します。
テーマ パックのサポートを追加できることを嬉しく思います。開発者は、すべてのカスタマイズを 1 つのパッケージにまとめて NPM に公開できるようになりました。
Fluent UI テーマ パックが開発中で、現在実験段階にあることを発表できることを嬉しく思います。このテーマ パックは、ネイティブの Copilot ユーザー エクスペリエンスを顧客に提供したい Web 開発者向けに設計されています。
今後も新機能を追加し、ホワイトラベル エクスペリエンスと Fluent UI エクスペリエンスの両方を同じレベルでサポートしていきます。
Web チャットを
でラップして、新しいエクスペリエンスを試すことができます。
import ReactWebChat from 'botframework-webchat' ;
import { FluentThemeProvider } from 'botframework-webchat-fluent-theme' ;
export default function MyComponent ( ) {
return (
< FluentThemeProvider >
< ReactWebChat / >
< / FluentThemeProvider >
) ;
}
Web チャットは HTML-in-Markdown をレンダリングするようになりました。サニタイザーとアクセシビリティ フィクサーを HTML レベルで動作するように移植しました。 Markdown と HTML-in-Markdown はどちらも同じ扱いを受け、セキュリティとアクセシビリティの要件を満たします。
このオプションをオフにするには、 styleOptions.markdownRenderHTML
false
に設定します。
Web チャットは、1.6 までのアダプティブ カード スキーマをサポートするようになりました。アダプティブ カードの一部の機能はプレビュー段階にあるか、Bot Framework の外部で使用するように設計されています。 Web チャットはこれらの機能をサポートしていません。
4.16.0 以降、Internet Explorer はサポートされなくなりました。 Internet Explorer 11 が正式に廃止されてから 1 年以上が経過した後、私たちは Internet Explorer のサポートを停止することを決定しました。これは、Web チャットに新しい機能を導入するのに役立ちます。 4.15.9 は、限定的に Internet Explorer をサポートする最後のバージョンです。
adaptiveCardsParserMaxVersion
Web Chat 4.12.1 パッチには、開発者がアダプティブ カード スキーマの最大バージョンを選択できる新しいスタイル プロパティが含まれています。コードの変更については PR #3778 を参照してください。
別の最大バージョンを指定するには、以下に示すスタイル オプションを調整できます。
window . WebChat . renderWebChat (
{
directLine ,
store ,
styleOptions : {
adaptiveCardsParserMaxVersion : '1.2'
}
} ,
document . getElementById ( 'webchat' )
) ;
新しいアクセシビリティ更新が PR #3703 から Web チャットに追加されました。この変更により、デフォルトでトランスクリプト (太字の黒枠) とaria-activedescendent
に焦点を当てたアクティビティ (黒の破線) に視覚的なフォーカスが作成されます。該当する場合、 transcriptVisualKeyboardIndicator...
値はカルーセル ( CarouselFilmStrip.js
) の子にも適用されます。これは、カルーセルの子である可能性があるアダプティブ カードの現在のデフォルトのフォーカス スタイルと一致させるために行われます。
これらのスタイルを変更するには、 styleOptions
を介して次のプロパティを変更できます。
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
上記のコードは、Web チャットに表示されるデフォルト値を示しています。
Web チャット API は別のパッケージにリファクタリングされました。詳細については、API リファクタリングの概要をご覧ください。
Web チャット 4.7.0 以降、ダイレクト ライン スピーチがサポートされており、これは Web チャットに統合された音声機能を提供するための推奨される方法です。私たちは、Direct Line Speech と Web Speech API (Cognitive Services およびブラウザー提供の音声機能を含む) の間の機能ギャップを埋めることに取り組んでいます。
Web チャット 4.6.0 以降、Web チャットには React 16.8.6 以降が必要です。
できるだけ早くホスト アプリをアップグレードすることをお勧めしますが、特に大規模なアプリケーションに関しては、ホスト アプリの React 依存関係が更新されるまでに時間がかかる場合があることを理解しています。
アプリがまだ React 16.8.6 に対応する準備ができていない場合は、ハイブリッド React サンプルに従って、アプリ内で React をデュアルホストすることができます。
Web チャットでの音声と入力ヒントに関する動作の期待に重大な変更があります。詳細については、4.5.0 より前の入力ヒントの動作に関するセクションを参照してください。
Web Chat v3 からの移行については、移行ドキュメントを参照してください。
まず、Azure Bot Service を使用してボットを作成します。ボットを作成したら、Azure Portal でボットの Web チャット シークレットを取得する必要があります。次に、シークレットを使用してトークンを生成し、それを Web チャットに渡します。
Web チャットは、Direct Line および Direct Line Speech Channel 上に UI を提供します。クライアントからの HTTP 呼び出しを通じてボットに接続するには、ボットのシークレットを送信する方法と、シークレットを介してトークンを生成する方法の 2 つがあります。
アプリにシークレットを提供するのではなく、トークン API を使用することを強くお勧めします。その理由の詳細については、トークン API とクライアント セキュリティに関する認証ドキュメントを参照してください。
さらに詳しく知りたい場合は、次のリンクを参照してください。
Azure Bot Services 認証での Web チャットの使用
強化された Direct Line 認証機能
Web チャットは、JavaScript または React を使用して既存の Web サイトと統合するように設計されています。 JavaScript と統合すると、適度なスタイルとカスタマイズ性のオプションが提供されます。
最も一般的に使用される機能が含まれる完全な標準的な Web チャット パッケージ (フル機能バンドルと呼ばれる) を使用できます。
Web チャット コントロールを Web サイトに追加する方法は次のとおりです。