{"id":344741,"date":"2026-08-04T08:13:18","date_gmt":"2026-08-04T08:13:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nsw-aida-bot\/"},"modified":"2026-08-04T08:13:10","modified_gmt":"2026-08-04T08:13:10","slug":"nsw-ai-chat-widget","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/nsw-ai-chat-widget\/","author":23536945,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"NSW AI Chat Widget","header_author":"nosolowebs.es","header_description":"AI chatbot for your website. Connects to the AI provider you choose in the settings. Highly customizable.","assets_banners_color":"","last_updated":"2026-08-04 08:13:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/nosolowebs.es","rating":0,"author_block_rating":0,"active_installs":0,"downloads":22,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"nosolowebs","date":"2026-08-04 08:13:10"}},"upgrade_notice":{"1.0.0":"<p>First public release on the WordPress.org Plugin Directory. Settings are preserved.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3633915,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,2364,216196,229563,2379],"plugin_category":[],"plugin_contributors":[274411],"plugin_business_model":[],"class_list":["post-344741","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chatbot","plugin_tags-chatgpt","plugin_tags-claude","plugin_tags-live-chat","plugin_contributors-nosolowebs","plugin_committers-nosolowebs"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/nsw-ai-chat-widget\/assets\/icon.svg?rev=3633915","icon":"https:\/\/ps.w.org\/nsw-ai-chat-widget\/assets\/icon.svg?rev=3633915","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>NSW AI Chat Widget adds an AI-powered chat widget to your WordPress site, powered by the AI provider of your choice \u2014 you pick the provider and the model, and you use your own API key.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li><strong>Six AI providers<\/strong>: Anthropic (Claude), OpenAI (ChatGPT), Google (Gemini), DeepSeek, xAI (Grok) and Mistral. Pick the provider and the exact model from the settings \u2014 no code changes needed when new models are released.<\/li>\n<li><strong>System prompt and FAQ editor<\/strong>: define the bot's behavior, personality, knowledge and official answers.<\/li>\n<li><strong>Deep appearance customization<\/strong>: every element of the widget (bubble, header, header buttons, window, message bubbles) has its own collapsible settings section \u2014 colors with alpha channel, borders, radius, per-side padding, size, position and responsive breakpoints, Elementor-style.<\/li>\n<li><strong>Live preview<\/strong>: see the closed bubble and the open chat update in real time while you edit, before saving.<\/li>\n<li><strong>Automatic contrast<\/strong>: text on top of your brand color switches between black and white automatically so it always stays readable.<\/li>\n<li><strong>Conversation history<\/strong>: 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.<\/li>\n<li><strong>Open the chat from any element<\/strong> by adding the <code>nswchat-chat-toggle<\/code> CSS class (e.g. an Elementor button).<\/li>\n<li><strong>Security<\/strong>: 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.<\/li>\n<li><strong>Accessible<\/strong>: ARIA labels, keyboard support (Escape closes the chat), focus management.<\/li>\n<li><strong>Translation-ready<\/strong>: English base; community translations via translate.wordpress.org.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>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:<\/p>\n\n<ul>\n<li><strong>Anthropic API<\/strong> (<code>https:\/\/api.anthropic.com<\/code>) \u2014 <a href=\"https:\/\/www.anthropic.com\/legal\/consumer-terms\">Terms of service<\/a> \u2014 <a href=\"https:\/\/www.anthropic.com\/legal\/privacy\">Privacy policy<\/a><\/li>\n<li><strong>OpenAI API<\/strong> (<code>https:\/\/api.openai.com<\/code>) \u2014 <a href=\"https:\/\/openai.com\/policies\/terms-of-use\">Terms of use<\/a> \u2014 <a href=\"https:\/\/openai.com\/policies\/privacy-policy\">Privacy policy<\/a><\/li>\n<li><strong>Google Gemini API<\/strong> (<code>https:\/\/generativelanguage.googleapis.com<\/code>) \u2014 <a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\">Terms of service<\/a> \u2014 <a href=\"https:\/\/policies.google.com\/privacy\">Privacy policy<\/a><\/li>\n<li><strong>DeepSeek API<\/strong> (<code>https:\/\/api.deepseek.com<\/code>) \u2014 <a href=\"https:\/\/platform.deepseek.com\/downloads\/DeepSeek%20Open%20Platform%20Terms%20of%20Service.html\">Terms of use<\/a> \u2014 <a href=\"https:\/\/platform.deepseek.com\/downloads\/DeepSeek%20Privacy%20Policy.html\">Privacy policy<\/a><\/li>\n<li><strong>xAI API<\/strong> (<code>https:\/\/api.x.ai<\/code>) \u2014 <a href=\"https:\/\/x.ai\/legal\/terms-of-service\">Terms of service<\/a> \u2014 <a href=\"https:\/\/x.ai\/legal\/privacy-policy\">Privacy policy<\/a><\/li>\n<li><strong>Mistral API<\/strong> (<code>https:\/\/api.mistral.ai<\/code>) \u2014 <a href=\"https:\/\/mistral.ai\/terms\/\">Terms of service<\/a> \u2014 <a href=\"https:\/\/mistral.ai\/terms\/#privacy-policy\">Privacy policy<\/a><\/li>\n<\/ul>\n\n<p>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.<\/p>\n\n<h3>Privacy<\/h3>\n\n<ul>\n<li>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.<\/li>\n<li>The chat history shown to returning visitors is kept in their browser's localStorage.<\/li>\n<li>If you enable \"Delete all data when the plugin is uninstalled\", everything (conversations, settings, API keys) is removed on uninstall.<\/li>\n<li>Consider linking your privacy\/terms page using the \"Terms of use\" option, which shows a link in the chat footer.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>nsw-ai-chat-widget<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>AI Chat Widget \u2192 Settings<\/strong> in the admin menu.<\/li>\n<li>In the <strong>API Keys<\/strong> tab, choose your AI provider (Anthropic, OpenAI, Google Gemini, DeepSeek, xAI or Mistral) and enter that provider's API key.<\/li>\n<li>Define the bot's behavior in <strong>Instructions<\/strong>.<\/li>\n<li>Customize the look in <strong>Appearance<\/strong> \u2014 the live preview updates as you type.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses your own account with the provider you select. Get a key from your provider's dashboard: <a href=\"https:\/\/console.anthropic.com\/\">Anthropic<\/a>, <a href=\"https:\/\/platform.openai.com\/api-keys\">OpenAI<\/a>, <a href=\"https:\/\/aistudio.google.com\/apikey\">Google Gemini<\/a>, <a href=\"https:\/\/platform.deepseek.com\/api_keys\">DeepSeek<\/a>, <a href=\"https:\/\/console.x.ai\/\">xAI<\/a> or <a href=\"https:\/\/console.mistral.ai\/api-keys\/\">Mistral<\/a>. Each message consumes tokens billed by the provider to your account.<\/p><\/dd>\n<dt id=\"which%20models%20can%20i%20use%3F\"><h3>Which models can I use?<\/h3><\/dt>\n<dd><p>Any current model of the selected provider \u2014 the model ID is a free text setting. The defaults (<code>claude-haiku-4-5<\/code>, <code>gpt-4o-mini<\/code>, <code>gemini-2.5-flash<\/code>, <code>deepseek-chat<\/code>, <code>grok-3-mini<\/code>, <code>mistral-small-latest<\/code>) are cost-effective models well suited to website chat.<\/p><\/dd>\n<dt id=\"is%20any%20data%20sent%20to%20third%20parties%3F\"><h3>Is any data sent to third parties?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20open%20the%20chat%20from%20my%20own%20button%3F\"><h3>Can I open the chat from my own button?<\/h3><\/dt>\n<dd><p>Yes \u2014 add the CSS class <code>nswchat-chat-toggle<\/code> to any element (in Elementor: Advanced \u2192 CSS Classes).<\/p><\/dd>\n<dt id=\"does%20it%20delete%20my%20data%20if%20i%20uninstall%20it%3F\"><h3>Does it delete my data if I uninstall it?<\/h3><\/dt>\n<dd><p>Only if you enable \"Delete all data when the plugin is uninstalled\" in the Advanced tab. It is disabled by default.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<p>First public release on the WordPress.org Plugin Directory.<\/p>\n\n<h4>0.9.0<\/h4>\n\n<p>Pre-release: feature-complete ahead of the WordPress.org directory submission.<\/p>\n\n<ul>\n<li>Six AI providers \u2014 Anthropic (Claude), OpenAI (ChatGPT), Google (Gemini), DeepSeek, xAI (Grok) and Mistral \u2014 each with its own encrypted API key and free-text model setting, so new models can be used the day they're released.<\/li>\n<li>Only the active provider's key and model fields are shown in the API Keys tab.<\/li>\n<li>Deep per-element appearance customization (bubble, header, header buttons, window, messages) with alpha color pickers, per-side paddings, responsive breakpoints and a live preview.<\/li>\n<li>Automatic black\/white contrast for text on top of the primary color.<\/li>\n<li>Customizable welcome message, input placeholder, \"Terms of use\" link text and URL.<\/li>\n<li>Cost controls: response token limit, history cap, server-side message length caps, per-IP rate limiting and an optional site-wide daily message limit.<\/li>\n<li>Conversation history with contact detection, reviewable in a chat-style admin view.<\/li>\n<li>Opt-in (disabled by default) \"Powered by\" footer credit, per directory guidelines.<\/li>\n<li>\"Delete all data on uninstall\" option with a proper <code>uninstall.php<\/code>.<\/li>\n<li>Full internationalization (English base); ready for community translations on translate.wordpress.org.<\/li>\n<li>Accessibility: ARIA labels, Escape closes the chat, focus management.<\/li>\n<\/ul>","raw_excerpt":"AI chatbot for your website. Supports Anthropic (Claude), OpenAI (ChatGPT), Google (Gemini), DeepSeek, xAI (Grok) and Mistral. Highly customizable.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344741"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nosolowebs"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344741"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344741"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344741"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344741"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344741"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}