=== Solun AI Concierge Search ===
Contributors: solun
Donate link: https://www.solun.jp/
Tags: ai, chat, chatbot, mcp, search
Requires at least: 6.7
Tested up to: 6.9
Stable tag: 1.0.2
Requires PHP: 8.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

訪問者が AI とチャットし、サイト内の適切なページへ案内される体験を提供します。

== Description ==

Solun AI Concierge Search は、会話を通じて訪問者が WordPress サイト上の最適なコンテンツを見つけられるよう支援するチャットボットプラグインです。Claude（Anthropic）、ChatGPT（OpenAI）、Gemini（Google）から選択できます。

**対応 AI プロバイダー**

* Claude（Anthropic）
* ChatGPT（OpenAI）
* Gemini（Google）

**機能**

* 設定画面で AI プロバイダーとモデルを選択できます。
* API キーは暗号化して保存され、ログイン中のサイト管理者のみが扱えます。訪問者や第三者には公開されません。
* AI が投稿・固定ページを検索し、その結果を返答に利用するため、訪問者は関連性の高いコンテンツへ自然に誘導されます。
* 管理画面で会話履歴とログを確認できます。
* フロントエンドにチャットウィジェットを表示します。タイトル、ウェルカムメッセージ、色などを設定で変更できます。
* WordPress コンテンツ検索のサイト全体の 1 日あたり上限（デフォルトは全訪問者合計 500 回）。サーバー負荷の抑制に役立ちます。設定で 0 にすると無制限です。

**動作要件**

* WordPress 6.7 以上
* PHP 8.1 以上

== Installation ==

1. プラグインの ZIP を「プラグイン」→「新規追加」→「プラグインのアップロード」からアップロードするか、`wp-content/plugins/` に展開します。
2. プラグインメニューから「Solun AI Concierge Search」を有効化します。
3. 「設定」→「Solun AI Concierge Search」で、利用する AI プロバイダーの API キーとモデルを入力します。
4. フロントエンドにチャットウィジェットが表示されます。必要に応じて設定でタイトル、ウェルカムメッセージ、色を変更できます。

== External services ==

本プラグインはチャットボットの応答のため、第三者の AI API に接続します。サイト管理者が設定で**いずれか 1 つ**のプロバイダーを選びます。選択したプロバイダーにのみデータが送られ、3 社すべてに送られることはありません。

=== 1. OpenAI（ChatGPT） ===

* **概要と用途:** 「OpenAI」が選択されているとき、OpenAI の Chat Completions API がチャットボットを動かします。訪問者のメッセージを処理し、サイト内の関連コンテンツへ案内する AI 生成の返答を返します。
* **送信されるデータとタイミング:** 訪問者がチャットを送信するたびに、OpenAI へ次が送られます。訪問者のメッセージ、そのセッションの会話履歴（ある場合）、指示を含むシステムプロンプト、および AI がサイト検索を行ったときは一致した投稿・固定ページのタイトル、URL、抜粋。送信は訪問者がメッセージを送信し、かつ OpenAI が設定されたプロバイダーのときに限られます。
* **利用規約:** https://openai.com/policies/terms-of-use
* **プライバシーポリシー:** https://openai.com/policies/privacy-policy
* **API ドキュメント:** https://platform.openai.com/docs/

=== 2. Google（Gemini） ===

* **概要と用途:** 「Google」が選択されているとき、Google の Generative Language API（Gemini）がチャットボットを動かします。訪問者のメッセージを処理し、サイト内の関連コンテンツへ案内する AI 生成の返答を返します。
* **送信されるデータとタイミング:** 訪問者がチャットを送信するたびに、Google へ次が送られます。訪問者のメッセージ、そのセッションの会話履歴（ある場合）、指示を含むシステムプロンプト、および AI がサイト検索を行ったときは一致した投稿・固定ページのタイトル、URL、抜粋。送信は訪問者がメッセージを送信し、かつ Google が設定されたプロバイダーのときに限られます。
* **利用規約:** https://policies.google.com/terms
* **プライバシーポリシー:** https://policies.google.com/privacy
* **API ドキュメント:** https://ai.google.dev/gemini-api/docs

=== 3. Anthropic（Claude） ===

* **概要と用途:** 「Anthropic」が選択されているとき、Anthropic の Messages API がチャットボットを動かします。訪問者のメッセージを処理し、サイト内の関連コンテンツへ案内する AI 生成の返答を返します。
* **送信されるデータとタイミング:** 訪問者がチャットを送信するたびに、Anthropic へ次が送られます。訪問者のメッセージ、そのセッションの会話履歴（ある場合）、指示を含むシステムプロンプト、および AI がサイト検索を行ったときは一致した投稿・固定ページのタイトル、URL、抜粋。送信は訪問者がメッセージを送信し、かつ Anthropic が設定されたプロバイダーのときに限られます。
* **利用規約:** https://www.anthropic.com/legal/commercial-terms
* **プライバシーポリシー:** https://www.anthropic.com/legal/privacy
* **API ドキュメント:** https://docs.anthropic.com/

=== 一般事項 ===

* API キーは WordPress サイト上で暗号化され、ログイン中の管理者のみがアクセスできます。訪問者やフロントエンドのコードには公開されません。
* 不正利用防止のため、レート制限（IP あたり 1 分間にチャット 10 回まで）を適用します。別途、サイト全体の 1 日あたりのコンテンツ検索上限が全訪問者合計に適用されます（設定で変更可能。0 は無制限）。
* サイト運営者は、自サイトのプライバシーポリシーでこのデータの流れを開示し、管轄区域で必要な同意を得ることを推奨します。

== Frequently Asked Questions ==

= どの AI プロバイダーが使えますか？ =

Claude（Anthropic）、ChatGPT（OpenAI）、Gemini（Google）が使えます。利用したいプロバイダーの API キーだけを設定すればよく、3 社すべてに登録する必要はありません。

= サイト内検索はどのように動きますか？ =

AI が訪問者の質問に基づいてサイトのコンテンツを検索し、その結果を返答に使います。訪問者はニーズに最も合うコンテンツへ自然に誘導されます。

= API キーは安全に保存されますか？ =

API キーは暗号化して保存されます。ログイン中のサイト管理者のみが閲覧・利用でき、訪問者やサイト外の第三者には公開されません。

= API リクエストにレート制限はありますか？ =

はい。サービス保護のため、公開エンドポイントに IP ごと・分ごとの上限を設けています。
同一 IP から `/chat` は 1 分間に最大 10 回まで利用できます。
同一 IP から `/history` は 1 分間に最大 30 回までリクエストできます。
上限を超えると API は HTTP 429（Too Many Requests）を返します。

加えて、**サイト全体**で、**WordPress のコンテンツ検索**（AI プロバイダーへの呼び出しではありません）について、サイトのタイムゾーンでの暦日あたり、全訪問者合計の上限があります。デフォルトは設定を保存するまで 1 日 500 回です。0 にすると無制限です。AI ツール用に実行された各検索クエリがこの合計にカウントされ、内部の `/search` エンドポイント利用時も 1 回としてカウントされます。

= 本プラグインはどのようなデータを送受信・保存しますか？ =

AI の応答を提供するため、設定したプロバイダー（Anthropic、OpenAI、Google のいずれか）に、訪問者のメッセージと選択されたコンテキストが送信されます。

WordPress サイト上では、会話ログ、検索ログ、エラーログをカスタムテーブルに保存する場合があります。API キーは暗号化され、ログイン中のサイト管理者のみがアクセスできます。

ログの保持期間はプラグイン設定で変更できます。サイト運営者には、自サイトのプライバシーポリシーでこの挙動を開示し、管轄区域で必要な同意を得ることを推奨します。

== Screenshots ==

1. フロントエンドのチャットウィジェット
2. 設定画面（プロバイダー、モデル、API キー）
3. 管理画面のログ一覧

== Changelog ==

= 1.0.2 =
* チャット表示で生 JSON が出る場合の修正
* モデル選択時の管理画面メッセージの改善
* 検索・プロンプトの調整、検索 0 件時の扱いの改善

= 1.0.1 =
* 旧モデルを削除

= 1.0.0 =
* 初回リリース
* Claude、ChatGPT、Gemini に対応
* 訪問者を関連コンテンツへ案内するサイト内検索
* チャットウィジェット、会話履歴、ログ記録

== Upgrade Notice ==

= 1.0.2 =
メンテナンスリリース。チャット表示の修正、モデル選択まわりの案内、検索・プロンプトの改善を含みます。

= 1.0.0 =
初回リリース。訪問者が AI とチャットし、サイト内の最適なコンテンツへ案内されるチャットボットです。
