{"id":301666,"date":"2026-09-02T17:19:18","date_gmt":"2026-09-02T17:19:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/v7-ai-chatbot\/"},"modified":"2026-09-02T17:19:03","modified_gmt":"2026-09-02T17:19:03","slug":"v7-ai-chatbot","status":"publish","type":"plugin","link":"https:\/\/ps.wordpress.org\/plugins\/v7-ai-chatbot\/","author":23443659,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.7","requires_php":"8.0","requires_plugins":null,"header_name":"V7 AI Chatbot","header_author":"Vaibhaw Kumar","header_description":"AI-powered chatbot for WordPress sites. Provides intelligent customer support using your site content.","assets_banners_color":"dad0fe","last_updated":"2026-09-02 17:19:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/TheVaibhaw\/v7-ai-chatbot","header_author_uri":"https:\/\/vaibhawkumar.in","rating":0,"author_block_rating":0,"active_installs":0,"downloads":49,"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":"thevaibhaw","date":"2026-09-02 17:19:03","revision":3678425}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3678424,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3678424,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3678424,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3678424,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,1320,2364,2369,286],"plugin_category":[45],"plugin_contributors":[255060],"plugin_business_model":[],"class_list":["post-301666","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-assistant","plugin_tags-chatbot","plugin_tags-customer-support","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-thevaibhaw","plugin_committers-thevaibhaw"],"banners":{"banner":"https:\/\/ps.w.org\/v7-ai-chatbot\/assets\/banner-772x250.png?rev=3678424","banner_2x":"https:\/\/ps.w.org\/v7-ai-chatbot\/assets\/banner-1544x500.png?rev=3678424","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/v7-ai-chatbot\/assets\/icon-128x128.png?rev=3678424","icon_2x":"https:\/\/ps.w.org\/v7-ai-chatbot\/assets\/icon-256x256.png?rev=3678424","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>V7 AI Chatbot adds a support assistant to your site that answers questions using <strong>only your published website content<\/strong> \u2014 your pages, posts and WooCommerce products. It is built to stay on-topic and to avoid disclosing anything private.<\/p>\n\n<p>You choose the AI provider and model. API keys are encrypted before being stored in your database, and the plugin never ships with or requires any hardcoded key.<\/p>\n\n<h4>Supported AI providers<\/h4>\n\n<ul>\n<li>WordPress AI Client (uses whatever provider WordPress itself is configured with)<\/li>\n<li>Anthropic Claude<\/li>\n<li>OpenAI GPT<\/li>\n<li>Google Gemini<\/li>\n<li>Groq (ultra-fast LPU inference)<\/li>\n<li>xAI Grok<\/li>\n<li>Mistral AI<\/li>\n<li>Cohere<\/li>\n<li>Meta Llama (via Together.ai)<\/li>\n<li>Ollama (self-hosted, no third-party service)<\/li>\n<\/ul>\n\n<h4>Model list stays current<\/h4>\n\n<p>Providers retire and rename models regularly. Instead of relying on a bundled list that goes stale, the settings screen can fetch the exact models your own API key is allowed to use, directly from the provider. If a configured model is retired, the plugin detects it, switches to a working model automatically and tells you it did so \u2014 so your chatbot does not go down.<\/p>\n\n<h4>Privacy and data protection<\/h4>\n\n<p>The plugin is deliberately conservative about what leaves your server:<\/p>\n\n<ul>\n<li>Only <strong>published, publicly visible<\/strong> content is used. Password-protected posts, private posts, drafts and products hidden from your catalog are excluded.<\/li>\n<li>Post meta, user accounts, customer records and WooCommerce orders are <strong>never read<\/strong>, so sales counts, revenue, stock levels and customer details cannot be sent anywhere.<\/li>\n<li>Before any prompt is sent, a scrubbing pass redacts anything resembling an email address, API key, access token, labelled password or long card-like number.<\/li>\n<li>The assistant is instructed to refuse requests for credentials, login or admin URLs, staff details, customer or order information, and to ignore visitor attempts to override those rules.<\/li>\n<li>Internal error details are shown only to administrators; visitors receive a neutral message.<\/li>\n<\/ul>\n\n<h4>Security<\/h4>\n\n<ul>\n<li>API keys are encrypted at rest using AES-256-CBC with a key derived from your site's own WordPress salts. No static or shared key is used.<\/li>\n<li>Saved keys are never redisplayed in the admin screen, and browser password managers are blocked from auto-filling the key fields.<\/li>\n<li>Keys are format-validated before saving, so pasting the wrong provider's key (or an auto-filled password) is rejected with a clear message instead of failing silently later.<\/li>\n<li>All AJAX endpoints are nonce-verified, and administrative actions require the <code>manage_options<\/code> capability.<\/li>\n<li>All database queries use prepared statements; all output is escaped.<\/li>\n<\/ul>\n\n<h3>Source Code<\/h3>\n\n<p>All JavaScript and CSS is shipped unminified and human-readable under the <code>assets\/<\/code> directory. Development happens publicly at:\nhttps:\/\/github.com\/TheVaibhaw\/v7-ai-chatbot<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin sends data to a third-party AI provider <strong>only when you configure one and a visitor uses the chatbot<\/strong>. You choose which provider; only the one you select is contacted.<\/p>\n\n<p>What is sent: the visitor's chat message, plus context assembled from your published pages, posts and\/or products (whichever you enable), plus your site name and description. Password-protected and private content, post meta, user data and WooCommerce order data are never included, and likely secrets or contact details are redacted before sending.<\/p>\n\n<p>Depending on your selection, requests go to one of:<\/p>\n\n<ul>\n<li>Anthropic \u2014 https:\/\/api.anthropic.com \u2014 <a href=\"https:\/\/www.anthropic.com\/legal\/commercial-terms\">Terms<\/a> \/ <a href=\"https:\/\/www.anthropic.com\/legal\/privacy\">Privacy<\/a><\/li>\n<li>OpenAI \u2014 https:\/\/api.openai.com \u2014 <a href=\"https:\/\/openai.com\/policies\/terms-of-use\/\">Terms<\/a> \/ <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">Privacy<\/a><\/li>\n<li>Google Gemini \u2014 https:\/\/generativelanguage.googleapis.com \u2014 <a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\">Terms<\/a> \/ <a href=\"https:\/\/policies.google.com\/privacy\">Privacy<\/a><\/li>\n<li>Groq \u2014 https:\/\/api.groq.com \u2014 <a href=\"https:\/\/groq.com\/terms-of-use\/\">Terms<\/a> \/ <a href=\"https:\/\/groq.com\/privacy-policy\/\">Privacy<\/a><\/li>\n<li>xAI \u2014 https:\/\/api.x.ai \u2014 <a href=\"https:\/\/x.ai\/legal\/terms-of-service\">Terms<\/a> \/ <a href=\"https:\/\/x.ai\/legal\/privacy-policy\">Privacy<\/a><\/li>\n<li>Mistral AI \u2014 https:\/\/api.mistral.ai \u2014 <a href=\"https:\/\/mistral.ai\/terms\/\">Terms<\/a> \/ <a href=\"https:\/\/mistral.ai\/terms\/#privacy-policy\">Privacy<\/a><\/li>\n<li>Cohere \u2014 https:\/\/api.cohere.com \u2014 <a href=\"https:\/\/cohere.com\/terms-of-use\">Terms<\/a> \/ <a href=\"https:\/\/cohere.com\/privacy\">Privacy<\/a><\/li>\n<li>Together.ai (for Meta Llama models) \u2014 https:\/\/api.together.xyz \u2014 <a href=\"https:\/\/www.together.ai\/terms-of-service\">Terms<\/a> \/ <a href=\"https:\/\/www.together.ai\/privacy\">Privacy<\/a><\/li>\n<li>Ollama \u2014 your own self-hosted URL. No third-party service is contacted.<\/li>\n<\/ul>\n\n<p>The plugin also contacts your selected provider's model-list endpoint when you click \"Test Selected Provider\" or \"Load models from my account\" in the admin screen. Those requests send only your API key for authentication.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>With conversation logging enabled (default, and switchable under Security &amp; Privacy), this plugin creates database tables in your own site and stores:<\/p>\n\n<ul>\n<li>chat messages and the assistant's replies<\/li>\n<li>the visitor's IP address<\/li>\n<li>timestamps and per-conversation message counts<\/li>\n<\/ul>\n\n<p>This data stays in your database and is not transmitted anywhere by the plugin. IP addresses are masked when displayed in the admin. You can set an automatic retention period in days, and disable logging entirely. All tables and settings are removed when the plugin is uninstalled.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/v7-ai-chatbot\/<\/code>, or install it through the Plugins screen.<\/li>\n<li>Activate the plugin through the Plugins menu.<\/li>\n<li>Go to <strong>AI Chatbot &gt; API Configuration<\/strong>.<\/li>\n<li>Choose your AI provider and paste that provider's API key. (Note: <strong>Groq<\/strong> keys start with <code>gsk_<\/code> and come from console.groq.com; <strong>xAI Grok<\/strong> keys start with <code>xai-<\/code> and come from console.x.ai \u2014 these are different companies.)<\/li>\n<li>Save changes, then click <strong>Load models from my account<\/strong> and pick a model.<\/li>\n<li>Click <strong>Test Selected Provider<\/strong> to confirm the key works.<\/li>\n<li>On the <strong>General<\/strong> tab, enable the chatbot.<\/li>\n<li>Optionally choose which content types to index and customize the appearance.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20my%20own%20api%20key%3F\"><h3>Do I need my own API key?<\/h3><\/dt>\n<dd><p>Yes, for every provider except Ollama (self-hosted) and the WordPress AI Client option. The plugin does not include or provide API access; you use your own account with the provider you choose.<\/p><\/dd>\n<dt id=\"will%20it%20answer%20questions%20unrelated%20to%20my%20site%3F\"><h3>Will it answer questions unrelated to my site?<\/h3><\/dt>\n<dd><p>No. The assistant is instructed to answer only from your indexed site content and to decline anything else, including attempts to talk it out of those instructions.<\/p><\/dd>\n<dt id=\"can%20it%20leak%20customer%2C%20order%20or%20sales%20data%3F\"><h3>Can it leak customer, order or sales data?<\/h3><\/dt>\n<dd><p>No. The plugin never reads post meta, user accounts or WooCommerce orders, so that data is not available to it in the first place. It also never includes stock levels or how many times a product has sold.<\/p><\/dd>\n<dt id=\"is%20password-protected%20content%20used%3F\"><h3>Is password-protected content used?<\/h3><\/dt>\n<dd><p>No. Password-protected, private and unpublished content is excluded, as are WooCommerce products whose catalog visibility is set to hidden.<\/p><\/dd>\n<dt id=\"where%20are%20my%20api%20keys%20stored%3F\"><h3>Where are my API keys stored?<\/h3><\/dt>\n<dd><p>Encrypted in your own WordPress database, using a key derived from your site's WordPress salts. They are never written to files, never displayed back in the admin screen, and never logged.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20my%20provider%20retires%20the%20model%20i%20selected%3F\"><h3>What happens if my provider retires the model I selected?<\/h3><\/dt>\n<dd><p>The plugin detects the error, asks your provider which models your key can use, switches to a working one, retries the request, and shows you an admin notice explaining the change.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Enable product indexing to let the assistant answer questions about your published products, including their public prices.<\/p><\/dd>\n<dt id=\"are%20conversations%20stored%3F\"><h3>Are conversations stored?<\/h3><\/dt>\n<dd><p>Only if you enable logging (it is on by default and can be turned off under Security &amp; Privacy). See the Privacy section below for exactly what is stored.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Support for WordPress AI Client, Anthropic Claude, OpenAI, Google Gemini, Groq, xAI Grok, Mistral, Cohere, Meta Llama (via Together.ai) and self-hosted Ollama<\/li>\n<li>Live model loading from your provider, so the model list never goes stale<\/li>\n<li>Automatic recovery if a provider retires your configured model<\/li>\n<li>API keys encrypted at rest with AES-256-CBC keyed from your site salts<\/li>\n<li>API key format validation, including detection of a key pasted for the wrong provider<\/li>\n<li>Password-protected content, private content and hidden WooCommerce products excluded from AI context<\/li>\n<li>Secrets and contact details redacted from prompts before they are sent<\/li>\n<li>System prompt hardened against prompt-injection and data-disclosure requests<\/li>\n<li>Optional conversation logging with configurable retention and IP masking<\/li>\n<\/ul>","raw_excerpt":"AI chatbot that answers visitor questions using only your own site content, with your choice of AI provider and encrypted API key storage.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/301666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=301666"}],"author":[{"embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thevaibhaw"}],"wp:attachment":[{"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=301666"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=301666"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=301666"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=301666"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=301666"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ps.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=301666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}