{"id":359186,"date":"2026-08-30T20:31:12","date_gmt":"2026-08-30T20:31:12","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/namdar-onsite-ai-answers\/"},"modified":"2026-08-30T22:07:22","modified_gmt":"2026-08-30T22:07:22","slug":"namdar-ai-answers","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/namdar-ai-answers\/","author":23555275,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Namdar AI Answers","header_author":"DEV Namdar","header_description":"An AI chat widget that answers visitor questions using only your site's own content.","assets_banners_color":"1c1b38","last_updated":"2026-08-30 22:07:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"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":"devnamdar","date":"2026-08-30 22:07:22","revision":3673175}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3673176,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3673176,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3673176,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3673176,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3673176,"resolution":"1","location":"assets","locale":"","width":3000,"height":2330},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3673176,"resolution":"10","location":"assets","locale":"","width":3000,"height":2000},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3673176,"resolution":"11","location":"assets","locale":"","width":3000,"height":2000},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3673176,"resolution":"12","location":"assets","locale":"","width":3000,"height":2000},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3673176,"resolution":"13","location":"assets","locale":"","width":3000,"height":2000},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3673176,"resolution":"14","location":"assets","locale":"","width":3000,"height":2000},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3673176,"resolution":"15","location":"assets","locale":"","width":3000,"height":2000},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3673176,"resolution":"16","location":"assets","locale":"","width":3000,"height":2000},"screenshot-17.png":{"filename":"screenshot-17.png","revision":3673176,"resolution":"17","location":"assets","locale":"","width":3000,"height":2000},"screenshot-18.png":{"filename":"screenshot-18.png","revision":3673176,"resolution":"18","location":"assets","locale":"","width":3000,"height":2000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3673176,"resolution":"2","location":"assets","locale":"","width":3000,"height":2330},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3673176,"resolution":"3","location":"assets","locale":"","width":3000,"height":2000},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3673176,"resolution":"4","location":"assets","locale":"","width":3000,"height":2000},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3673176,"resolution":"5","location":"assets","locale":"","width":3000,"height":2000},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3673176,"resolution":"6","location":"assets","locale":"","width":3000,"height":2000},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3673176,"resolution":"7","location":"assets","locale":"","width":3000,"height":3090},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3673176,"resolution":"8","location":"assets","locale":"","width":3000,"height":3090},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3673176,"resolution":"9","location":"assets","locale":"","width":3000,"height":2000}},"screenshots":{"1":"Dashboard \u2014 stats, 14-day trend chart, and content-gap report (light mode)","2":"Dashboard (dark mode)","3":"AI Engine \u2014 provider presets, response tuning, conversation limits (light mode)","4":"AI Engine (dark mode)","5":"Knowledge Base \u2014 searchable content types and caching (light mode)","6":"Knowledge Base (dark mode)","7":"Widget \u2014 appearance, engagement, and display settings with a live preview (light mode)","8":"Widget (dark mode)","9":"Conversations \u2014 searchable, filterable log with CSV export (light mode)","10":"Conversations (dark mode)","11":"Leads \u2014 captured follow-up requests (light mode)","12":"Leads (dark mode)","13":"Tools \u2014 settings import\/export (light mode)","14":"Tools (dark mode)","15":"Go Pro \u2014 feature comparison and pricing (light mode)","16":"Go Pro (dark mode)","17":"Developer credit (light mode)","18":"Developer credit (dark mode)"}},"plugin_section":[],"plugin_tags":[2353,5707,2364,944,1104],"plugin_category":[41],"plugin_contributors":[278392],"plugin_business_model":[],"class_list":["post-359186","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chat","plugin_tags-chatbot","plugin_tags-search","plugin_tags-support","plugin_category-communication","plugin_contributors-devnamdar","plugin_committers-devnamdar"],"banners":{"banner":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/banner-772x250.png?rev=3673176","banner_2x":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/banner-1544x500.png?rev=3673176","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/icon-128x128.png?rev=3673176","icon_2x":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/icon-256x256.png?rev=3673176","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-1.png?rev=3673176","caption":"Dashboard \u2014 stats, 14-day trend chart, and content-gap report (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-2.png?rev=3673176","caption":"Dashboard (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-3.png?rev=3673176","caption":"AI Engine \u2014 provider presets, response tuning, conversation limits (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-4.png?rev=3673176","caption":"AI Engine (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-5.png?rev=3673176","caption":"Knowledge Base \u2014 searchable content types and caching (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-6.png?rev=3673176","caption":"Knowledge Base (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-7.png?rev=3673176","caption":"Widget \u2014 appearance, engagement, and display settings with a live preview (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-8.png?rev=3673176","caption":"Widget (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-9.png?rev=3673176","caption":"Conversations \u2014 searchable, filterable log with CSV export (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-10.png?rev=3673176","caption":"Conversations (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-11.png?rev=3673176","caption":"Leads \u2014 captured follow-up requests (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-12.png?rev=3673176","caption":"Leads (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-13.png?rev=3673176","caption":"Tools \u2014 settings import\/export (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-14.png?rev=3673176","caption":"Tools (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-15.png?rev=3673176","caption":"Go Pro \u2014 feature comparison and pricing (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-16.png?rev=3673176","caption":"Go Pro (dark mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-17.png?rev=3673176","caption":"Developer credit (light mode)"},{"src":"https:\/\/ps.w.org\/namdar-ai-answers\/assets\/screenshot-18.png?rev=3673176","caption":"Developer credit (dark mode)"}],"raw_content":"<!--section=description-->\n<p>Most on-site search boxes are useless for anything but exact keyword matches. Someone types \"do you ship to Canada\" or \"how do I cancel my plan,\" gets back three blog post titles that vaguely contain the word \"ship\" or \"cancel,\" and either gives up or emails you to ask something your site already answers somewhere.<\/p>\n\n<p>Namdar AI Answers replaces that search box with an actual conversation. A visitor types a question into a small chat widget, the plugin searches your own posts and pages for anything relevant, and sends just that \u2014 the question plus the matching content, nothing else \u2014 to an AI model to write a real answer in plain language. If your content doesn't cover it, the plugin says so instead of guessing, and can offer to collect the visitor's email so you can follow up yourself.<\/p>\n\n<h4>What's actually in the free version<\/h4>\n\n<p>This isn't a crippled trial. The free plugin is fully working:<\/p>\n\n<ul>\n<li>A floating chat bubble or an inline <code>[ndar_chat]<\/code> shortcode \u2014 light or dark theme, your accent color, your own avatar, a welcome message, a few clickable starter questions, and an optional auto-open after a delay.<\/li>\n<li>Answers come back formatted (bold, lists, links) instead of one flat paragraph.<\/li>\n<li>An admin dashboard with a setup checklist, a 14-day question trend chart, and \u2014 probably the most useful part \u2014 a running list of questions your content doesn't cover yet. It's a to-do list for what to write next, generated from real visitor questions instead of guesswork.<\/li>\n<li>Control over what gets used as context: pick which post types are searchable, exclude specific pages by ID, and password-protected content is automatically kept out of the AI's context.<\/li>\n<li>A per-visitor daily limit, an optional site-wide daily cap so costs can't run away from you, and answer caching so the same question twice doesn't cost twice.<\/li>\n<li>When the AI genuinely can't answer, and you've turned on lead capture, the visitor gets a small inline form to leave an email instead of just leaving the page. Those land in a Leads tab you can export.<\/li>\n<li>Thumbs up \/ thumbs down on every answer, feeding back into the same content-gap report.<\/li>\n<li>Conversation log with search, filters, and CSV export. Settings import\/export for moving a configuration between sites.<\/li>\n<\/ul>\n\n<h4>Bring your own key \u2014 including free ones<\/h4>\n\n<p>You connect your own API key from OpenAI, Google Gemini, Groq, Mistral, OpenRouter, or a self-hosted endpoint like Ollama. Several of those (Gemini, Groq, Mistral, and OpenRouter's free models) have a genuinely free tier, and the plugin has one-click presets and direct signup links for them, so this can run at zero cost if that's what you need. The key is encrypted before it's stored, and every request happens server-side \u2014 your key never reaches the browser.<\/p>\n\n<p><strong>This plugin connects to whichever external AI service you configure.<\/strong> Your site sends the visitor's question and a short excerpt of matching content to that provider's API to generate each answer. Any usage cost is billed to you directly by the provider, not by this plugin. Full details of what is sent, when, and to whom are in the \"External services\" section below \u2014 please review the terms and privacy policy of whichever provider you connect.<\/p>\n\n<h4>Namdar AI Answers Pro<\/h4>\n\n<p>The free version holds up on its own, but a few things need real infrastructure behind them, which is what the Pro version adds:<\/p>\n\n<ul>\n<li>Actual semantic (vector) search instead of keyword matching, so it finds the right paragraph even when the visitor's wording doesn't match your text at all.<\/li>\n<li>A managed API key \u2014 no signing up for an AI provider yourself, it's handled for you.<\/li>\n<li>Conversation memory that persists across visits, not just within one browser session.<\/li>\n<li>WooCommerce awareness, so it can answer \"is this in stock\" or \"how much is shipping to X\" from live product data.<\/li>\n<li>White-label branding, for agencies dropping this into client sites.<\/li>\n<li>Priority support.<\/li>\n<\/ul>\n\n<p>Pricing and the upgrade path are in the plugin's admin panel under the Pro tab \u2014 no separate account or search required.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Full-width, single-page admin dashboard with setup checklist, usage stats, and a content-gap report<\/li>\n<li>Quick-start provider presets (OpenAI, Google Gemini, Groq, OpenRouter, Mistral, Together AI, or custom\/self-hosted) with model picker and direct links to get a free API key<\/li>\n<li>Adjustable response temperature and max token length<\/li>\n<li>Choose which post types are searchable, and exclude specific posts or pages<\/li>\n<li>Floating chat widget or <code>[ndar_chat]<\/code> shortcode, with light\/dark theme, custom avatar, and a live settings preview<\/li>\n<li>Optional multi-turn conversation memory within a session<\/li>\n<li>Starter question chips, customizable welcome message, and optional auto-open after a delay<\/li>\n<li>Per-visitor daily question limit, a custom rate-limit message, plus an optional site-wide daily API call cap<\/li>\n<li>Optional answer caching to reduce repeat API costs<\/li>\n<li>\ud83d\udc4d\/\ud83d\udc4e answer feedback and an unanswered-question \"content gaps\" report<\/li>\n<li>Optional lead capture form when a question can't be answered, with email notification<\/li>\n<li>Conversation log with search, filters, pagination, and CSV export<\/li>\n<li>Settings import\/export (API key is never included in exports)<\/li>\n<li>API key stored encrypted in the database<\/li>\n<li>Developer filters for extending retrieval and the API client<\/li>\n<\/ul>\n\n<h4>Data Collected<\/h4>\n\n<ul>\n<li>Visitor questions and generated answers are stored in your database so you can review them.<\/li>\n<li>If lead capture is enabled and a visitor chooses to submit their contact details, their name, email address, and question are stored and, optionally, emailed to you.<\/li>\n<li>No visitor data is sent anywhere besides the AI endpoint you configure and your own WordPress database.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not work without connecting to an external AI service, since generating an answer requires sending the visitor's question (and a short excerpt of matching site content) to an AI model. You choose which provider to connect in the plugin's settings, and supply your own API key for it. No data is sent to any of these services until you configure a key and a visitor asks a question through the chat widget.<\/p>\n\n<p>For every request, the plugin sends: the visitor's typed question, a short excerpt (up to a few hundred words) from your own site's posts\/pages that matched the question, and \u2014 if you've enabled \"remember conversation\" \u2014 the last few prior messages in that visitor's session. No names, email addresses, IP addresses, or other visitor identifiers are included in this request. This happens only when a visitor actively submits a question in the chat widget.<\/p>\n\n<p>The plugin supports the following providers. Only the one you configure and connect is ever contacted:<\/p>\n\n<p><strong>OpenAI<\/strong> \u2014 used to generate answers when OpenAI is the selected provider.\nTerms of Use: https:\/\/openai.com\/policies\/row-terms-of-use\/\nPrivacy Policy: https:\/\/openai.com\/policies\/privacy-policy\/<\/p>\n\n<p><strong>Google Gemini (Google AI)<\/strong> \u2014 used to generate answers when Google Gemini is the selected provider.\nTerms of Service: https:\/\/ai.google.dev\/gemini-api\/terms\nPrivacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Groq<\/strong> \u2014 used to generate answers when Groq is the selected provider.\nTerms of Use: https:\/\/groq.com\/terms-of-use\nPrivacy Policy: https:\/\/groq.com\/privacy-policy<\/p>\n\n<p><strong>Mistral AI<\/strong> \u2014 used to generate answers when Mistral is the selected provider.\nTerms of Service: https:\/\/mistral.ai\/en\/terms\nPrivacy Policy: https:\/\/legal.mistral.ai\/terms\/privacy-policy<\/p>\n\n<p><strong>OpenRouter<\/strong> \u2014 used to generate answers when OpenRouter is the selected provider. OpenRouter itself routes the request to one of several underlying model providers depending on the model you choose.\nTerms of Service: https:\/\/openrouter.ai\/terms\nPrivacy Policy: https:\/\/openrouter.ai\/privacy<\/p>\n\n<p><strong>Together AI<\/strong> \u2014 used to generate answers when Together AI is the selected provider.\nTerms of Service: https:\/\/www.together.ai\/terms-of-service\nPrivacy Policy: https:\/\/www.together.ai\/privacy<\/p>\n\n<p><strong>Self-hosted \/ custom endpoint<\/strong> \u2014 if you configure a custom OpenAI-compatible endpoint (for example a self-hosted Ollama server), requests are sent only to the URL you provide. Since you control that endpoint, no third-party terms apply beyond your own.<\/p>\n\n<h4>Bundled Libraries<\/h4>\n\n<p>This plugin bundles the following third-party libraries locally \u2014 no external CDN requests are made:<\/p>\n\n<ul>\n<li>Chart.js (MIT License) \u2014 powers the admin Dashboard usage charts. https:\/\/www.chartjs.org<\/li>\n<li>Marked (MIT License) \u2014 renders chat answers as formatted text. https:\/\/marked.js.org<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/namdar-ai-answers<\/code>, or install through the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>AI Answers<\/strong> in the admin menu.<\/li>\n<li>Enter your API key and choose which content types to search.<\/li>\n<li>Enable the widget.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20work%20without%20an%20api%20key%3F\"><h3>Does this plugin work without an API key?<\/h3><\/dt>\n<dd><p>No. You must supply your own API key for an external AI provider for the widget to generate answers.<\/p><\/dd>\n<dt id=\"who%20pays%20for%20the%20ai%20usage%3F\"><h3>Who pays for the AI usage?<\/h3><\/dt>\n<dd><p>You do, directly to the AI provider you connect, based on their own pricing.<\/p><\/dd>\n<dt id=\"is%20my%20api%20key%20stored%20securely%3F\"><h3>Is my API key stored securely?<\/h3><\/dt>\n<dd><p>The key is encrypted before being stored in the WordPress database.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20ai%20can%27t%20answer%20a%20question%3F\"><h3>What happens when the AI can't answer a question?<\/h3><\/dt>\n<dd><p>The question is logged as unanswered so you can see it in the Dashboard's content-gap report, and, if enabled, the visitor is offered a simple form to leave their email for a follow-up.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A chat widget that actually answers visitor questions \u2014 using what&#039;s on your site, not the open internet, and not made up.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359186"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devnamdar"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359186"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359186"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359186"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359186"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359186"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}