設置コード
チャット機能をウェブサイトに導入するには、提供される設置コードを埋め込む必要があります。設置方法については、ダッシュボードの手順をご確認ください。
検索インデックスが作成されていないアプリでは、クロールしたコンテンツを元にした回答は利用できません。この場合もFAQを元にした回答は引き続き利用できます。
設定オプション
チャットボットの動作は、neodig-chat-config クラスを持つ <script> タグ内のJSON設定で変更できます。この <script> タグにも、起動ボタンと同じ data-neodig-appid 属性の指定が必要です(設置コードをそのまま使う場合は既に付いています)。
メッセージのカスタマイズ
"messages": {
"title": "チャットサポート",
"inputPlaceholder": "質問を入力してください...",
"firstMessage": "${greetings}。何かお手伝いできることはありますか?",
"loading": "考えています...",
"error": "エラーが発生しました。時間を空けて再度お試しください。",
"unavailable": "申し訳ございません。現在チャット機能はご利用いただけません。",
"disclaimer": "※生成AIによる回答は誤りを含むことがあります"
}
${greetings}は、日本時間の時間帯に応じて次の挨拶に置き換えられます。| 時間帯 | 挨拶 |
|---|---|
| 5:00〜9:59 | おはようございます |
| 10:00〜18:59 | こんにちは |
| 19:00〜4:59 | こんばんは |
表示オプション
"enableOverlay": false,
"defaultExpanded": false,
"showDisclaimer": true,
"historyCount": 5
falseです。falseです。trueです。5です。エンドユーザーが送信できる1件のメッセージは100文字までです。
会話のクリア
チャットウィンドウのヘッダーには「会話をクリア」ボタンがあり、エンドユーザーはいつでも会話を最初からやり直せます。進行中の応答があれば中断し、会話履歴と初期質問の表示を初期状態に戻します。
NGワードが検出された場合も、会話は自動的にリセットされます。詳細はNGワード設定をご確認ください。
デザインのカスタマイズ
起動ボタンのカスタマイズ
起動ボタンのデザイン(プリセット・ラベル・カスタムHTML・カスタムCSS)は、チャット設定の「起動ボタンのデザイン」から変更します。設置コード自体を変更する必要はありません。
起動ボタンのCSSクラス
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-root | チャットボタンのルート要素 |
.neodig-chat-unavailable | チャット機能を利用できない状態(非表示) |
.neodig-chat-button-floating | 設置コードに含まれる基本デザイン(右下固定・円形) |
.neodig-chat-icon | 設置コードに含まれる既定のアイコン画像 |
.neodig-chat-button--cta | 「ラベル付き(大きめピル型)」プリセット適用時に付与される |
.neodig-chat-button--tab | 「縦タブ(画面右端)」プリセット適用時に付与される |
.neodig-chat-button--custom | 「カスタムHTML」プリセット適用時に付与される |
.neodig-chat-button-label | プリセットのラベル文言を表示するspan |
.neodig-chat-teaser | 「吹き出しメッセージ付き」プリセットの吹き出し要素 |
.neodig-chat-teaser-close | 吹き出しの閉じるボタン |
チャットボタンは設置コードの時点で .neodig-chat-unavailable が付いており、非表示です。チャットの設定を読み込んで利用可能と確認できた時点でこのクラスが外れ、ボタンが表示されます。読み込み前にボタンが既定のデザインで一瞬表示されるのを防ぐためです。
チャットウィンドウの構造
オーバーレイ
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-overlay | オーバーレイのルート要素 |
.neodig-chat-overlay.visible | オーバーレイが表示されている状態 |
.neodig-chat-overlay.overlay-enabled | オーバーレイ背景が有効な状態 |
.neodig-chat-overlay-bg | オーバーレイ背景(enableOverlay: true の場合のみ) |
コンテナ
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-container | チャットウィンドウ全体のコンテナ |
.neodig-chat-container.expanded | チャットウィンドウが展開されている状態 |
ヘッダー
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-header | チャットウィンドウのヘッダー部分 |
.neodig-chat-title | チャットウィンドウのタイトル |
.neodig-chat-header-buttons | ヘッダーボタンのコンテナ |
.neodig-chat-expand | 展開/縮小ボタン |
.neodig-chat-clear | 会話をクリアボタン |
.neodig-chat-close | 閉じるボタン |
メッセージエリア
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-messages-wrapper | メッセージエリア全体のラッパー |
.neodig-chat-messages | メッセージ表示エリア(スクロール可能) |
.neodig-chat-message | 個別メッセージ要素 |
.neodig-chat-message-user | ユーザーメッセージ |
.neodig-chat-message-assistant | アシスタント(AI)メッセージ |
.neodig-chat-welcome | 最初に表示されるメッセージ(firstMessage) |
.neodig-chat-initial-questions | 初期質問のコンテナ |
.neodig-chat-initial-question | 初期質問1件分のボタン |
.neodig-chat-scroll-indicator / .neodig-chat-scroll-indicator.visible | 未読メッセージがある方向を示すインジケーター |
.neodig-chat-swipe-hint | スワイプ操作のヒント表示 |
.neodig-chat-loading | ローディング中のメッセージ |
.neodig-chat-loading-content / .neodig-chat-loading-text / .neodig-chat-loading-dots / .neodig-chat-loading-dot | ローディング表示の内訳要素 |
.neodig-chat-error | エラーメッセージ |
.neodig-chat-validation-error | 入力内容が送信できない場合のエラー表示 |
.neodig-chat-clarify-question / .neodig-chat-clarify-options | AIが聞き返す質問文と選択肢のコンテナ |
.neodig-chat-clarify-btn / .neodig-chat-clarify-btn-selected / .neodig-chat-clarify-btn-disabled | 聞き返しの選択肢ボタン(通常/選択済み/選択不可) |
.neodig-chat-clarify-free / .neodig-chat-clarify-free-input / .neodig-chat-clarify-free-submit | 聞き返しに自由記述で回答する入力欄 |
入力エリア
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-input-area | 入力エリア全体 |
.neodig-chat-input | メッセージ入力フィールド |
.neodig-chat-send | 送信ボタン |
.neodig-chat-send-active | 送信可能な内容が入力されている状態の送信ボタン |
音声入力
対応ブラウザ(Chrome、Edge)では、入力エリアに音声入力ボタンが自動的に表示されます。Firefox等の非対応ブラウザやiOS端末ではボタンは表示されません。音声入力ボタンが表示されない場合は、トラブルシューティングをご確認ください。
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-voice | 音声入力ボタン |
.neodig-chat-voice-active | 録音中の音声入力ボタン |
その他
| CSSクラス名 | 説明 |
|---|---|
.neodig-chat-disclaimer | 免責事項表示エリア |
.neodig-chat-evaluation | 評価ボタンのコンテナ |
.neodig-chat-evaluation-button | 評価ボタン(いいね/よくない) |
.neodig-chat-evaluation-selected | 選択された評価ボタン |
.neodig-chat-evaluation-success | 評価送信完了時の表示 |
.neodig-chat-sources | 参照元情報のコンテナ |
.neodig-chat-sources-title | 参照元情報の見出し |
.neodig-chat-source-card | 参照元1件分のリンクカード |
.neodig-chat-code-copy | コードブロックのコピーボタン |
.neodig-chat-code-copy-success | コピー完了時の表示 |
トラブルシューティング
起動ボタンが表示されない
起動ボタンは、次のいずれかに当てはまる場合は表示されません。
- チャット機能がチャット設定で無効になっている
- 契約プランがチャットボット機能に対応していない(Standardプラン等)
- サブスクリプションが有効な状態ではない
- チャットのトークン予算を使い切っている
会話の途中でこれらの状態になった場合は、unavailable に設定したメッセージがチャットウィンドウに表示されます。
音声入力ボタンが表示されない
音声入力ボタンが表示されない場合、以下の点を確認してください。
1. ブラウザの対応状況
音声入力は Web Speech API に対応したブラウザ(Chrome、Edge)でのみ利用可能です。Firefox等の非対応ブラウザではボタンは表示されません。また、iOSでは全てのブラウザがWebKitエンジンを使用しており、Web Speech APIが正常に動作しないためボタンは表示されません。
2. HTTPS の使用
音声入力にはHTTPS接続が必要です(localhost を除く)。HTTP環境では音声入力は利用できません。
3. Permissions-Policy ヘッダーの確認
サーバーの Permissions-Policy HTTPレスポンスヘッダーで microphone がブロックされていると、音声入力ボタンは自動的に非表示になります。ブラウザのDevToolsコンソールに以下のメッセージが表示されている場合、この設定が原因です。
Voice input button is hidden because microphone access is blocked. Please check that the Permissions-Policy header allows microphone.
対処方法: サーバーの Permissions-Policy ヘッダーで microphone を許可してください。
Permissions-Policy: microphone=(self)
WAFやCDN、セキュリティモジュール(例: helmet、nuxt-security)がデフォルトで microphone=() を設定している場合があります。