設置コード

チャット機能をウェブサイトに導入する方法について説明します。

チャット機能をウェブサイトに導入するには、提供される設置コードを埋め込む必要があります。設置方法については、ダッシュボードの手順をご確認ください。

検索インデックスが作成されていないアプリでは、クロールしたコンテンツを元にした回答は利用できません。この場合もFAQを元にした回答は引き続き利用できます。

設定オプション

チャットボットの動作は、neodig-chat-config クラスを持つ <script> タグ内のJSON設定で変更できます。この <script> タグにも、起動ボタンと同じ data-neodig-appid 属性の指定が必要です(設置コードをそのまま使う場合は既に付いています)。

メッセージのカスタマイズ

"messages": {
  "title": "チャットサポート",
  "inputPlaceholder": "質問を入力してください...",
  "firstMessage": "${greetings}。何かお手伝いできることはありますか?",
  "loading": "考えています...",
  "error": "エラーが発生しました。時間を空けて再度お試しください。",
  "unavailable": "申し訳ございません。現在チャット機能はご利用いただけません。",
  "disclaimer": "※生成AIによる回答は誤りを含むことがあります"
}
title
string
チャットウィンドウのタイトルです。
inputPlaceholder
string
入力欄のプレースホルダーテキストです。
firstMessage
string
最初に表示されるメッセージです。${greetings}は、日本時間の時間帯に応じて次の挨拶に置き換えられます。
時間帯挨拶
5:00〜9:59おはようございます
10:00〜18:59こんにちは
19:00〜4:59こんばんは
loading
string
応答を生成している間に表示されるメッセージです。
error
string
エラーが発生したときに表示されるメッセージです。
unavailable
string
チャット機能が利用できないときに表示されるメッセージです。
disclaimer
string
生成AIに関する注意事項です。

表示オプション

"enableOverlay": false,
"defaultExpanded": false,
"showDisclaimer": true,
"historyCount": 5
enableOverlay
boolean
チャットを開いたときに、背景にオーバーレイを表示するかどうかです。既定値はfalseです。
defaultExpanded
boolean
ページを読み込んだ時点で、チャットを拡大状態で表示するかどうかです。既定値はfalseです。
showDisclaimer
boolean
生成AIに関する注意事項を表示するかどうかです。既定値はtrueです。
historyCount
number
サーバーへ送る過去のユーザー発話の件数です。1〜10の範囲で指定し、既定値は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-optionsAIが聞き返す質問文と選択肢のコンテナ
.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=() を設定している場合があります。