Title: WLN Multi-Provider AI Chat
Author: gsxr777
Published: <strong>October 12, 2026</strong>
Last modified: October 12, 2026

---

Search plugins

![](https://ps.w.org/wln-multi-provider-ai-chat/assets/banner-772x250.png?rev=3740860)

![](https://ps.w.org/wln-multi-provider-ai-chat/assets/icon-256x256.png?rev=3740860)

# WLN Multi-Provider AI Chat

 By [gsxr777](https://profiles.wordpress.org/gsxr777/)

[Download](https://downloads.wordpress.org/plugin/wln-multi-provider-ai-chat.1.4.8.zip)

 * [Details](https://wordpress.org/plugins/wln-multi-provider-ai-chat/#description)
 * [Reviews](https://wordpress.org/plugins/wln-multi-provider-ai-chat/#reviews)
 *  [Installation](https://wordpress.org/plugins/wln-multi-provider-ai-chat/#installation)
 * [Development](https://wordpress.org/plugins/wln-multi-provider-ai-chat/#developers)

 [Support](https://wordpress.org/support/plugin/wln-multi-provider-ai-chat/)

## Description

WLN Multi-Provider AI Chat adds a floating chat widget to a WordPress site. Site
administrators choose an AI endpoint and model, supply credentials, and configure
the widget. Replies are generated by the configured service.

Features include:

 * OpenAI, Anthropic Claude, Google Gemini, YandexGPT, OpenRouter, local Ollama,
   and custom OpenAI-compatible endpoints.
 * A local database knowledge index for published, publicly viewable posts and pages
   without passwords, and administrator-supplied Markdown documents.
 * Optional page context and configurable conversation history sent with a question.
 * Widget colors, dimensions, position, fonts, and welcome messages.
 * Signed visitor sessions, abuse-prevention rate limits, encrypted API-key storage,
   and administrator permission checks.
 * Local conversation statistics, configurable retention, and visitor-controlled
   history deletion.
 * Translation-ready interface and integration with Polylang for saved widget strings.
   Translations are distributed through translate.wordpress.org.

All included plugin features are available without a plugin license or subscription.
External AI providers may require accounts and charge for their processing. Request
limits protect the site from abuse; they do not unlock paid plugin features.

This is an independent plugin and is not affiliated with the listed AI providers.

### External services

No provider request is made merely by activating the plugin or opening the widget.
After the administrator configures the service, requests are made when a visitor
sends a message or an administrator clicks Test Connection. The connection test 
sends a fixed test message through the same prompt-building process, so configured
system instructions and any relevant knowledge excerpts may also be included.

Requests contain the API credential, selected model and generation parameters, system
instructions, the current message and a limited conversation history. Relevant knowledge
excerpts may be included. If page context is enabled, the current page URL, title,
content excerpt and selected text may also be included. Yandex requests additionally
include the configured project/folder identifier. The provider sees the server’s
network address and HTTP request metadata. Visitor IP addresses and browser user
agents are not deliberately included in AI prompt payloads.

Only the configured endpoint receives these requests. Asynchronous Yandex generation
may require follow-up status requests. There is no developer telemetry, advertising
tracker or license-verification service. Provider documentation links are ordinary
links and open only when clicked.

#### OpenAI

Used to generate chat replies at https://api.openai.com/v1. Receives the request
data described above when selected and a chat or test request is submitted.
 Terms:
https://openai.com/policies/services-agreement/ Privacy: https://openai.com/policies/
privacy-policy/

#### Anthropic

Used to generate Claude replies at https://api.anthropic.com/v1. Receives the request
data described above when selected and a chat or test request is submitted.
 Terms:
https://www.anthropic.com/legal/commercial-terms Privacy: https://www.anthropic.
com/legal/privacy

#### Google Gemini

Used to generate replies at https://generativelanguage.googleapis.com/v1beta. Receives
the request data described above when selected and a chat or test request is submitted.

Terms: https://ai.google.dev/gemini-api/terms Privacy: https://policies.google.com/
privacy

#### Yandex Cloud

Used to generate YandexGPT replies at https://ai.api.cloud.yandex.net/v1 or another
administrator-configured Yandex Foundation Models endpoint. Receives the request
data described above, including the project/folder identifier, on chat and test 
requests; operation identifiers are sent when polling asynchronous results.
 Terms:
https://yandex.com/legal/cloud_termsofuse/en/ Privacy: https://yandex.com/legal/
confidential/en/

#### OpenRouter

Used to route generation requests through https://openrouter.ai/api/v1 to the selected
model provider. Receives the request data described above on chat and test requests
and forwards content to the upstream provider. Review that model provider’s policies
as well.
 Terms: https://openrouter.ai/terms Privacy: https://openrouter.ai/privacy

#### Ollama and custom endpoints

The Ollama preset uses http://localhost:11434/v1 on the WordPress server. The same
request data is sent to that local service on chat and test requests. The plugin
does not contact ollama.com automatically. Whether an Ollama model or a custom gateway
forwards data elsewhere depends on how the administrator configures that service.

Ollama service terms: https://ollama.com/terms Ollama privacy: https://ollama.com/
privacy Local Ollama software license: https://github.com/ollama/ollama/blob/main/
LICENSE

For a custom endpoint, the destination and applicable terms/privacy policy are determined
by the administrator. Review those documents before configuration and disclose that
service in the site’s privacy notice. The plugin cannot identify the operator or
terms of an arbitrary URL.

#### Poolside (optional custom endpoint)

When an administrator configures https://inference.poolside.ai/v1 and a supported
model, Poolside generates replies using the same request data and triggers described
above. The plugin allows a longer request timeout for Poolside endpoints. No Poolside
request is made unless that endpoint is explicitly configured.
 Terms: https://poolside.
ai/legal/eula Privacy: https://poolside.ai/legal/privacy

### License

GPL version 2 or later. See LICENSE.

## Screenshots

[⌊Floating AI chat widget with a welcome message and message input.⌉⌊Floating AI
chat widget with a welcome message and message input.⌉[

Floating AI chat widget with a welcome message and message input.

[⌊API settings: provider endpoint, model, generation parameters, page context and
data retention.⌉⌊API settings: provider endpoint, model, generation parameters, 
page context and data retention.⌉[

API settings: provider endpoint, model, generation parameters, page context and 
data retention.

[⌊Knowledge base: site content index and Markdown document editor.⌉⌊Knowledge base:
site content index and Markdown document editor.⌉[

Knowledge base: site content index and Markdown document editor.

[⌊General widget settings: title, welcome message, position and dimensions.⌉⌊General
widget settings: title, welcome message, position and dimensions.⌉[

General widget settings: title, welcome message, position and dimensions.

[⌊Widget appearance settings: color scheme, gradients, message colors and fonts.⌉⌊
Widget appearance settings: color scheme, gradients, message colors and fonts.⌉[

Widget appearance settings: color scheme, gradients, message colors and fonts.

[⌊Conversation statistics: sessions, messages and average messages per session.⌉⌊
Conversation statistics: sessions, messages and average messages per session.⌉[

Conversation statistics: sessions, messages and average messages per session.

## Installation

 1. Upload the plugin ZIP through Plugins > Add New > Upload Plugin and activate it.
 2. Open AI Chat > API Settings. Review the external-service disclosures below, then
    choose an endpoint and model and enter the provider’s API key. For a local Ollama
    endpoint that ignores authentication, enter a non-empty placeholder such as `ollama`.
 3. Click Test Connection, then save the settings.
 4. Configure Widget Settings and optionally add Markdown documents under Knowledge
    Base.
 5. Update the site’s privacy notice to describe chat storage and the chosen provider.
    The floating widget appears on the frontend.

PHP OpenSSL with AES-256-GCM support is required to store provider credentials. 
Markdown knowledge documents are available as reference material for public visitor
questions: upload only information intended for that audience. Sites with membership
or other third-party content restrictions should review which published content 
is appropriate for the knowledge index.

Knowledge documents are saved as plain Markdown text. HTML tags are removed and 
invalid UTF-8 is rejected; line breaks, headings, lists and other plain Markdown
formatting are retained.

Developers can exclude additional posts with the `wln_multi_provider_ai_chat_public_knowledge_post`
filter (return false for restricted posts); it is applied at indexing and retrieval.
Provider requests do not follow HTTP redirects: configure the final API endpoint
URL. Administrator connection tests display provider errors; the local `wln_multi_provider_ai_chat_error`
action provides fixed diagnostic event names without logging credentials, prompts
or provider response bodies.

The floating widget is configured through Widget Settings. Existing `[gsxr_777_chat]`
shortcodes and the new `[wln_multi_provider_ai_chat]` alias remain recognized; the
frontend displays one global floating widget.

## FAQ

### Where is chat data stored?

Conversation messages and local statistics are stored in this site’s WordPress database.
A signed conversation credential is stored in the visitor’s browser local storage
so the conversation can resume after page reloads. Visitors can clear their history.
Retention and optional request metadata are configurable in API Settings.

### Will an update reset my settings?

No. Existing option names, database tables, encryption derivation, browser session
storage and the legacy shortcode are retained for compatibility. Defaults are added
only for missing options. A fallback imports options from partially renamed builds
only when the original option does not exist. Deactivation does not delete settings.

The first change from the old plugin directory/main filename to the new slug requires
manual activation of the new plugin. Back up the site, deactivate the old plugin,
install and activate this package, then check the existing configuration. Do not
activate both copies together. Do not use WordPress’s Delete action on the old copy
if its data-removal option is enabled, because both copies share stored data. A 
slug change does not automatically become a normal WordPress update.

### Does this use the WordPress AI Client?

This release retains direct provider integrations to preserve existing credentials,
model parameters, custom endpoints and support for WordPress versions before 7.0.
It does not automatically migrate provider settings into the core AI Client.

### Are there private REST endpoints?

The session endpoint issues a new random signed credential without storing data 
or contacting an AI provider. Configuration and translated-label endpoints intentionally
expose only frontend widget settings. Chat and history endpoints require the conversation’s
signed credential. Administrative operations require manage_options and form/AJAX
nonces when changing data.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WLN Multi-Provider AI Chat” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ gsxr777 ](https://profiles.wordpress.org/gsxr777/)

[Translate “WLN Multi-Provider AI Chat” into your language.](https://translate.wordpress.org/projects/wp-plugins/wln-multi-provider-ai-chat)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wln-multi-provider-ai-chat/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wln-multi-provider-ai-chat/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wln-multi-provider-ai-chat/)
by [RSS](https://plugins.trac.wordpress.org/log/wln-multi-provider-ai-chat/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.8

 * Fixed the Widget Settings tabs to display General and Appearance in English while
   preserving their Russian translations.

#### 1.4.7

 * Bundled the Russian translation, including the conversation history clearing 
   message.
 * Registered bundled language files while retaining priority for WordPress.org 
   language packs.

#### 1.4.6

 * Removed DATETIME expression defaults for compatibility with older MySQL versions
   and strict SQL modes.
 * Verified required database schema changes before recording a completed upgrade;
   failed upgrades remain retryable.
 * Declared integer display widths explicitly so schema verification also completes
   on MariaDB.
 * Prevented LiteSpeed REST caching of chat endpoints so session checks and conversation
   history remain current.
 * Used portable session index prefixes and handled unavailable optional FULLTEXT
   indexes without activation output.
 * Checked OpenSSL requirements and handled storage initialization failures during
   activation.

#### 1.4.5

 * Kept the Tested up to declaration only in this readme.
 * Applied separate widget width (300-800px) and height (400-900px) setting sanitizers.
 * Sanitized POST values at input, preserving multiline welcome messages and system
   instructions.
 * Sanitized Markdown text in both editor save handlers, file uploads and the shared
   storage method.

#### 1.4.4

 * Escaped quotes when formatting message links to prevent HTML attribute injection.
 * Excluded password-protected posts and rechecked post visibility when retrieving
   existing knowledge chunks.
 * Validated REST chat parameter types and message length before processing requests.
 * Disabled API redirects to avoid forwarding credentials and limited response sizes.
 * Replaced raw error logging with local diagnostic events that contain only fixed
   event identifiers.
 * Cleared scheduled tasks and partial-rename fallback options during the relevant
   uninstall paths.

#### 1.4.3

 * Prevented theme section containment from clipping the floating button on hover.
 * Isolated the send button dimensions and outline icons from global theme submit-
   button and SVG styles.
 * Localized previously saved English default widget labels at display time while
   preserving custom text and stored settings.

#### 1.4.2

 * Prevented double encryption when WordPress sanitizes an already encrypted API
   key.
 * Added read compatibility for previously double-encrypted keys without rewriting
   saved settings.
 * Improved errors from providers that return a string error and retained HTTP status
   when no message is available.

#### 1.4.1

 * Renamed the plugin, PHP and JavaScript classes, files, frontend CSS classes and
   translation domain to WLN Multi-Provider AI Chat.
 * Preserved existing settings, API-key encryption, database tables, saved sessions
   and legacy shortcodes and REST routes.
 * Fixed inconsistent storage identifiers left by a partial rename.
 * Documented external services and public REST routes; removed unnecessary public
   WordPress nonces.
 * Removed bundled translations and manual text-domain loading in favor of WordPress.
   org language packs.

#### 1.4.0

 * Added signed sessions, authenticated API-key encryption, local knowledge indexing,
   retention cleanup and widget improvements.

## Meta

 *  Version **1.4.8**
 *  Last updated **21 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[chat](https://wordpress.org/plugins/tags/chat/)
   [chatbot](https://wordpress.org/plugins/tags/chatbot/)[customer support](https://wordpress.org/plugins/tags/customer-support/)
   [knowledge base](https://wordpress.org/plugins/tags/knowledge-base/)
 *  [Advanced View](https://wordpress.org/plugins/wln-multi-provider-ai-chat/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wln-multi-provider-ai-chat/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wln-multi-provider-ai-chat/reviews/)

## Contributors

 *   [ gsxr777 ](https://profiles.wordpress.org/gsxr777/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wln-multi-provider-ai-chat/)