Title: NSW AI Chat Widget
Author: nosolowebs
Published: <strong>August 4, 2026</strong>
Last modified: August 4, 2026

---

Search plugins

![](https://ps.w.org/nsw-ai-chat-widget/assets/icon.svg?rev=3633915)

# NSW AI Chat Widget

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

[Download](https://downloads.wordpress.org/plugin/nsw-ai-chat-widget.1.0.0.zip)

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

 [Support](https://wordpress.org/support/plugin/nsw-ai-chat-widget/)

## Description

NSW AI Chat Widget adds an AI-powered chat widget to your WordPress site, powered
by the AI provider of your choice — you pick the provider and the model, and you
use your own API key.

**Features**

 * **Six AI providers**: Anthropic (Claude), OpenAI (ChatGPT), Google (Gemini), 
   DeepSeek, xAI (Grok) and Mistral. Pick the provider and the exact model from 
   the settings — no code changes needed when new models are released.
 * **System prompt and FAQ editor**: define the bot’s behavior, personality, knowledge
   and official answers.
 * **Deep appearance customization**: every element of the widget (bubble, header,
   header buttons, window, message bubbles) has its own collapsible settings section—
   colors with alpha channel, borders, radius, per-side padding, size, position 
   and responsive breakpoints, Elementor-style.
 * **Live preview**: see the closed bubble and the open chat update in real time
   while you edit, before saving.
 * **Automatic contrast**: text on top of your brand color switches between black
   and white automatically so it always stays readable.
 * **Conversation history**: every conversation is stored with the source page and
   automatically detected contact details (email, phone), and can be reviewed in
   a chat-style admin view.
 * **Open the chat from any element** by adding the `nswchat-chat-toggle` CSS class(
   e.g. an Elementor button).
 * **Security**: API keys stored encrypted (AES-256-CBC), nonce-protected AJAX, 
   full input sanitization, per-IP rate limiting, an optional site-wide daily message
   limit, server-side message length caps, and XSS-safe message rendering.
 * **Accessible**: ARIA labels, keyboard support (Escape closes the chat), focus
   management.
 * **Translation-ready**: English base; community translations via translate.wordpress.
   org.

### External services

This plugin connects to a third-party AI API to generate the chatbot’s replies. 
No connection is made until you configure an API key. Depending on the provider 
you select in the settings, each chat message (together with the recent conversation
history and your configured instructions) is sent to one of:

 * **Anthropic API** (`https://api.anthropic.com`) — [Terms of service](https://www.anthropic.com/legal/consumer-terms)—
   [Privacy policy](https://www.anthropic.com/legal/privacy)
 * **OpenAI API** (`https://api.openai.com`) — [Terms of use](https://openai.com/policies/terms-of-use)—
   [Privacy policy](https://openai.com/policies/privacy-policy)
 * **Google Gemini API** (`https://generativelanguage.googleapis.com`) — [Terms of service](https://ai.google.dev/gemini-api/terms)—
   [Privacy policy](https://policies.google.com/privacy)
 * **DeepSeek API** (`https://api.deepseek.com`) — [Terms of use](https://platform.deepseek.com/downloads/DeepSeek%20Open%20Platform%20Terms%20of%20Service.html)—
   [Privacy policy](https://platform.deepseek.com/downloads/DeepSeek%20Privacy%20Policy.html)
 * **xAI API** (`https://api.x.ai`) — [Terms of service](https://x.ai/legal/terms-of-service)—
   [Privacy policy](https://x.ai/legal/privacy-policy)
 * **Mistral API** (`https://api.mistral.ai`) — [Terms of service](https://mistral.ai/terms/)—
   [Privacy policy](https://mistral.ai/terms/#privacy-policy)

Only the provider selected as active is contacted. The messages your visitors type
in the chat are transmitted to that provider in order to generate a reply. No other
data from your site is sent.

### Privacy

 * Conversations (messages, source page URL, visitor IP address and any contact 
   details the visitor writes in the chat) are stored in your own WordPress database
   so you can review them. You can delete any conversation from the admin.
 * The chat history shown to returning visitors is kept in their browser’s localStorage.
 * If you enable “Delete all data when the plugin is uninstalled”, everything (conversations,
   settings, API keys) is removed on uninstall.
 * Consider linking your privacy/terms page using the “Terms of use” option, which
   shows a link in the chat footer.

## Installation

 1. Upload the `nsw-ai-chat-widget` folder to `/wp-content/plugins/`, or install it
    from the Plugins screen.
 2. Activate the plugin.
 3. Go to **AI Chat Widget  Settings** in the admin menu.
 4. In the **API Keys** tab, choose your AI provider (Anthropic, OpenAI, Google Gemini,
    DeepSeek, xAI or Mistral) and enter that provider’s API key.
 5. Define the bot’s behavior in **Instructions**.
 6. Customize the look in **Appearance** — the live preview updates as you type.

## FAQ

### Do I need an API key?

Yes. The plugin uses your own account with the provider you select. Get a key from
your provider’s dashboard: [Anthropic](https://console.anthropic.com/), [OpenAI](https://platform.openai.com/api-keys),
[Google Gemini](https://aistudio.google.com/apikey), [DeepSeek](https://platform.deepseek.com/api_keys),
[xAI](https://console.x.ai/) or [Mistral](https://console.mistral.ai/api-keys/).
Each message consumes tokens billed by the provider to your account.

### Which models can I use?

Any current model of the selected provider — the model ID is a free text setting.
The defaults (`claude-haiku-4-5`, `gpt-4o-mini`, `gemini-2.5-flash`, `deepseek-chat`,`
grok-3-mini`, `mistral-small-latest`) are cost-effective models well suited to website
chat.

### Is any data sent to third parties?

Only what is needed to generate replies: the visitor’s chat messages, the recent
history and your configured instructions are sent to the AI provider you selected.
See “External services” above.

### Can I open the chat from my own button?

Yes — add the CSS class `nswchat-chat-toggle` to any element (in Elementor: Advanced
CSS Classes).

### Does it delete my data if I uninstall it?

Only if you enable “Delete all data when the plugin is uninstalled” in the Advanced
tab. It is disabled by default.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“NSW AI Chat Widget” is open source software. The following people have contributed
to this plugin.

Contributors

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

[Translate “NSW AI Chat Widget” into your language.](https://translate.wordpress.org/projects/wp-plugins/nsw-ai-chat-widget)

### Interested in development?

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

## Changelog

#### 1.0.0

First public release on the WordPress.org Plugin Directory.

#### 0.9.0

Pre-release: feature-complete ahead of the WordPress.org directory submission.

 * Six AI providers — Anthropic (Claude), OpenAI (ChatGPT), Google (Gemini), DeepSeek,
   xAI (Grok) and Mistral — each with its own encrypted API key and free-text model
   setting, so new models can be used the day they’re released.
 * Only the active provider’s key and model fields are shown in the API Keys tab.
 * Deep per-element appearance customization (bubble, header, header buttons, window,
   messages) with alpha color pickers, per-side paddings, responsive breakpoints
   and a live preview.
 * Automatic black/white contrast for text on top of the primary color.
 * Customizable welcome message, input placeholder, “Terms of use” link text and
   URL.
 * Cost controls: response token limit, history cap, server-side message length 
   caps, per-IP rate limiting and an optional site-wide daily message limit.
 * Conversation history with contact detection, reviewable in a chat-style admin
   view.
 * Opt-in (disabled by default) “Powered by” footer credit, per directory guidelines.
 * “Delete all data on uninstall” option with a proper `uninstall.php`.
 * Full internationalization (English base); ready for community translations on
   translate.wordpress.org.
 * Accessibility: ARIA labels, Escape closes the chat, focus management.

## Meta

 *  Version **1.0.0**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[chatbot](https://wordpress.org/plugins/tags/chatbot/)
   [ChatGPT](https://wordpress.org/plugins/tags/chatgpt/)[Claude](https://wordpress.org/plugins/tags/claude/)
   [live chat](https://wordpress.org/plugins/tags/live-chat/)
 *  [Advanced View](https://wordpress.org/plugins/nsw-ai-chat-widget/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/nsw-ai-chat-widget/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/nsw-ai-chat-widget/)