DifyのWebフロント作成を実践 ─ 埋め込みウィジェットからカスタムUIまで
BLOG / 実践ガイド

DifyのWebフロント作成を実践 ─ 埋め込みウィジェットからカスタムUIまで

By Data Insight

30秒でわかるこの記事のポイント

  • Difyのフロント展開は「埋め込みウィジェット」「Webアプリ公開」「カスタムUI」の3通り
  • スクリプト1行でAIボットを既存サイトに追加 ─ 埋め込みウィジェットなら数分で公開可能
  • 本格的なシステム統合にはAPI経由のカスタムUI ─ DifyをBaaSとして活用する

「AIチャットボットを作った。でも、どうやってユーザーに届けるのか?」

Difyでアプリを構築した後、次に直面するのが「フロント展開」の問題です。社内システムへの組み込み、自社サイトへの設置、あるいは独自の顧客体験を実現するカスタムUI……。選択肢が多いからこそ、迷う方も多いのではないでしょうか。

実は、Difyの強みは「バックエンドの開発が不要」なことだけではありません。フロント展開の選択肢が豊富で、開発工数や自由度に応じて最適な方法を選べる点も、多くの企業に選ばれている理由です。

この記事では、Difyで作成したアプリをWebサイトや社内システムに公開したい開発者・実務担当者に向けて、3つのフロント展開方法とその選び方を解説します。

Data Insightでは、AIを単なる効率化ツールではなく、人間の創造性を支援し、共に対話するパートナーとして定義しています。フロント展開の選択も、「ユーザーとAIがどのような体験を共有するか」という視点から考えることが大切です。


§ 1. なぜ「フロント作成」が重要なのか

§ スクリプト1行で、AIボットが動く現実

まず、驚くべき事実をお伝えしましょう。Difyの埋め込みウィジェットを使えば、HTMLに数行のスクリプトを追加するだけで、AIチャットボットが自社サイト上で動き始めます。

<script src="https://your-dify-instance/embed.js"></script>

これは誇張ではなく、実際に多くの企業がこの方法でAIボットを素早く展開しています。技術的なハードルが低いからこそ、「どの方法を選ぶか」という判断がより重要になるのです。

§ バックエンド不要 ─ あとは「組み合わせ」の話

Difyの本質的な価値は、LLM(大規模言語モデル)の呼び出し、プロンプト管理、ナレッジベース連携といったバックエンドの複雑さを吸収している点にあります。

つまり、開発者が考えるべきは「どのようにユーザーに届けるか」というフロントの設計だけです。バックエンドのAPI設計やインフラ構築に時間を取られることなく、ユーザー体験の向上に集中できます。

§ フロント選択が「体験」を決める

同じAIモデル、同じプロンプトを使っていても、フロント展開の方法によってユーザー体験は大きく変わります。

  • 埋め込みウィジェットは「気軽に質問できる」体験
  • 専用Webアプリは「じっくり対話する」体験
  • カスタムUIは「業務フローに溶け込む」体験

どの体験を提供したいかによって、選ぶべき方法が変わります。


§ 2. 3つのフロント展開方法 ─ 全体の見取り図

Difyでは、大きく分けて3つのフロント展開方法が用意されています。

方法 開発工数 自由度 向いている場面
埋め込みウィジェット なし 既存サイトにボットを追加したい
Webアプリ公開 なし URL共有で即座に利用開始したい
API経由のカスタムUI 最高 独自体験や既存システムへの統合

§ 開発工数と自由度のトレードオフ

この3つの方法は、開発工数と自由度のトレードオフで整理できます。

開発工数をかけずに素早く公開したい場合は、埋め込みウィジェットやWebアプリ公開が適しています。一方、既存システムとの深い統合や、ブランドに合わせた独自のUIを実現したい場合は、API経由のカスタムUI開発が必要になります。

どの方法を選ぶにしても、Difyのバックエンド機能はそのまま活用できるため、「フロントの選択」に集中できるのがDifyの強みです。


§ 3. 埋め込みウィジェットの設定と実装

§ デプロイ後に生成される「埋め込みコード」

Difyでアプリを作成し、デプロイ設定を行うと、埋め込み用のコードが自動生成されます。このコードをWebサイトのHTMLに貼り付けるだけで、AIチャットボットが表示されます。

具体的な手順は以下の通りです:

  1. Difyの管理画面でアプリを選択
  2. 「公開」または「デプロイ」メニューを開く
  3. 「埋め込み」オプションを選択
  4. 生成されたコードをコピー
  5. 自社サイトのHTMLに貼り付け

§ iframeとフローティングウィジェット

埋め込み形式には、主に2つのタイプがあります。

iframe形式
ページ内の特定の領域にチャットインターフェースを表示します。FAQページやヘルプセンターに「埋め込む」イメージです。

<iframe src="https://your-dify-instance/chatbot/xxx"
        width="100%" height="600px" frameborder="0">
</iframe>

フローティングウィジェット形式
画面右下などに浮かぶ形でチャットアイコンを表示し、クリックするとチャット画面が開きます。ユーザーがページを閲覧しながら、必要なときだけAIに質問できます。

§ UIカスタマイズ(色・サイズ・表示位置)

埋め込みウィジェットは、ある程度のUIカスタマイズが可能です。

  • カラーテーマ:企業のブランドカラーに合わせた配色
  • サイズ調整:ウィジェットの幅・高さの指定
  • 表示位置:画面右下・左下などの位置指定
  • 初期メッセージ:ウィジェットを開いたときの挨拶文

これらの設定は、Difyの管理画面から行えるものと、埋め込みコードのパラメータで調整するものがあります。

§ 認証設定(パスワード・メンバー限定アクセス)

社内向けや限定公開の場合、アクセス制御が必要になります。Difyでは以下の認証設定が可能です。

  • パスワード保護:URLを知っていても、パスワードがなければアクセスできない
  • メンバー限定:特定のユーザーアカウントにのみアクセスを許可

これにより、「社内のみで使う」「特定の顧客にだけ提供する」といった運用が可能になります。


§ 4. Webアプリとして公開

§ ワンクリックでURLが生成される

最も手軽な公開方法が、Dify標準のWebアプリ公開です。

管理画面で「公開」ボタンをクリックするだけで、一意のURLが生成されます。このURLを共有するだけで、誰でもAIアプリを利用できるようになります。

§ 共有対象の制限設定

生成されたURLは、以下の方法でアクセス制限を設けることができます。

  • 公開範囲の設定:全員に公開、リンクを知っている人のみ、メンバーのみ
  • 有効期限の設定:一定期間後にアクセスを無効化
  • 利用回数の制限:API呼び出し回数の上限設定

§ 素早く「テスト・フィードバック」を回すのに最適

Webアプリ公開の最大のメリットは、素早くフィードバックを得られる点です。

  • プロトタイプを関係者に見せて意見を聞く
  • 社内の一部チームで試験運用する
  • 顧客に「こんなものを作っています」とデモする

本格的な埋め込みやカスタムUI開発の前に、まずWebアプリで公開して反応を見る ─ このアプローチは、開発コストを抑えながら価値を検証する有効な方法です。


§ 5. API経由のカスタムUI ─ BaaSとしてのDify

§ DifyのRESTful API概要

Difyは、作成したアプリをRESTful APIとして公開する機能を持っています。これにより、Difyは「BaaS(Backend as a Service)」として機能し、フロントエンドは完全に自由に開発できます。

提供されるAPIには、主に以下のものがあります。

会話API

  • チャットメッセージの送信・受信
  • 会話履歴の取得
  • ストリーミングレスポンスの受信

ワークフロー実行API

  • 定義したワークフローの実行
  • 実行結果の取得
  • 非同期実行とステータス確認

ファイルアップロードAPI

  • 画像・ドキュメントのアップロード
  • アップロードしたファイルをAIに分析させる

§ React・Vueでの独自フロント開発

API経由でDifyと連携すれば、React、Vue、Next.jsなどのモダンなフレームワークで独自のフロントエンドを構築できます。

// React での例(イメージ)
const sendMessage = async (message) => {
  const response = await fetch('https://your-dify-api/chat', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ query: message })
  });
  return response.json();
};

これにより、以下のような独自体験を実現できます。

  • 自社のデザインシステムに完全に準拠したUI
  • 既存のWebアプリケーションへのシームレスな統合
  • 複数のDifyアプリを組み合わせた高度なサービス

§ ユーザー入力定義:多様なフォーム要素

カスタムUIでは、ユーザーからの入力を自由に設計できます。

  • テキスト入力:自由記述の質問や指示
  • ファイルアップロード:画像や文書をAIに分析させる
  • セレクトボックス:選択肢から選ばせることで入力を構造化
  • マルチステップフォーム:段階的に情報を収集する

これらの入力をDifyのAPIに渡すことで、より精度の高い、文脈に沿った回答を得ることができます。

§ ストリーミング出力の受け取り

ChatGPTやClaudeのように、文字が流れるように表示される体験を実現するには、ストリーミングAPIを活用します。

DifyのAPIはServer-Sent Events(SSE)に対応しており、フロントエンド側でリアルタイムにテキストを受信・表示できます。これにより、ユーザーは「AIが考えている」ことを視覚的に感じられ、待ち時間のストレスが軽減されます。


§ 6. 企業の活用事例

§ カカクコム:社内AIボットをTeamsに統合

価格.comや食べログを運営する株式会社カカクコムは、Difyエンタープライズ版を全社導入し、年間18,000時間の業務削減効果を実現しています。

特筆すべきは、Microsoft Teamsへの統合です。社員が日常的に使うチャットツールにAIボットを埋め込むことで、デイリーのアクティブユーザー数が27%増加しました。

導入の決め手となったのは、Difyの「フロント選択の自由度」です。埋め込みウィジェットを使ってTeamsアプリとして提供することで、社員は新しいツールを覚える必要がなく、普段の業務フローの中でAIを活用できるようになりました。

参考:カカクコムにおけるDifyエンタープライズ版の全社導入と活用ポイント - Tabelog Tech Blog

§ 長谷工コーポレーション:「Kizuki AI」を現場の作業端末に展開

建設大手の株式会社長谷工コーポレーションは、施工管理者の危険予測を支援するシステム「Kizuki AI」をDify上で開発し、首都圏の全129現場に展開しています。

このシステムでは、現場の写真と作業情報をアップロードすると、AIが熱中症や足場の不安定性などのリスクと対策を提示します。パソコンやスマートフォンから利用でき、若手社員の安全意識向上に貢献しています。

ここでのポイントは、作業端末への展開です。現場で使われる端末からアクセスできる形でフロントを構築することで、「AIを使うために別の場所に行く」必要がなくなりました。

参考:長谷工コーポレーション 生成AIで施工管理者の危険予測を支援 - 長谷工プレスリリース

§ これらの事例が示すもの

カカクコムはTeams統合、長谷工コーポレーションは現場端末への展開と、フロント展開の選択が成功の鍵となっています。

どちらの事例も、「ユーザーがすでに使っている環境にAIを届ける」という発想で設計されています。AIのために新しい行動を強いるのではなく、既存の業務フローにAIを溶け込ませる ─ これがフロント選択の本質です。


§ 7. 選び方のポイント

§ 速さを優先するなら → 埋め込みウィジェット

「今すぐAIボットを公開したい」「まずは試してみたい」という場合は、埋め込みウィジェットが最適です。

コーディング不要で、数分以内に既存サイトにAIボットを追加できます。UIのカスタマイズにも対応しており、ブランドイメージを大きく損なうことなく導入できます。

こんな場合におすすめ

  • 自社サイトにFAQボットを追加したい
  • 顧客からの問い合わせ対応を自動化したい
  • 開発リソースをかけずに導入したい

§ 利用者が限定的・テスト用なら → Webアプリ公開

「社内の一部チームで試したい」「プロトタイプを見せたい」という場合は、Webアプリ公開が便利です。

URLを共有するだけで利用開始でき、アクセス制限も設定可能です。本格導入の前のフィードバック収集に最適です。

こんな場合におすすめ

  • プロトタイプを関係者にデモしたい
  • 限定メンバーでテスト運用したい
  • 開発工数ゼロで公開したい

§ 既存システムへの深い統合なら → カスタムUI

「自社のデザインに完全に合わせたい」「既存システムとシームレスに連携したい」という場合は、API経由のカスタムUIを選択します。

開発工数はかかりますが、自由度は最高です。DifyをBaaSとして活用し、フロントエンドは完全に独自で構築できます。

こんな場合におすすめ

  • 既存の業務システムにAI機能を組み込みたい
  • 独自のユーザー体験を設計したい
  • 複数のDifyアプリを統合したサービスを作りたい

§ 判断フローチャート

迷ったときは、以下の順序で検討してください。

  1. まず、Webアプリ公開でプロトタイプを作成

    • 関係者からフィードバックを収集
    • 改善点を洗い出す
  2. 公開範囲と必要な自由度を確認

    • 既存サイトへの追加で十分 → 埋め込みウィジェット
    • 独自体験やシステム統合が必要 → カスタムUI
  3. 開発リソースと期間を考慮

    • 急ぎの場合 → 埋め込みウィジェット
    • 時間をかけて作り込む場合 → カスタムUI

§ よくある質問

§ Q1. 埋め込みウィジェットは複数ページに設置できますか?

はい、可能です。同じ埋め込みコードを複数のページに設置すれば、すべてのページでAIボットが利用できます。会話の継続性についてはDifyの設定(セッション管理)に依存しますが、基本的には同一ユーザーであれば会話履歴が維持されます。

§ Q2. APIのレート制限はありますか?

Difyのプランによって異なります。無料プランでは制限がある場合がありますが、エンタープライズプランでは要件に応じた設定が可能です。大量のリクエストが予想される場合は、事前に確認することをお勧めします。

§ Q3. カスタムUIの開発にはどのような技術が必要ですか?

フロントエンド開発の基本的なスキル(HTML、CSS、JavaScript)があれば、埋め込みウィジェットのカスタマイズは可能です。本格的なカスタムUI開発には、React、Vue、Next.jsなどのフレームワークの知識と、REST APIの理解が必要になります。

§ Q4. セキュリティ面での注意点はありますか?

APIキーの管理が重要です。フロントエンドのコードにAPIキーを直接記述すると、第三者に見られる可能性があります。本番環境では、バックエンドのプロキシを経由するか、Difyの認証機能を活用してください。

§ Q5. 複数のDifyアプリを1つのフロントから利用できますか?

API経由のカスタムUIであれば可能です。用途に応じて複数のDifyアプリを呼び分けたり、結果を組み合わせて表示したりする高度な設計が実現できます。


§ まとめ

  1. Difyのフロント展開は3つの選択肢:埋め込みウィジェット、Webアプリ公開、カスタムUIから、開発工数と自由度のバランスで選ぶ

  2. 埋め込みウィジェットで「数分以内に公開」は現実:スクリプト数行で既存サイトにAIボットを追加できる

  3. 本格的な統合にはAPI経由のカスタムUI:DifyをBaaSとして活用し、完全に独自のフロントエンドを構築できる

  4. 「ユーザーの環境に届ける」発想が成功の鍵:カカクコムのTeams統合、長谷工の現場端末展開が示すように、既存の業務フローに溶け込む設計が重要

フロント選択は、単なる技術的な決定ではありません。「ユーザーとAIがどのような体験を共有するか」を決める、サービス設計の根幹です。

AIボットを公開した。次は、外部サービスとの連携は?

次の記事では、DifyのAPI連携やWebhookによる外部サービス接続を解説します。Slack、メール、CRMなど、既存のツールとAIをつなぐ方法をお伝えします。

→ 次へ:応用編 ─ 他サービス連携の実践ガイド


Data Insightでは、Difyの導入からフロント展開、既存システムとの統合までを一貫して支援しています。自社に合った展開方法を知りたい方は、ぜひ無料相談をご利用ください。

無料相談で課題を整理する
#サービス業#DX#AI活用#Dify#チャットボット#中小企業#デジタル化

記事の内容について相談する

AI導入やデータ活用について、より詳しい情報をご希望ですか?
初回相談は無料です。お気軽にお問い合わせください。

無料相談を申し込む