{"id":312787,"date":"2026-05-28T05:57:42","date_gmt":"2026-05-28T05:57:42","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easyit-ai-chat\/"},"modified":"2026-10-13T02:08:18","modified_gmt":"2026-10-13T02:08:18","slug":"easyit-ai-chat","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/easyit-ai-chat\/","author":23498284,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.12.1","stable_tag":"trunk","tested":"7.1.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"EasyIT AI Chat \u2014 Free AI Chatbot for WooCommerce & Business Sites","header_author":"EasyIT","header_description":"Unified AI chatbot for WordPress. Connect Ollama, OpenAI, Anthropic (Claude) and DeepSeek with one shortcode [eaic_chat]. Free, open-source, no tracking.","assets_banners_color":"0e3d49","last_updated":"2026-10-13 02:08:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/easybdit\/easyit-ai-chat","header_author_uri":"https:\/\/easyit.com.bd","rating":0,"author_block_rating":0,"active_installs":20,"downloads":2607,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"muradbd","date":"2026-05-30 19:14:44","revision":3554979},"1.0.11":{"tag":"1.0.11","author":"muradbd","date":"2026-05-31 12:50:10","revision":3555510},"1.0.12":{"tag":"1.0.12","author":"muradbd","date":"2026-05-31 12:59:18","revision":3555519},"1.0.13":{"tag":"1.0.13","author":"muradbd","date":"2026-05-31 13:08:13","revision":3555526},"1.0.14":{"tag":"1.0.14","author":"muradbd","date":"2026-05-31 13:12:33","revision":3555530},"1.0.15":{"tag":"1.0.15","author":"muradbd","date":"2026-05-31 13:16:56","revision":3555534},"1.0.16":{"tag":"1.0.16","author":"muradbd","date":"2026-05-31 13:21:14","revision":3555539},"1.0.17":{"tag":"1.0.17","author":"muradbd","date":"2026-05-31 13:27:01","revision":3555548},"1.0.18":{"tag":"1.0.18","author":"muradbd","date":"2026-05-31 16:51:04","revision":3555701},"1.0.19":{"tag":"1.0.19","author":"muradbd","date":"2026-05-31 17:04:11","revision":3555713},"1.0.20":{"tag":"1.0.20","author":"muradbd","date":"2026-05-31 17:08:04","revision":3555718},"1.0.21":{"tag":"1.0.21","author":"muradbd","date":"2026-05-31 17:09:57","revision":3555721},"1.0.22":{"tag":"1.0.22","author":"muradbd","date":"2026-05-31 17:11:58","revision":3555728},"1.0.23":{"tag":"1.0.23","author":"muradbd","date":"2026-05-31 17:17:06","revision":3555734},"1.0.24":{"tag":"1.0.24","author":"muradbd","date":"2026-05-31 17:19:23","revision":3555737},"1.0.25":{"tag":"1.0.25","author":"muradbd","date":"2026-05-31 17:22:17","revision":3555743},"1.0.26":{"tag":"1.0.26","author":"muradbd","date":"2026-05-31 17:27:22","revision":3555750},"1.0.27":{"tag":"1.0.27","author":"muradbd","date":"2026-05-31 17:29:23","revision":3555752},"1.0.28":{"tag":"1.0.28","author":"muradbd","date":"2026-05-31 17:31:25","revision":3555755},"1.0.29":{"tag":"1.0.29","author":"muradbd","date":"2026-05-31 17:34:05","revision":3555760},"1.0.3":{"tag":"1.0.3","author":"muradbd","date":"2026-05-28 06:09:32","revision":3551577},"1.0.30":{"tag":"1.0.30","author":"muradbd","date":"2026-05-31 17:38:00","revision":3555764},"1.0.31":{"tag":"1.0.31","author":"muradbd","date":"2026-05-31 17:40:07","revision":3555768},"1.0.4":{"tag":"1.0.4","author":"muradbd","date":"2026-05-30 08:54:04","revision":3554521},"1.0.7":{"tag":"1.0.7","author":"muradbd","date":"2026-05-30 16:11:50","revision":3554875},"1.0.8":{"tag":"1.0.8","author":"muradbd","date":"2026-05-30 18:41:52","revision":3554954},"1.0.9":{"tag":"1.0.9","author":"muradbd","date":"2026-05-30 18:56:30","revision":3554961},"2.0.0":{"tag":"2.0.0","author":"muradbd","date":"2026-05-31 17:50:47","revision":3555779},"2.0.1":{"tag":"2.0.1","author":"muradbd","date":"2026-05-31 17:59:34","revision":3555786},"2.1.0":{"tag":"2.1.0","author":"muradbd","date":"2026-06-02 02:54:29","revision":3557388},"2.1.1":{"tag":"2.1.1","author":"muradbd","date":"2026-06-02 14:20:15","revision":3558153},"2.1.2":{"tag":"2.1.2","author":"muradbd","date":"2026-06-02 18:12:36","revision":3558421},"2.10.0":{"tag":"2.10.0","author":"muradbd","date":"2026-10-12 16:19:33","revision":3742115},"2.10.1":{"tag":"2.10.1","author":"muradbd","date":"2026-10-12 16:23:35","revision":3742132},"2.11.0":{"tag":"2.11.0","author":"muradbd","date":"2026-10-12 16:58:18","revision":3742198},"2.12.0":{"tag":"2.12.0","author":"muradbd","date":"2026-10-13 02:02:27","revision":3742758},"2.3.4":{"tag":"2.3.4","author":"muradbd","date":"2026-06-06 03:00:48","revision":3562874},"2.4.0":{"tag":"2.4.0","author":"muradbd","date":"2026-07-21 15:17:00","revision":3617361},"2.5.0":{"tag":"2.5.0","author":"muradbd","date":"2026-07-21 17:17:37","revision":3617515},"2.6.0":{"tag":"2.6.0","author":"muradbd","date":"2026-07-21 17:16:02","revision":3617508},"2.7.0":{"tag":"2.7.0","author":"muradbd","date":"2026-07-21 18:31:02","revision":3617604},"2.8.0":{"tag":"2.8.0","author":"muradbd","date":"2026-10-12 15:28:57","revision":3741986},"2.9.0":{"tag":"2.9.0","author":"muradbd","date":"2026-10-12 16:06:56","revision":3742089}},"upgrade_notice":{"2.12.1":"<p>Documentation-only update: the installation steps now start with the setup wizard. No code changes.<\/p>","2.12.0":"<p>New: enquiry and booking forms, a Requests inbox, business hours with an offline mode, and an AI that knows whether you are open. Everything is off until you set it up under Forms &amp; Hours.<\/p>","2.11.0":"<p>New: Conversations inbox, quick-question buttons (no AI cost), proactive greeting, page awareness; much faster knowledge search. If you use OpenAI for semantic search, re-index once (Knowledge Base page).<\/p>","2.10.1":"<p>Documentation-only update: shortens the plugin description so it is no longer truncated on WordPress.org. No code changes.<\/p>","2.10.0":"<p>New: &quot;AI Chat&quot; Gutenberg block and Elementor widget. Also fixes Plugin Check findings from 2.9.0.<\/p>","2.9.0":"<p>New: setup wizard, business facts, &quot;Talk to a person&quot; button, plain-language alerts when the chat stops working (bad key \/ no credit), answer cache, budget caps for WooCommerce bots, WordPress privacy tools, Bengali chat labels.<\/p>","2.8.0":"<p>New: source citations, usage &amp; budget caps, real streaming for OpenAI\/Claude\/Gemini\/DeepSeek, cloud embeddings, knowledge-gap report, lead capture &amp; weekly summary. Also fixes the Knowledge Base page clearing API keys on save, and removes the unused Freemius SDK.<\/p>","2.5.0":"<p>New: Ask This Site \u2014 enable one toggle in Knowledge Base settings and the AI automatically learns your site&#039;s own posts\/pages, no manual document upload needed.<\/p>","2.4.1":"<p>Fix: fresh installs no longer silently fail against a default Ollama\/localhost provider \u2014 default is now OpenAI with a clear setup notice. Also fixes internal error messages leaking to public chat visitors.<\/p>","2.4.0":"<p>Major release: WooCommerce Order\/Product\/Return bots, Smart Product Finder, and &quot;Ask Your Store&quot; admin AI \u2014 all formerly Pro-only \u2014 are now free. Also fixes a No-Storage Mode bug on streaming chat.<\/p>","2.3.2":"<p>Fix: RAG count queries now show correct items. Embedding timeout reduced for faster responses. New Copy &amp; Download buttons on AI messages.<\/p>","2.3.0":"<p>New: Knowledge Base (RAG) \u2014 upload PDF documents and let the AI answer questions from your own data.<\/p>","2.0.0":"<p>Major release: 8 new security features \u2014 Access Restriction, IP Blocklist, Word Filter, Prompt Injection Detection, No-Storage Mode, Math Captcha, Abuse Alert, Message Length Limit.<\/p>","1.0.31":"<p>New: Webhook support \u2014 POST to any URL after each AI response. JSON payload + optional HMAC signature. Settings \u2192 Webhook.<\/p>","1.0.30":"<p>New: Multiple Bot Profiles \u2014 named configurations loaded via profile=&quot;slug&quot; shortcode attribute.<\/p>","1.0.29":"<p>New: Shortcode Builder admin page \u2014 configure chatbot visually, get shortcode instantly. No typing required.<\/p>","1.0.28":"<p>New: Context window setting (1\u201320 messages) to control AI memory per request. Lowers token cost on long chats.<\/p>","1.0.27":"<p>New: Read Aloud (TTS) \u2014 speaker button on AI messages, uses browser SpeechSynthesis, no external service.<\/p>","1.0.26":"<p>New: GDPR Consent Gate \u2014 cookie-based consent banner before chat starts. Configurable text. Enable in Settings \u2192 UI.<\/p>","1.0.25":"<p>New: Fullscreen mode \u2014 expand button in topbar, Escape to exit.<\/p>","1.0.24":"<p>New: Session search box in sidebar \u2014 filter conversations by title, client-side, instant.<\/p>","1.0.23":"<p>New: Message feedback (\ud83d\udc4d\/\ud83d\udc4e) on AI responses. Ratings tracked in DB and shown in Analytics.<\/p>","1.0.22":"<p>New: Copy button on AI messages \u2014 hover to reveal, click to copy to clipboard.<\/p>","1.0.21":"<p>New: Message timestamps (HH:MM) displayed next to each message label.<\/p>","1.0.20":"<p>New: Stop button cancels AI response mid-stream; Regenerate button re-runs the last query.<\/p>","1.0.19":"<p>Improved typing indicator: smooth 3-dot animation replaces the hourglass bubble for a cleaner, more familiar chat UX.<\/p>","1.0.18":"<p>New feature: Analytics Dashboard \u2014 total chats, messages, 7-day chart, top provider. Admin only.<\/p>","1.0.17":"<p>New feature: Floating Chat Widget \u2014 fixed launcher button on every page, opens a slide-up chat panel.<\/p>","1.0.16":"<p>New feature: Conversation Export \u2014 download button saves current chat as a .txt file.<\/p>","1.0.15":"<p>New feature: Voice Input \u2014 microphone button with Web Speech API, transcribes speech into the chat input.<\/p>","1.0.14":"<p>New feature: Color Customization \u2014 accent, user bubble, and AI bubble colors via color pickers in Settings \u2192 UI.<\/p>","1.0.13":"<p>New feature: Custom AI Avatar \u2014 replace the default robot emoji with your own image via Settings \u2192 UI.<\/p>","1.0.12":"<p>New feature: Suggested Questions \u2014 clickable chips that send a question instantly when clicked.<\/p>","1.0.11":"<p>New feature: Welcome Message \u2014 show a custom AI greeting when chat opens. Enable in Settings \u2192 UI.<\/p>","1.0.10":"<p>Adds a convenient &quot;Upgrade to Pro&quot; link in the plugins list.<\/p>","1.0.9":"<p>Critical fix: resolves fatal error on activation. All users should update immediately.<\/p>","1.0.8":"<p>Minor maintenance update. Recommended for all users.<\/p>","1.0.7":"<p>WooCommerce bots moved to EasyIT AI Chat Pro. Default models updated to latest versions (GPT-4o-mini, Claude 3.5 Haiku, Gemini 2.0 Flash).<\/p>","1.0.4":"<p>Adds Google Gemini support, auto-title sessions, data retention cron, and per-IP rate limiting. Recommended for all users.<\/p>","1.0.3":"<p>The shortcode has been renamed from <code>[easyai]<\/code> to <code>[eaic_chat]<\/code>. If you used <code>[easyai]<\/code> on any pages, please update them after upgrading.<\/p>","1.0.2":"<p>Security and WordPress.org compliance update. Recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3551631,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3551631,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3553306,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3553295,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"easyit\/ai-chat":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"easyit\/ai-chat","title":"AI Chat","category":"widgets","icon":"format-chat","description":"Add the EasyIT AI chat (or a WooCommerce bot) to any page.","keywords":["ai","chat","chatbot","openai","gemini","claude","woocommerce"],"textdomain":"easyit-ai-chat","attributes":{"botType":{"type":"string","default":"chat"},"provider":{"type":"string","default":""},"profile":{"type":"string","default":""},"title":{"type":"string","default":""},"placeholder":{"type":"string","default":""},"height":{"type":"number","default":600},"productId":{"type":"number","default":0}},"supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true}},"editorScript":"file:.\/editor.js"}},"tagged_versions":["1.0.10","1.0.11","1.0.12","1.0.13","1.0.14","1.0.15","1.0.16","1.0.17","1.0.18","1.0.19","1.0.20","1.0.21","1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27","1.0.28","1.0.29","1.0.3","1.0.30","1.0.31","1.0.4","1.0.7","1.0.8","1.0.9","2.0.0","2.0.1","2.1.0","2.1.1","2.1.2","2.10.0","2.10.1","2.11.0","2.12.0","2.3.4","2.4.0","2.5.0","2.6.0","2.7.0","2.8.0","2.9.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3553433,"resolution":"1","location":"assets","locale":"","width":1920,"height":912},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3553433,"resolution":"2","location":"assets","locale":"","width":1920,"height":912},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3553433,"resolution":"3","location":"assets","locale":"","width":1920,"height":912}},"screenshots":{"1":"Chat interface \u2014 conversation history sidebar, user and AI messages, timestamps, copy and read-aloud buttons.","2":"Settings page \u2014 provider tabs, API keys, Test Connection button, UI customization, and Security Suite.","3":"Analytics dashboard \u2014 total conversations, messages, 7-day bar chart, feedback ratings.","4":"Shortcode Builder \u2014 visual builder generates shortcode live; copy with one click.","5":"Floating chat widget \u2014 fixed launcher button that opens a slide-up chat panel on every page.","6":"Security settings \u2014 Access Restriction, IP Blocklist, Word Filter, Captcha, and more."}},"plugin_section":[],"plugin_tags":[191735,2364,216196,194533,286],"plugin_category":[45],"plugin_contributors":[265076],"plugin_business_model":[],"class_list":["post-312787","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-chatbot","plugin_tags-chatbot","plugin_tags-chatgpt","plugin_tags-openai","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-muradbd","plugin_committers-muradbd"],"banners":{"banner":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/banner-772x250.png?rev=3553295","banner_2x":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/banner-1544x500.png?rev=3553306","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/icon-128x128.png?rev=3551631","icon_2x":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/icon-256x256.png?rev=3551631","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/screenshot-1.png?rev=3553433","caption":"Chat interface \u2014 conversation history sidebar, user and AI messages, timestamps, copy and read-aloud buttons."},{"src":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/screenshot-2.png?rev=3553433","caption":"Settings page \u2014 provider tabs, API keys, Test Connection button, UI customization, and Security Suite."},{"src":"https:\/\/ps.w.org\/easyit-ai-chat\/assets\/screenshot-3.png?rev=3553433","caption":"Analytics dashboard \u2014 total conversations, messages, 7-day bar chart, feedback ratings."}],"raw_content":"<!--section=description-->\n<p><strong>EasyIT AI Chat<\/strong> adds an AI assistant to your site that answers from <strong>your own content<\/strong>, links to the page it used, and <strong>stops when it reaches the spending limit you set<\/strong>. It works for any business site and comes with free WooCommerce bots (orders, products, returns). Set it up in about two minutes with the built-in wizard.<\/p>\n\n<p>Connect OpenAI (ChatGPT), Anthropic Claude, Google Gemini, DeepSeek, Together AI, a free local Ollama model, or any OpenAI-compatible endpoint, using your own API key. No tracking, no telemetry, no subscription \u2014 ever.<\/p>\n\n<blockquote>\n  <p>\ud83c\udf10 Website: <a href=\"https:\/\/easyit.com.bd\">easyit.com.bd<\/a>\n  \ud83d\udcfa Tutorials: <a href=\"https:\/\/www.youtube.com\/@easybdit\">youtube.com\/@easybdit<\/a>\n  \ud83d\udcac Community: <a href=\"https:\/\/www.facebook.com\/easybdit\">facebook.com\/easybdit<\/a><\/p>\n<\/blockquote>\n\n<h4>\ud83c\udfaf How It Works (3 Steps)<\/h4>\n\n<ol>\n<li><strong>Connect a provider<\/strong> \u2014 Add an API key (OpenAI, Claude, Gemini, DeepSeek, Together AI) or point it at a free local Ollama server. No API key needed for Ollama.<\/li>\n<li><strong>Drop in a shortcode<\/strong> \u2014 Paste <code>[eaic_chat]<\/code> into any page or post, or just turn on the floating chat button in Settings \u2192 UI. No coding required.<\/li>\n<li><strong>Done<\/strong> \u2014 Visitors get a ChatGPT-style assistant instantly. A built-in Test Chat page lets you try it from the dashboard before it ever reaches a visitor.<\/li>\n<\/ol>\n\n<h4>\ud83c\udfc6 Why EasyIT AI Chat?<\/h4>\n\n<ul>\n<li><strong>It knows your business<\/strong> \u2014 \"Ask This Site\" reads your published pages, \"Business Facts\" hold your hours, prices and policies, and answers show source links so visitors can check them.<\/li>\n<li><strong>It can't surprise you with a bill<\/strong> \u2014 set daily\/monthly token or cost limits; the chat pauses with your message and you get one email. Usage and estimated cost are tracked per model.<\/li>\n<li><strong>It tells you when it's broken<\/strong> \u2014 a wrong API key or an account out of credit is explained in plain language in wp-admin, because visitors only ever see a generic message.<\/li>\n<li><strong>WooCommerce bots, free<\/strong> \u2014 Order Status, Product Q&amp;A, Return\/Refund and Product Finder are built in. No Pro tier, no upsell.<\/li>\n<li><strong>You see what's missing<\/strong> \u2014 the Knowledge Gaps report lists questions your content couldn't answer, so you know what to write next.<\/li>\n<li><strong>Your data stays yours<\/strong> \u2014 no telemetry, optional No-Storage Mode, retention controls, GDPR consent gate, WordPress privacy-tool integration.<\/li>\n<li><strong>Not locked to one vendor<\/strong> \u2014 switch provider per page with one attribute (<code>provider=\"gemini\"<\/code>).<\/li>\n<li><strong>Open source<\/strong> \u2014 GPL-2.0-or-later, fully auditable.<\/li>\n<\/ul>\n\n<h4>\u2728 Supported AI Providers<\/h4>\n\n<p>OpenAI (ChatGPT), Anthropic (Claude), Google Gemini, DeepSeek, Together AI, Ollama (self-hosted, free), and any OpenAI-compatible endpoint (LM Studio, gateways, proxies). Replies stream in real time.<\/p>\n\n<h4>\ud83d\ude80 Chat Features<\/h4>\n\n<ul>\n<li><strong>ChatGPT-style UI<\/strong> \u2014 conversation history sidebar, markdown, code blocks with copy button, auto-generated titles<\/li>\n<li><strong>Stop &amp; Regenerate<\/strong>, typing indicator, timestamps, copy\/download per message, fullscreen mode, session search<\/li>\n<li><strong>Voice input and read-aloud<\/strong> using the browser's built-in speech APIs<\/li>\n<li><strong>\ud83d\udc4d \/ \ud83d\udc4e feedback<\/strong> on answers, stored in your own database<\/li>\n<li><strong>File &amp; image uploads<\/strong> \u2014 images analyzed by vision-capable providers, documents (.txt\/.pdf) read as text<\/li>\n<li><strong>Conversation memory<\/strong> per logged-in user or guest; context window and message length limits you control<\/li>\n<li><strong>Welcome message, suggested questions, custom avatar, colors, floating widget<\/strong> (position and label), plus saved <strong>bot profiles<\/strong><\/li>\n<li><strong>Shortcode Builder<\/strong>, conversation export, and a webhook (HMAC-signed) after each answer<\/li>\n<\/ul>\n\n<h4>\ud83d\udcda Knowledge Base &amp; Ask This Site<\/h4>\n\n<ul>\n<li><strong>Ask This Site<\/strong> \u2014 one toggle and the AI learns your published posts, pages or any public content type; stays current on every update and removes anything unpublished or private<\/li>\n<li><strong>Knowledge Base<\/strong> \u2014 upload PDFs\/text; answers come from your documents, with an admin test tool and on-demand re-processing<\/li>\n<li><strong>Semantic + keyword search<\/strong> using embeddings from OpenAI, Google Gemini or Ollama, with automatic keyword fallback<\/li>\n<li><strong>Source citations<\/strong> \u2014 answers show \"Sources\" links to the pages they came from<\/li>\n<li><strong>Business Facts<\/strong> \u2014 opening hours, phone, address and policies given to the AI as authoritative information<\/li>\n<\/ul>\n\n<h4>\ud83d\udcc5 Enquiries, Bookings &amp; Business Hours<\/h4>\n\n<ul>\n<li><strong>Enquiry and booking forms<\/strong> \u2014 up to five forms with the fields you choose (name, email, phone, date, time, party size, message) plus three questions of your own; visitors reach them from buttons in the chat, from the \"Talk to a person\" button, or a <code>[eaic_form id=\"\u2026\"]<\/code> shortcode on any page<\/li>\n<li><strong>Requests inbox<\/strong> \u2014 every submission is saved with a status (new, confirmed, done, cancelled), private notes, search, filters and CSV export; you are emailed each new one and can confirm to the visitor by email<\/li>\n<li><strong>Business hours &amp; offline mode<\/strong> \u2014 weekly opening hours in your time zone plus holiday dates; outside them the chat shows an \"offline\" notice and offers your forms, can stop the AI answering, and bookings can be limited to open hours<\/li>\n<li><strong>The AI knows if you're open<\/strong> \u2014 it is told your hours and whether it is open right now<\/li>\n<li>Spam-resistant (hidden trap field, speed check, rate limits, link and word filters) and included in WordPress's personal-data export and erase tools<\/li>\n<\/ul>\n\n<h4>\ud83d\udcac Engage Visitors &amp; Read Conversations<\/h4>\n\n<ul>\n<li><strong>Conversations inbox<\/strong> \u2014 read what visitors asked and what the chat answered; search, filter by rating, view transcripts, export or delete<\/li>\n<li><strong>Quick-question buttons<\/strong> \u2014 visitors tap a question and get <em>your<\/em> answer instantly, with no AI call and no cost<\/li>\n<li><strong>Proactive greeting<\/strong> \u2014 an optional bubble beside the chat button after a delay, on the pages you choose<\/li>\n<li><strong>Page awareness<\/strong> \u2014 the chat knows which page or product the visitor is on, so \"how much is this?\" just works<\/li>\n<\/ul>\n\n<h4>\ud83e\uddd9 Easy Setup &amp; Reliability<\/h4>\n\n<ul>\n<li><strong>Two-minute setup wizard<\/strong> \u2014 paste an API key (tested before it is saved), add business details, let it read your site<\/li>\n<li><strong>Plain-language alerts<\/strong> when the chat stops working (wrong key, out of credit, wrong model), in wp-admin and by optional email<\/li>\n<li><strong>\"Talk to a person\" button<\/strong> \u2014 WhatsApp, phone, email or link, offered when the bot has no match or an answer is rated not helpful<\/li>\n<li><strong>Answer cache<\/strong> for repeated first questions (opt-in), at no AI cost<\/li>\n<li><strong>Bengali (\u09ac\u09be\u0982\u09b2\u09be) chat labels<\/strong> and a <strong>Gutenberg block<\/strong> and <strong>Elementor widget<\/strong> (\"AI Chat\") with the same options as the shortcode<\/li>\n<\/ul>\n\n<h4>\ud83d\udcc8 Insights, Cost Control &amp; Leads<\/h4>\n\n<ul>\n<li><strong>Analytics<\/strong> \u2014 conversations, messages, ratings, most-used provider, and a 7-day chart<\/li>\n<li><strong>Usage &amp; cost tracking<\/strong> \u2014 tokens and estimated cost per day, provider and model<\/li>\n<li><strong>Budget caps<\/strong> \u2014 daily\/monthly token or monthly cost limits for the main chat and the WooCommerce bots; the chat pauses with your own message and you get one email<\/li>\n<li><strong>Knowledge gaps<\/strong> \u2014 the questions your content couldn't answer, and answers rated \"not helpful\"<\/li>\n<li><strong>Lead capture<\/strong> \u2014 optional name + email card, email notification per lead, CSV export<\/li>\n<li><strong>Weekly summary email<\/strong> (opt-in)<\/li>\n<\/ul>\n\n<h4>\ud83d\udd12 Security Suite<\/h4>\n\n<ul>\n<li>Access restriction by login or role, IP blocklist, word filter, prompt-injection detection, anti-bot math captcha<\/li>\n<li>Per-user, per-session and per-IP rate limiting, with an abuse alert email<\/li>\n<li>No-Storage Mode, automatic data retention purge, GDPR consent gate<\/li>\n<li>Locked system prompt so visitors can't override your instructions<\/li>\n<li>Conversations and leads included in WordPress's Export \/ Erase Personal Data tools<\/li>\n<\/ul>\n\n<h4>\ud83d\uded2 WooCommerce Bots (requires WooCommerce)<\/h4>\n\n<p>Everything below used to need a paid add-on and is now free and built in.<\/p>\n\n<ul>\n<li><strong>Order Status Bot<\/strong> (<code>[eaic_order_chat]<\/code>) \u2014 guests verify with order number + billing email; logged-in customers are verified automatically<\/li>\n<li><strong>Product Q&amp;A Bot<\/strong> (<code>[eaic_product_chat]<\/code> or <code>[eaic_product_chat product_id=\"42\"]<\/code>) \u2014 answers about price, stock, description and variations from real store data<\/li>\n<li><strong>Return\/Refund Bot<\/strong> (<code>[eaic_return_chat]<\/code>) \u2014 collects item and reason, files the return request and adds an order note<\/li>\n<li><strong>Smart Product Finder<\/strong> (<code>[eaic_product_finder]<\/code>) \u2014 \"red dress under $50\" returns real product cards with add-to-cart links<\/li>\n<li><strong>\"Ask Your Store\"<\/strong> \u2014 admin-only AI chat about revenue, orders, top products, low stock and new customers<\/li>\n<li><strong>Smart Floating Widget<\/strong> \u2014 shows the Order Bot on order pages, the Product Bot on product pages and a general assistant elsewhere<\/li>\n<li><strong>Lead capture<\/strong> on the bots, saved to your database and shown in Analytics<\/li>\n<\/ul>\n\n<h4>\ud83d\udd27 Shortcode Examples<\/h4>\n\n<pre><code>[eaic_chat] \u2014 basic chat\n[eaic_chat provider=\"gemini\" title=\"Support Bot\" height=\"500\"] \u2014 choose a provider\n[eaic_chat profile=\"support-bot\"] \u2014 load a saved bot profile\n<\/code><\/pre>\n\n<p>Attributes: <code>provider<\/code>, <code>title<\/code>, <code>placeholder<\/code>, <code>system_prompt<\/code>, <code>height<\/code>, <code>profile<\/code>. The <strong>Shortcode Builder<\/strong> (EasyIT AI Chat \u2192 Shortcode Builder) writes them for you.<\/p>\n\n<h4>\ud83d\udd12 Privacy<\/h4>\n\n<p>When a user sends a message, it is forwarded to your configured AI provider along with the conversation history. Messages are also stored in your own database so conversations can resume. <strong>Nothing is sent to the plugin author.<\/strong> You should mention your chosen provider in your site's Privacy Policy.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external AI services depending on which provider you configure. No data is transmitted unless a user actively sends a chat message.<\/p>\n\n<h4>OpenAI<\/h4>\n\n<p>Used when OpenAI is selected as the AI provider, and for embeddings (to power semantic search over your site content or documents) when OpenAI is chosen as the embedding service. Text sent for embedding is the content you index.\n* Service URL: https:\/\/api.openai.com\/\n* Terms of Use: https:\/\/openai.com\/policies\/row-terms-of-use\n* Privacy Policy: https:\/\/openai.com\/policies\/row-privacy-policy<\/p>\n\n<h4>Anthropic (Claude)<\/h4>\n\n<p>Used when Anthropic is selected as the AI provider.\n* Service URL: https:\/\/api.anthropic.com\/\n* Terms of Use: https:\/\/www.anthropic.com\/legal\/consumer-terms\n* Privacy Policy: https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<h4>DeepSeek<\/h4>\n\n<p>Used when DeepSeek is selected as the AI provider.\n* Service URL: https:\/\/api.deepseek.com\/\n* Terms of Use: https:\/\/chat.deepseek.com\/downloads\/DeepSeek%20Terms%20of%20Use.html\n* Privacy Policy: https:\/\/chat.deepseek.com\/downloads\/DeepSeek%20Privacy%20Policy.html<\/p>\n\n<h4>Google Gemini<\/h4>\n\n<p>Used when Google Gemini is selected as the AI provider, and for embeddings (semantic search over your site content or documents) when Gemini is chosen as the embedding service.\n* Service URL: https:\/\/generativelanguage.googleapis.com\/\n* Terms of Use: https:\/\/ai.google.dev\/gemini-api\/terms\n* Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>Ollama<\/h4>\n\n<p>Used when Ollama is selected. Calls your own self-hosted Ollama server URL.\nNo third-party service is involved unless you point it at a remote server.<\/p>\n\n<p><strong>Data sent to external services:<\/strong> The user's chat message and recent conversation history (last 10 messages). No personal data beyond what the user types is transmitted.<\/p>\n\n<p><strong>WooCommerce bots:<\/strong> When a WooCommerce bot is used, relevant store data needed to answer the question (e.g. order status\/items, product details, or \u2014 for the admin-only \"Ask Your Store\" tool \u2014 aggregate revenue\/order\/customer data) is included in the request sent to your configured AI provider. This data never goes anywhere except the AI provider you've chosen; it is not sent to the plugin author.<\/p>\n\n<!--section=installation-->\n<p><strong>Automatic Installation (Recommended)<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress dashboard<\/li>\n<li>Search for <strong>EasyIT AI Chat<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong> then <strong>Activate<\/strong><\/li>\n<\/ol>\n\n<p><strong>Manual Installation<\/strong><\/p>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Upload the zip and click <strong>Install Now<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<p><strong>Setup (about two minutes)<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>EasyIT AI Chat \u2192 Getting Started<\/strong> and click <strong>Start the setup wizard<\/strong><\/li>\n<li>Paste an API key (OpenAI, Gemini, Claude or DeepSeek). It is tested before it is saved, so a typo can't break your chat<\/li>\n<li>Add your business details (hours, phone, delivery and return policy) and let the chat read your site's pages<\/li>\n<li>Done: the chat button is already on your site. Click <strong>Try it now<\/strong> to test it<\/li>\n<\/ol>\n\n<p><strong>Optional next steps<\/strong><\/p>\n\n<ul>\n<li>Set a spending limit: <strong>Settings \u2192 Security \u2192 Usage Budget<\/strong><\/li>\n<li>Let visitors leave a message or book: <strong>EasyIT AI Chat \u2192 Forms &amp; Hours<\/strong><\/li>\n<li>Add your own quick-answer buttons, a \"Talk to a person\" button or a greeting bubble: <strong>Settings \u2192 General<\/strong><\/li>\n<li>Prefer to configure everything yourself? Use <strong>Settings<\/strong> instead of the wizard, then add <code>[eaic_chat]<\/code>, the \"AI Chat\" block or the Elementor widget to any page<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20is%20this%20different%20from%20other%20ai%20chatbot%20plugins%3F\"><h3>How is this different from other AI chatbot plugins?<\/h3><\/dt>\n<dd><p>Three things stand out. It answers from your own pages and documents and shows the sources. It has built-in spending limits so a busy day (or an abuser) can't run up your AI bill. And everything, including the WooCommerce bots and the usage tracking, is free with no Pro version. It is smaller and younger than the biggest plugins, so if you need AI agents, an MCP server or a live-agent inbox, one of them may suit you better.<\/p><\/dd>\n<dt id=\"will%20it%20surprise%20me%20with%20a%20big%20ai%20bill%3F\"><h3>Will it surprise me with a big AI bill?<\/h3><\/dt>\n<dd><p>Not if you set a limit. Under Settings \u2192 Security \u2192 Usage Budget you can cap tokens per day, tokens per month or estimated cost per month. When the cap is hit the chat pauses with a message you choose, and you get one email. The Analytics page shows tokens and estimated cost per model. Costs are estimates from list prices; your provider's invoice is the source of truth.<\/p><\/dd>\n<dt id=\"can%20visitors%20book%20an%20appointment%20or%20leave%20a%20message%3F\"><h3>Can visitors book an appointment or leave a message?<\/h3><\/dt>\n<dd><p>Yes. Under <strong>EasyIT AI Chat \u2192 Forms &amp; Hours<\/strong> switch on an enquiry form, a booking form, or both (two ready-made templates are included), and choose which fields to ask. They appear as buttons above the chat input, can be offered by the \"Talk to a person\" button, and can be placed on any page with <code>[eaic_form id=\"your-form-id\"]<\/code>. Every submission is saved under <strong>Requests<\/strong>, emailed to you, and optionally confirmed by email to the visitor.<\/p><\/dd>\n<dt id=\"how%20does%20offline%20mode%20work%3F\"><h3>How does offline mode work?<\/h3><\/dt>\n<dd><p>Turn on business hours in Forms &amp; Hours and enter your opening times and any closed dates. Outside those hours the chat shows an \"offline\" notice with when you reopen and a button for your first form. You can keep the AI answering (it will say you are closed) or switch it off while closed so visitors only see the notice and your forms. Hours use your WordPress time zone, including daylight-saving changes, and the notice updates by itself at opening time even on cached pages.<\/p><\/dd>\n<dt id=\"where%20are%20bookings%20and%20enquiries%20stored%2C%20and%20for%20how%20long%3F\"><h3>Where are bookings and enquiries stored, and for how long?<\/h3><\/dt>\n<dd><p>In your own database (EasyIT AI Chat \u2192 Requests). By default they are deleted after 365 days; you can change that or keep them forever. They are included in WordPress's Export and Erase Personal Data tools, and they are saved even when No-Storage Mode is on, because the visitor deliberately sent them to you.<\/p><\/dd>\n<dt id=\"can%20i%20read%20what%20visitors%20are%20asking%3F\"><h3>Can I read what visitors are asking?<\/h3><\/dt>\n<dd><p>Yes. <strong>EasyIT AI Chat \u2192 Conversations<\/strong> lists every stored conversation with search, a \"rated not helpful\" filter, a full transcript view, CSV export of the list and per-conversation download or delete. Only administrators can see it, and conversations are removed automatically after the retention period you set. With No-Storage Mode on, nothing is saved, so nothing appears there.<\/p><\/dd>\n<dt id=\"can%20i%20answer%20common%20questions%20without%20using%20ai%3F\"><h3>Can I answer common questions without using AI?<\/h3><\/dt>\n<dd><p>Yes. Under Settings \u2192 General \u2192 Quick Questions, add up to 8 questions with your own answers. They appear as buttons at the start of a chat; tapping one shows your answer instantly at no AI cost, and anything else the visitor types goes to the AI as usual.<\/p><\/dd>\n<dt id=\"does%20the%20chatbot%20know%20my%20business%3F\"><h3>Does the chatbot know my business?<\/h3><\/dt>\n<dd><p>Yes, in two ways. Turn on <strong>Ask This Site<\/strong> (Knowledge Base page) and it learns your published pages and posts, or fill in <strong>Business Facts<\/strong> (Settings \u2192 General) with your hours, phone, address and policies. The setup wizard offers both. The Analytics page then shows the questions it still couldn't answer.<\/p><\/dd>\n<dt id=\"what%20is%20sent%20to%20the%20ai%20provider%3F\"><h3>What is sent to the AI provider?<\/h3><\/dt>\n<dd><p>The visitor's message, recent conversation history and, when the knowledge base is used, the few relevant passages from your content. If you use OpenAI or Gemini for semantic search, your indexed content is also sent to that provider to be embedded. Nothing is sent to the plugin author.<\/p><\/dd>\n<dt id=\"how%20big%20a%20site%20can%20ask%20this%20site%20handle%3F\"><h3>How big a site can Ask This Site handle?<\/h3><\/dt>\n<dd><p>Searching is done inside your WordPress database. In testing, a question scanned 3,000 stored passages in about 0.1 seconds, and memory use stays flat however large the index is. Very large sites (tens of thousands of pages) should expect slower answers; the Knowledge Base page shows how long the last search took.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>For <strong>OpenAI<\/strong>, <strong>Anthropic<\/strong>, <strong>DeepSeek<\/strong>, and <strong>Google Gemini<\/strong> \u2014 yes, you need your own API key. For <strong>Ollama<\/strong> \u2014 no key needed, just a running Ollama server.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20an%20api%20key%3F\"><h3>How do I get an API key?<\/h3><\/dt>\n<dd><ul>\n<li>OpenAI: <a href=\"https:\/\/platform.openai.com\">platform.openai.com<\/a><\/li>\n<li>Anthropic: <a href=\"https:\/\/console.anthropic.com\">console.anthropic.com<\/a><\/li>\n<li>DeepSeek: <a href=\"https:\/\/platform.deepseek.com\">platform.deepseek.com<\/a><\/li>\n<li>Google Gemini: <a href=\"https:\/\/aistudio.google.com\/app\/apikey\">aistudio.google.com<\/a><\/li>\n<\/ul><\/dd>\n<dt id=\"where%20can%20i%20run%20ollama%3F\"><h3>Where can I run Ollama?<\/h3><\/dt>\n<dd><p>Locally on your server, or any machine reachable via HTTP. Visit <a href=\"https:\/\/ollama.com\">ollama.com<\/a> for installation instructions.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20store%20conversations%3F\"><h3>Does the plugin store conversations?<\/h3><\/dt>\n<dd><p>By default yes \u2014 in custom database tables in your own database. All data is deleted when you uninstall the plugin. Guest sessions use a cookie token and are never linked to personal data. You can enable <strong>No-Storage Mode<\/strong> in Settings \u2192 Security to disable all DB writes entirely.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20conversation%20history%3F\"><h3>Can I disable conversation history?<\/h3><\/dt>\n<dd><p>Yes. Enable <strong>No-Storage Mode<\/strong> in Settings \u2192 Security \u2192 No-Storage Mode. Messages will not be saved to the database at all \u2014 ideal for GDPR-strict setups.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>The chat's CSS and JavaScript are about 22 KB combined when compressed. They load on every page while the floating chat widget is enabled, so turn the widget off (Settings \u2192 UI) if you only use the shortcode or block on a few pages.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20providers%20on%20the%20same%20site%3F\"><h3>Can I use multiple providers on the same site?<\/h3><\/dt>\n<dd><p>Yes \u2014 use the <code>provider<\/code> attribute to specify different providers on different pages: <code>[eaic_chat provider=\"openai\"]<\/code> on one page and <code>[eaic_chat provider=\"gemini\"]<\/code> on another.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20really%20free%3F\"><h3>Is this plugin really free?<\/h3><\/dt>\n<dd><p>Yes \u2014 GPL-2.0-or-later. The only costs are to your chosen AI provider. Ollama is completely free.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes \u2014 as of v2.4.0 the Order Status Bot, Product Q&amp;A Bot, Return\/Refund Bot, Smart Product Finder, and the admin \"Ask Your Store\" AI are all built into the free plugin. They activate automatically once WooCommerce is active; no separate add-on needed.<\/p><\/dd>\n<dt id=\"how%20do%20i%20restrict%20the%20chat%20to%20logged-in%20users%20only%3F\"><h3>How do I restrict the chat to logged-in users only?<\/h3><\/dt>\n<dd><p>Go to <strong>Settings \u2192 Security \u2192 Access Restriction<\/strong> and select \"Logged-in users only\" or \"Specific user roles\". Guests will see a \"You must be logged in\" message instead of the chat.<\/p><\/dd>\n<dt id=\"can%20i%20block%20abusive%20users%3F\"><h3>Can I block abusive users?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>IP Blocklist<\/strong> (Settings \u2192 Security) to block specific IP addresses. Enable the <strong>Word Filter<\/strong> to block banned words or phrases. Turn on <strong>Abuse Alert<\/strong> to receive an email when the rate limit is exceeded.<\/p><\/dd>\n<dt id=\"does%20the%20floating%20widget%20work%20without%20woocommerce%3F\"><h3>Does the floating widget work without WooCommerce?<\/h3><\/dt>\n<dd><p>Yes \u2014 the Floating Chat Widget works on any WordPress site. Enable it in Settings \u2192 UI, choose position (bottom-right or bottom-left), set a label, and it appears on every page automatically. If WooCommerce is active you can also switch its Mode to \"Smart\" so it shows the Order or Product bot instead of the general chat, based on the page being viewed.<\/p><\/dd>\n<dt id=\"can%20i%20have%20different%20chatbots%20on%20different%20pages%3F\"><h3>Can I have different chatbots on different pages?<\/h3><\/dt>\n<dd><p>Yes. Use Bot Profiles (Settings \u2192 Profiles) to save named configurations, then load them per page: <code>[eaic_chat profile=\"support-bot\"]<\/code> on one page and <code>[eaic_chat profile=\"sales-bot\"]<\/code> on another. Each profile has its own provider, title, and system prompt.<\/p><\/dd>\n<dt id=\"how%20does%20the%20webhook%20work%3F\"><h3>How does the webhook work?<\/h3><\/dt>\n<dd><p>After each AI response completes, the plugin sends a non-blocking POST request to your configured URL with a JSON body containing: <code>session_uuid<\/code>, <code>user_message<\/code>, <code>ai_response<\/code>, <code>provider<\/code>, <code>timestamp<\/code>, and <code>site_url<\/code>. Optionally add a secret key to receive a <code>X-EAIC-Signature<\/code> HMAC-SHA256 header for verification. Compatible with Zapier, Make (Integromat), n8n, and any HTTP endpoint.<\/p><\/dd>\n<dt id=\"does%20voice%20input%20work%20on%20all%20browsers%3F\"><h3>Does voice input work on all browsers?<\/h3><\/dt>\n<dd><p>Voice input uses the browser's Web Speech API which is supported in Chrome, Edge, and Safari. It requires HTTPS. Firefox does not support this API.<\/p><\/dd>\n<dt id=\"is%20the%20math%20captcha%20accessible%3F\"><h3>Is the math captcha accessible?<\/h3><\/dt>\n<dd><p>The captcha is a simple arithmetic question (e.g., \"3 + 7 = ?\") that appears above the chat input. It requires no external service, no cookies, and no images \u2014 just basic arithmetic. It is solved once per page load.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><ul>\n<li>\ud83d\udcfa Video tutorials: <a href=\"https:\/\/www.youtube.com\/@easybdit\">youtube.com\/@easybdit<\/a><\/li>\n<li>\ud83d\udcac Facebook: <a href=\"https:\/\/www.facebook.com\/easybdit\">facebook.com\/easybdit<\/a><\/li>\n<li>\ud83c\udf10 Website: <a href=\"https:\/\/easyit.com.bd\">easyit.com.bd<\/a><\/li>\n<li>\ud83d\udce7 Email: support@easyit.com.bd<\/li>\n<li>\ud83d\udc1b Bug reports: WordPress.org support forum<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.12.1<\/h4>\n\n<ul>\n<li>Improvement: The readme's Installation steps now start with the two-minute setup wizard and list the optional next steps (spending limit, forms and hours, quick-answer buttons). No code changes.<\/li>\n<\/ul>\n\n<h4>2.12.0<\/h4>\n\n<ul>\n<li>New: <strong>Enquiry and booking forms<\/strong> (EasyIT AI Chat \u2192 Forms &amp; Hours). Up to five forms; choose from name, email, phone, preferred date and time, number of people and message (each off, optional or required) and add up to three questions of your own (free text or a list of choices). Templates for an enquiry and a booking are included.<\/li>\n<li>New: Forms appear as buttons above the chat input, can be the target of the \"Talk to a person\" button (Settings \u2192 General \u2192 Contact method \u2192 \"One of my forms\"), and can be placed on any page with the <code>[eaic_form id=\"\u2026\"]<\/code> shortcode.<\/li>\n<li>New: <strong>Requests<\/strong> screen (EasyIT AI Chat \u2192 Requests) with a new-request counter in the menu, status tabs (new, confirmed, done, cancelled), search, form and date filters, a detail view with private notes and a reply-by-email link, link to the related conversation, delete, and CSV export.<\/li>\n<li>New: Email notification for each request (to a global address or one per form, at most 30 an hour), optional confirmation email to the visitor, optional forwarding to your webhook (same URL and signature as chat events), and an <code>eaic_request_created<\/code> action for developers. The weekly summary mentions requests waiting for you.<\/li>\n<li>New: <strong>Business hours &amp; offline mode<\/strong> \u2014 weekly opening hours (one interval per day) and closed dates in your site time zone, DST-aware. Outside hours the chat shows an offline notice with the next opening time and a button for your first form; the AI can optionally be switched off while closed (quick-question buttons and forms keep working); bookings can be limited to open hours. The notice is computed in the browser, so it is correct on cached pages and disappears at opening time.<\/li>\n<li>New: The AI is told your opening hours and whether you are open right now, so \"are you open?\" gets a true answer.<\/li>\n<li>New: Spam protection on forms \u2014 hidden trap field, speed check, 20 attempts and 5 accepted requests per address per 10 minutes, link-spam and banned-word filters, IP blocklist.<\/li>\n<li>New: Requests are included in WordPress's Export \/ Erase Personal Data tools, covered by a retention setting (default 365 days) and removed on uninstall.<\/li>\n<li>Improvement: Form labels and chat buttons follow the Chat Language setting (Bengali included).<\/li>\n<\/ul>\n\n<h4>2.11.0<\/h4>\n\n<ul>\n<li>New: <strong>Conversations inbox<\/strong> (EasyIT AI Chat \u2192 Conversations) \u2014 search, filter by rating or visitor type, read full transcripts with sources and ratings, export the list as CSV, download or delete a conversation. Administrators only.<\/li>\n<li>New: <strong>Quick-question buttons<\/strong> (Settings \u2192 General) \u2014 up to 8 of your own questions and answers shown at the start of a chat; answered instantly with no AI call.<\/li>\n<li>New: <strong>Proactive greeting<\/strong> (Settings \u2192 General) \u2014 optional bubble next to the floating chat button after a delay, shown once per visit on every page, the home page, or pages you pick.<\/li>\n<li>New: <strong>Page awareness<\/strong> (Settings \u2192 General, off by default) \u2014 the chat is told which published page or WooCommerce product the visitor is viewing.<\/li>\n<li>Improvement: <strong>Faster, lighter knowledge search.<\/strong> Vectors are stored in a compact format (about 4\u00d7 smaller), and the index is scanned in small batches, so memory use stays flat and a question over 3,000 passages takes about 0.1 s. The Knowledge Base page shows how many passages are indexed and how long the last search took. Existing indexes keep working.<\/li>\n<li>Improvement: OpenAI embeddings now use 512 dimensions (cheaper to store and compare). If you use OpenAI for semantic search, re-index once; until then keyword search is used.<\/li>\n<li>Improvement: Keyword search now splits on punctuation, so \"policy?\" matches \"policy\" (also helps non-English text).<\/li>\n<li>Improvement: \"How many\u2026\" counting now looks only at uploaded documents; it no longer counts words across your site's posts.<\/li>\n<li>Improvement: If the Ollama embedding server is down, chat skips it for five minutes instead of waiting on it for every message.<\/li>\n<li>Improvement: The Knowledge Base page no longer loads every stored vector just to count them.<\/li>\n<li>Improvement: Deleting a conversation also removes its ratings.<\/li>\n<li>Fix: Clicking a suggestion, quick question or lead-card button in the floating chat panel could close the panel.<\/li>\n<li>Fix: The readme performance FAQ now states the real asset size and when the chat's CSS and JavaScript load.<\/li>\n<li>Listing: new title, short description and tags describing what the plugin is for; shorter, benefit-first \"Why EasyIT AI Chat?\" section; new FAQ answers.<\/li>\n<\/ul>\n\n<h4>2.10.1<\/h4>\n\n<ul>\n<li>Fix: The readme Description was over WordPress.org's 2,500-word limit and was being truncated. It is now condensed; no features were removed.<\/li>\n<\/ul>\n\n<h4>2.10.0<\/h4>\n\n<ul>\n<li>New: <strong>\"AI Chat\" Gutenberg block<\/strong> (provider, bot profile, title, placeholder, height; WooCommerce bots available as bot types when WooCommerce is active).<\/li>\n<li>New: <strong>Elementor widget<\/strong> with the same options.<\/li>\n<li>Fix: Plugin Check findings in 2.9.0 \u2014 ordered translation placeholders, escaping\/prepare annotations, and the leads CSV export no longer uses fwrite().<\/li>\n<li>Fix: \"Tested up to\" updated to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>2.9.0<\/h4>\n\n<ul>\n<li>New: <strong>Setup wizard<\/strong> (EasyIT AI Chat \u2192 Getting Started \u2192 Start the setup wizard, and linked from the setup notice). Connects a provider after testing the key with a real request, saves your business details, and indexes your site \u2014 in about two minutes.<\/li>\n<li>New: <strong>Business Facts<\/strong> (Settings \u2192 General) \u2014 hours, phone, email, address and free-text policies are sent to the AI as authoritative facts.<\/li>\n<li>New: <strong>Human handoff<\/strong> (Settings \u2192 General) \u2014 a \"Talk to a person\" button (WhatsApp, phone, email or link) shown when the knowledge base had no match, after a \"not helpful\" rating, or under every answer if you prefer.<\/li>\n<li>New: <strong>Chat health alerts<\/strong> \u2014 provider failures are recorded; after two in a row an admin notice explains the problem in plain language (wrong key, out of credit, wrong model, unreachable Ollama\u2026) with links to fix it, and you can receive one email a day until it is resolved. Administrators also see this advice in the chat itself; visitors still see only a generic message.<\/li>\n<li>New: <strong>Answer cache<\/strong> (opt-in, Settings \u2192 General) \u2014 identical first questions are answered from a saved copy with no AI call. Follow-ups and uploads are never cached.<\/li>\n<li>New: <strong>Budget caps apply to the WooCommerce bots<\/strong> and their usage is now tracked. Administrator-only tools such as \"Ask Your Store\" are exempt.<\/li>\n<li>New: <strong>Privacy tools<\/strong> \u2014 chat conversations (for logged-in users) and leads are included in WordPress's Export and Erase Personal Data tools, and a suggested paragraph is added to the Privacy Policy guide.<\/li>\n<li>New: <strong>Bengali chat labels<\/strong> \u2014 Settings \u2192 General \u2192 Chat Language.<\/li>\n<li>Improvement: If a streamed reply fails before any text arrives, the chat retries once the ordinary way instead of showing an error.<\/li>\n<li>Improvement: With Claude or DeepSeek as the chat provider, the Knowledge Base can use an OpenAI or Gemini key (if one is entered) for semantic search.<\/li>\n<\/ul>\n\n<h4>2.8.0<\/h4>\n\n<ul>\n<li>New: <strong>Source citations<\/strong> \u2014 when an answer comes from your site content or Knowledge Base, the chat shows clickable \"Sources\" under it. Only published, public pages are ever linked.<\/li>\n<li>New: <strong>Usage &amp; cost tracking<\/strong> \u2014 token usage and estimated cost per provider\/model on the Analytics page, using the token counts the AI provider reports (estimated when a provider doesn't report them).<\/li>\n<li>New: <strong>Budget caps<\/strong> \u2014 daily token, monthly token and monthly cost limits. When one is reached the chat pauses with a message you choose and you receive a single email. Custom model prices can be entered for Together AI and custom providers.<\/li>\n<li>New: <strong>Real streaming for OpenAI, Anthropic (Claude), Google Gemini, DeepSeek and custom OpenAI-compatible providers<\/strong> \u2014 replies appear as they are generated instead of all at once.<\/li>\n<li>New: <strong>Cloud embeddings<\/strong> \u2014 Ask This Site and the Knowledge Base can now use OpenAI or Gemini embeddings for semantic search, so no Ollama server is needed. Choose the service under Knowledge Base \u2192 Embedding Service (default: follows your chat provider). Changing the embedding service means re-indexing; the page tells you when that's needed, and keyword search is used in the meantime.<\/li>\n<li>New: <strong>Knowledge gaps report<\/strong> on the Analytics page \u2014 questions with no match in your content, plus answers rated \"not helpful\".<\/li>\n<li>New: <strong>Lead capture in the main chat<\/strong> (opt-in), new-lead email notifications, and CSV export of leads.<\/li>\n<li>New: <strong>Weekly summary email<\/strong> (opt-in).<\/li>\n<li>Improvement: A short, one-time review request appears on this plugin's own admin pages after the chat has been used for a while; it can be dismissed permanently.<\/li>\n<li>Improvement: If the Ollama embedding server is unreachable, chat falls back to keyword search immediately instead of waiting on a timeout for every message.<\/li>\n<li>Fix: Saving the Knowledge Base page no longer blanks your AI provider API keys or unticks settings that live on the Settings page.<\/li>\n<li>Fix: The non-streaming chat endpoint now uses the Knowledge Base like the streaming one.<\/li>\n<li>Removed: The bundled Freemius SDK (about 23 MB). It was no longer used. The plugin makes no calls except to the AI provider you choose.<\/li>\n<\/ul>\n\n<h4>2.7.0<\/h4>\n\n<ul>\n<li>New: <strong>File &amp; image uploads in chat<\/strong> \u2014 visitors can attach images and documents (.txt\/.pdf) to a message. Images are analyzed by vision-capable providers (OpenAI, Anthropic, Gemini); documents are read as text and given to the AI as context, working with every provider. Enable globally in Settings \u2192 File &amp; Image Uploads, or per bot profile.<\/li>\n<li>Fix: Plugin Check compliance \u2014 replaced discouraged unlink()\/rename() calls with wp_delete_file() and a documented phpcs:ignore, and annotated already-validated $_POST\/$_FILES reads on the new upload endpoint.<\/li>\n<\/ul>\n\n<h4>2.6.0<\/h4>\n\n<ul>\n<li>New: <strong>Getting Started<\/strong> page (EasyIT AI Chat \u2192 Getting Started) \u2014 a live setup checklist (provider connected? floating widget on? content indexed?), a WooCommerce Bots section that explains what's unlocked and links straight to installing WooCommerce if it's missing, and a Security Snapshot summarizing your current rate limits, guest-chat, GDPR gate, and prompt-injection settings at a glance.<\/li>\n<li>Improvement: The WooCommerce Bots settings (Settings \u2192 UI) and the Shortcode Builder page now clearly flag when WooCommerce isn't active instead of silently showing store-only options with no context \u2014 existing settings are never hidden or cleared, just annotated.<\/li>\n<li>Improvement: Settings, Analytics, Test Chat, and Shortcode Builder pages are now fluid-width and reflow responsively instead of being pinned to a fixed 900px column, so they make better use of wide screens; the sidebar is sticky on desktop.<\/li>\n<li>Fix: The admin stylesheet now cache-busts on its file modification time instead of the plugin version string, so CSS-only changes take effect on a normal reload instead of requiring a hard refresh.<\/li>\n<\/ul>\n\n<h4>2.5.0<\/h4>\n\n<ul>\n<li>New: <strong>Ask This Site<\/strong> \u2014 enable auto-indexing in Knowledge Base settings and the AI automatically learns your published posts\/pages (or any public content type you choose), using the same document search that powers the Knowledge Base (RAG) feature. No manual upload needed. Re-indexes on every update, de-indexes on unpublish\/trash\/delete. Includes a one-click \"Reindex All Site Content Now\" batch button for existing content.<\/li>\n<\/ul>\n\n<h4>2.4.1<\/h4>\n\n<ul>\n<li>Fix: The default AI provider was \"Ollama\" pointing at <code>localhost:11434<\/code> \u2014 on a fresh install with no self-hosted Ollama server (the vast majority of WordPress hosts), the chat silently failed with no indication of what to fix. Default provider is now OpenAI, which fails instead with an actionable \"add your API key\" message, and the Settings page now opens on whichever provider tab is actually configured as default.<\/li>\n<li>New: A dismissible \"add your API key to get started\" notice now appears in wp-admin until a provider is configured, linking straight to Settings.<\/li>\n<li>Fix: Errors from the AI provider (e.g. \"No API key configured\") were shown verbatim to every site visitor in the public chat widget, not just admins \u2014 this leaked internal configuration detail and looked broken to end users. Admins still see the real error; visitors now see a generic \"temporarily unavailable\" message.<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>New: <strong>WooCommerce Bots<\/strong> \u2014 Order Status Bot (<code>[eaic_order_chat]<\/code>), Product Q&amp;A Bot (<code>[eaic_product_chat]<\/code>), Return\/Refund Bot (<code>[eaic_return_chat]<\/code>), and Smart Product Finder (<code>[eaic_product_finder]<\/code>) are now built into the free plugin. Activate automatically when WooCommerce is present.<\/li>\n<li>New: <strong>\"Ask Your Store\"<\/strong> \u2014 admin-only AI chat that answers questions about revenue, orders, top products, low stock, and new customers.<\/li>\n<li>New: <strong>Smart Floating Widget mode<\/strong> \u2014 the floating chat button can now auto-switch between the Order Bot, Product Bot, and general chat based on the page being viewed (Settings \u2192 UI \u2192 Floating Widget \u2192 Mode).<\/li>\n<li>New: <strong>Lead Capture<\/strong> \u2014 optional pre-chat name + email form on the WooCommerce bots; leads appear on the Analytics page alongside top-asked products and unanswered queries.<\/li>\n<li>Security: Return Bot now requires guests to verify their billing email before it will discuss an order (previously any visitor could look up any order number).<\/li>\n<li>Fix: \"No-Storage Mode\" (Settings \u2192 Security) was silently ignored on streaming chat \u2014 it now correctly stops conversations from being saved when enabled.<\/li>\n<li>Removed the \"Upgrade to Pro\" link \u2014 every feature that used to require EasyIT AI Chat Pro is now part of the free plugin.<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li>Fix: Plugin Check compliance \u2014 replaced move_uploaded_file() with wp_handle_upload(), escaped exception output, added phpcs:ignore for set_time_limit() and table-name DB queries, prefixed view variables with eaic_ namespace.<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>Fix: Ollama now streams tokens in real time \u2014 first word appears within seconds instead of waiting for the full response to complete.<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Fix: RAG count queries (\"how many X\") now use keyword-matched chunks as context, preventing wrong items from appearing when the embedding model returns poor results.<\/li>\n<li>Fix: Embedding timeout reduced from 60 s to 8 s so keyword fallback kicks in quickly when the embedding model is slow or misconfigured.<\/li>\n<li>New: Copy and Download buttons added to every AI response message \u2014 always visible, no hover required.<\/li>\n<li>Fix: Plugin version bump ensures browsers load updated JS\/CSS (cache-bust).<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Fix: RAG document processing \u2014 per-chunk embedding wrapped in try\/catch so one bad chunk no longer aborts the whole document.<\/li>\n<li>Fix: PHP <code>set_time_limit<\/code> extended during processing to prevent timeout on large PDFs.<\/li>\n<li>Fix: Stuck documents in \"processing\" state are reset to \"error\" on next admin page load so they can be re-processed.<\/li>\n<li>Fix: DB Setup button now reliably creates tables when RAG is first enabled.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>New: <strong>Knowledge Base (RAG)<\/strong> \u2014 upload PDF documents; the AI answers questions using only your document data (Retrieval-Augmented Generation).<\/li>\n<li>New: Semantic search via Ollama embeddings with automatic keyword fallback when embeddings are unavailable.<\/li>\n<li>New: Accurate \"how many X\" counting \u2014 scans all chunks with plural\/singular stemming for exact results.<\/li>\n<li>New: Admin Test Query UI \u2014 inspect which document chunks are retrieved for any query.<\/li>\n<li>New: Document status auto-polling \u2014 admin page refreshes processing status without a manual reload.<\/li>\n<li>New: Configurable chunk size, chunk overlap, top-K results, similarity threshold, and embedding model.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fix: Custom provider settings now save reliably (JSON decode fallback prevents silent data loss on save).<\/li>\n<li>Fix: Settings page stays on the active tab after saving (sessionStorage-based tab restore).<\/li>\n<li>Fix: Custom provider slugs (custom_1, custom_2 \u2026) are now accepted as the Default Provider.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>New: Custom Providers \u2014 add any OpenAI-compatible API endpoint (LM Studio, custom gateway, Ollama proxy, etc.) via Settings \u2192 Custom tab. Use with <code>[eaic_chat provider=\"custom_1\"]<\/code>. Includes per-provider Test Connection button, Enable\/Disable toggle, configurable URL, API key, model, and timeout.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Bug fixes from code audit: fixed critical array key mismatch in feedback ownership check (feedback now correctly accepts\/rejects based on actual session owner), fixed missing closing div in AI Avatar settings card (cosmetic HTML issue), improved no-storage mode (no longer creates orphan session records in DB), made <code>frontend_i18n()<\/code> a static method, updated Anthropic default model, fixed <code>Tested up to<\/code> header (6.8), improved copy button error handling in Shortcode Builder.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>Major release \u2014 Security Suite.<\/strong> Eight new security features in Settings \u2192 Security:<\/li>\n<li><strong>Access Restriction<\/strong> \u2014 Allow everyone, logged-in users only, or specific user roles.<\/li>\n<li><strong>IP Blocklist<\/strong> \u2014 Block specific IP addresses from using the chat.<\/li>\n<li><strong>Word Filter<\/strong> \u2014 Block or warn when a message contains banned words\/phrases (case-insensitive, one per line).<\/li>\n<li><strong>Prompt Injection Detection<\/strong> \u2014 Detect and block common jailbreak\/injection patterns automatically.<\/li>\n<li><strong>No-Storage Mode<\/strong> \u2014 Opt out of saving conversations to the database entirely (GDPR-strict setups).<\/li>\n<li><strong>Anti-Bot Math Captcha<\/strong> \u2014 Simple arithmetic challenge before the first message. No external API required.<\/li>\n<li><strong>Abuse Alert Email<\/strong> \u2014 Get an email when the rate limit is exceeded. Configurable recipient.<\/li>\n<li><strong>Message Length Limit<\/strong> \u2014 Configure max characters per user message (50\u20134000, default 4000).<\/li>\n<\/ul>\n\n<h4>1.0.31<\/h4>\n\n<ul>\n<li>Added Webhook Support \u2014 configure a webhook URL in Settings \u2192 Webhook. After each AI response, the plugin sends a non-blocking POST to your URL with JSON payload: session_uuid, user_message, ai_response, provider, timestamp. Optional HMAC-SHA256 secret key adds an X-EAIC-Signature header for verification. Compatible with Zapier, Make (Integromat), n8n, and any HTTP endpoint.<\/li>\n<\/ul>\n\n<h4>1.0.30<\/h4>\n\n<ul>\n<li>Added Multiple Bot Profiles \u2014 create named configurations (slug, name, provider, title, system prompt) in Settings \u2192 Profiles. Load any profile with <code>[eaic_chat profile=\"your-slug\"]<\/code>. Profiles appear in the Shortcode Builder for one-click selection.<\/li>\n<\/ul>\n\n<h4>1.0.29<\/h4>\n\n<ul>\n<li>Added Shortcode Builder \u2014 a new admin page (EasyIT AI Chat \u2192 Shortcode Builder) lets you configure the chatbot visually. Choose provider, title, placeholder, height, and system prompt with dropdowns and inputs. The shortcode updates live and a Copy button puts it on your clipboard instantly. No typing required.<\/li>\n<\/ul>\n\n<h4>1.0.28<\/h4>\n\n<ul>\n<li>Added Context Length Control \u2014 a new \"Context Window (messages)\" setting (1\u201320, default 10) controls how many previous messages are sent to the AI with each request. Lower values reduce token cost; higher values give the AI more conversation memory. Find it in Settings \u2192 AI Behavior.<\/li>\n<\/ul>\n\n<h4>1.0.27<\/h4>\n\n<ul>\n<li>Added Read Aloud (TTS) \u2014 a speaker button appears on hover over any AI message. Click to have the browser read the message aloud using the Web Speech API (SpeechSynthesis). Click again to stop. No external service required \u2014 uses the built-in browser engine.<\/li>\n<\/ul>\n\n<h4>1.0.26<\/h4>\n\n<ul>\n<li>Added GDPR Consent Gate \u2014 optionally show a consent banner before the chat activates. Users must click an accept button before chatting. Consent is stored in a browser cookie (365 days). Configurable message text and button label. Enable in Settings \u2192 UI.<\/li>\n<\/ul>\n\n<h4>1.0.25<\/h4>\n\n<ul>\n<li>Added Fullscreen Mode \u2014 an expand button in the chat topbar switches the widget to full-screen overlay. Press Escape or click again to exit. Works on any page without layout changes.<\/li>\n<\/ul>\n\n<h4>1.0.24<\/h4>\n\n<ul>\n<li>Added Session Search \u2014 a search box in the chat sidebar lets users filter conversations by title in real time. No extra server requests \u2014 filtering is client-side.<\/li>\n<\/ul>\n\n<h4>1.0.23<\/h4>\n\n<ul>\n<li>Added Message Feedback \u2014 \ud83d\udc4d\/\ud83d\udc4e buttons appear below each AI response. Ratings are stored in your database and visible in the Analytics dashboard (Helpful \/ Not helpful counts). Feedback resets if you regenerate a response.<\/li>\n<\/ul>\n\n<h4>1.0.22<\/h4>\n\n<ul>\n<li>Added Copy Message \u2014 hover any AI response to reveal a copy button. Copies the plain text of the message to the clipboard. Shows a checkmark confirmation on success.<\/li>\n<\/ul>\n\n<h4>1.0.21<\/h4>\n\n<ul>\n<li>Added Message Timestamps \u2014 each chat message now shows the time it was sent (HH:MM format) next to the sender label. Timestamps are preserved when loading conversation history.<\/li>\n<\/ul>\n\n<h4>1.0.20<\/h4>\n\n<ul>\n<li>Added Stop &amp; Regenerate \u2014 the Send button turns into a red Stop button while the AI is responding. Click Stop to cancel the stream at any time. After a response completes, a Regenerate button appears below the last AI message to re-run the same query.<\/li>\n<\/ul>\n\n<h4>1.0.19<\/h4>\n\n<ul>\n<li>Improved Typing Indicator \u2014 replaced the hourglass thinking bubble with a smooth 3-dot animated typing indicator (classic messaging-app style). Dots use the configured accent color and animate with a staggered bounce. Timer appears after 5 seconds for slow responses.<\/li>\n<\/ul>\n\n<h4>1.0.18<\/h4>\n\n<ul>\n<li>Added Analytics Dashboard \u2014 new admin page (EasyIT AI Chat \u2192 Analytics) showing total conversations, total messages, messages today, active chats this week, most used provider, and a 7-day message bar chart. All data from your own database, zero external tracking.<\/li>\n<\/ul>\n\n<h4>1.0.17<\/h4>\n\n<ul>\n<li>Added Floating Chat Widget \u2014 a fixed launcher button that appears on every page. Click to open a slide-up chat panel. Configurable position (bottom-right \/ bottom-left), label, and uses your accent color. Enable in Settings \u2192 UI. No WooCommerce required.<\/li>\n<\/ul>\n\n<h4>1.0.16<\/h4>\n\n<ul>\n<li>Added Conversation Export \u2014 a download button in the chat topbar lets users save the current conversation as a .txt file. Enable in Settings \u2192 UI.<\/li>\n<\/ul>\n\n<h4>1.0.15<\/h4>\n\n<ul>\n<li>Added Voice Input \u2014 enable a microphone button in the input area. Uses the browser's Web Speech API (Chrome, Edge, Safari). Speech is transcribed directly into the text field. Enable in Settings \u2192 UI. Requires HTTPS.<\/li>\n<\/ul>\n\n<h4>1.0.14<\/h4>\n\n<ul>\n<li>Added Color Customization \u2014 set Accent, User message, and AI message bubble colors via color pickers in Settings \u2192 UI. Changes apply instantly with a reset-to-default button for each color.<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Added Custom AI Avatar \u2014 upload any image from the WordPress Media Library to replace the default \ud83e\udd16 emoji in all AI message bubbles. Configurable in Settings \u2192 UI.<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Added Suggested Questions \u2014 display clickable question chips below the welcome area. Clicking a chip sends it instantly. Up to 6 chips, one per line. Configurable in Settings \u2192 UI.<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Added Welcome Message \u2014 enable a custom AI greeting bubble that appears when a new chat session starts. Configurable in Settings \u2192 UI. Supports markdown. Not stored or sent to the AI.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Added \"Upgrade to Pro \u2192\" link in the plugins list for easy access to the Pro version.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fixed fatal error on activation \u2014 Freemius SDK vendor files now included in the plugin package.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Renamed Freemius helper function to eaic_fs() for consistency with plugin prefix.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>WooCommerce bots moved to EasyIT AI Chat Pro add-on.<\/li>\n<li>Updated default models: GPT-4o-mini (OpenAI), Claude 3.5 Haiku (Anthropic), Gemini 2.0 Flash (Gemini).<\/li>\n<li>Added newer model examples in settings: GPT-4.1, o3, o4-mini, Claude 3.7 Sonnet, Gemini 2.5 Pro\/Flash.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Minor bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Minor bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added Google Gemini provider (Gemini 1.5 Flash, Gemini 1.5 Pro, Gemini 2.0 Flash).<\/li>\n<li>Added auto-title generation \u2014 first message generates a meaningful session title via the active AI provider.<\/li>\n<li>Added data retention cron \u2014 sessions older than the configured number of days are purged automatically.<\/li>\n<li>Added per-IP rate limiting as a secondary hard cap alongside the existing per-user\/session limit.<\/li>\n<li>Added Lock System Prompt setting to prevent front-end prompt injection on public sites.<\/li>\n<li>Improved guest cookie security: SameSite=Lax attribute now set via PHP 8.0 array signature.<\/li>\n<li>Rate limit window and max values are now configurable in Settings \u2192 Security.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Renamed shortcode from <code>[easyai]<\/code> to <code>[eaic_chat]<\/code> to use the plugin's <code>eaic<\/code> prefix (WordPress.org review feedback).<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Renamed plugin and folder to comply with WordPress.org trademark guidelines.<\/li>\n<li>All exception messages now escaped before being thrown.<\/li>\n<li>All direct database queries paired with object-cache reads\/writes.<\/li>\n<li>All AJAX handlers verify nonce before reading <code>$_POST<\/code>.<\/li>\n<li>Removed deprecated <code>load_plugin_textdomain()<\/code> call (handled automatically since WP 4.6+).<\/li>\n<li>All view-scoped variables prefixed to avoid global namespace collisions.<\/li>\n<li>Excluded development files from production zip.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Free AI chatbot that answers from your own content, can't run up your bill (spending caps), and includes WooCommerce bots. OpenAI, Claude, Gemini.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/312787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=312787"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/muradbd"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=312787"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=312787"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=312787"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=312787"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=312787"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=312787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}