{"id":398526,"date":"2026-11-14T10:04:22","date_gmt":"2026-11-14T10:04:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/needtome-ai-chat\/"},"modified":"2026-11-14T10:03:54","modified_gmt":"2026-11-14T10:03:54","slug":"needtome-ai-chat","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/needtome-ai-chat\/","author":21194292,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"NeedToMe AI Chat","header_author":"Parad0x","header_description":"An AI consultant in a chat on your site: answers visitors 24\/7 from your own knowledge base (site pages, documents, price lists), speaks the visitor's language, collects leads and hands a dialog over to a person. Requires an account at <a href=\"https:\/\/kra.name\/\" target=\"_blank\" rel=\"noopener\">kra.name<\/a>, where the chat, its knowledge and its answers are set up.","last_updated":"2026-11-14 10:03:54","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.donationalerts.com\/r\/needtome","header_plugin_uri":"https:\/\/needtome.com\/needtome-ai-chat\/","header_author_uri":"https:\/\/needtome.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"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":"needtome","date":"2026-11-14 10:03:54","revision":3801654}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3801654,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3801654,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3801654,"resolution":"1","location":"assets","locale":"","width":1256,"height":1040},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3801654,"resolution":"2","location":"assets","locale":"","width":885,"height":540},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3801654,"resolution":"3","location":"assets","locale":"","width":890,"height":672},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3801654,"resolution":"4","location":"assets","locale":"","width":888,"height":335},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3801654,"resolution":"5","location":"assets","locale":"","width":889,"height":979},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3801654,"resolution":"6","location":"assets","locale":"","width":1249,"height":1103},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3801654,"resolution":"7","location":"assets","locale":"","width":1218,"height":790},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3801654,"resolution":"8","location":"assets","locale":"","width":804,"height":1302},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3801654,"resolution":"9","location":"assets","locale":"","width":2688,"height":2010}},"screenshots":{"1":"Connect with one button: the chat linked through AI Worker, the setup wizard (with MCP and Telegram) and the usage limits.","2":"The chat's look: design, colours, colour scheme, position and offset of the button.","3":"Where the chat appears, when it loads, its language, and connecting it to messengers.","4":"Features: voice input, dialog rating and the privacy policy link.","5":"The consultant, greeting and quick questions in every language, synced with kra.name.","6":"Knowledge base: what the consultant answers from and the content sent from this site.","7":"The chat's plan and paid add-ons at kra.name: visitor files, voice input, daily knowledge refresh, setup and support.","8":"The chat on the site: the consultant's window with the greeting.","9":"Statistics: dialogs, visitor messages, answers, leads and ratings by day, with the plan's usage."}},"plugin_section":[],"plugin_tags":[148285,191735,2369,337,2379],"plugin_category":[],"plugin_contributors":[228346],"plugin_business_model":[],"class_list":["post-398526","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-assistant","plugin_tags-ai-chatbot","plugin_tags-customer-support","plugin_tags-lead-generation","plugin_tags-live-chat","plugin_contributors-needtome","plugin_committers-needtome"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/icon-256x256.png?rev=3801654","icon_2x":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/icon-256x256.png?rev=3801654","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-1.png?rev=3801654","caption":"Connect with one button: the chat linked through AI Worker, the setup wizard (with MCP and Telegram) and the usage limits."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-2.png?rev=3801654","caption":"The chat's look: design, colours, colour scheme, position and offset of the button."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-3.png?rev=3801654","caption":"Where the chat appears, when it loads, its language, and connecting it to messengers."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-4.png?rev=3801654","caption":"Features: voice input, dialog rating and the privacy policy link."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-5.png?rev=3801654","caption":"The consultant, greeting and quick questions in every language, synced with kra.name."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-6.png?rev=3801654","caption":"Knowledge base: what the consultant answers from and the content sent from this site."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-7.png?rev=3801654","caption":"The chat's plan and paid add-ons at kra.name: visitor files, voice input, daily knowledge refresh, setup and support."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-8.png?rev=3801654","caption":"The chat on the site: the consultant's window with the greeting."},{"src":"https:\/\/ps.w.org\/needtome-ai-chat\/assets\/screenshot-9.png?rev=3801654","caption":"Statistics: dialogs, visitor messages, answers, leads and ratings by day, with the plan's usage."}],"raw_content":"<!--section=description-->\n<p>NeedToMe AI Chat puts an AI consultant on your WordPress site. It answers visitors around the clock from what you teach it: the pages of your site, documents, price lists and your own answers. It speaks the visitor's language, asks for a name, phone or e-mail when a visitor wants to order or be called back, and sends the lead to you by e-mail, Telegram, Slack, Microsoft Teams, Discord, Google Sheets, Notion, a CRM or a webhook. When a question needs a person, the dialog is handed over to you.<\/p>\n\n<p><strong>An account at <a href=\"https:\/\/kra.name\/\">kra.name<\/a> is required.<\/strong> The chat, its knowledge base, its answers and your leads live there; this plugin connects your site to that chat with the chat's public key. Without an account and a chat set up at kra.name the plugin shows nothing to visitors.<\/p>\n\n<p>Connect several chats to the same site, each with its own appearance, page rules, knowledge selection, catalog sync, setup wizard and statistics. For example, an AI nutritionist can use articles while a recipe finder uses recipe posts.<\/p>\n\n<p>What you set in WordPress:<\/p>\n\n<ul>\n<li>Chats: add public keys manually or choose chats from your AI Worker account, one click per chat. A connection error is shown next to that chat.<\/li>\n<li>Look: theme, colour scheme (light, dim, dark or the visitor's system setting), every colour of the window, position of the button.<\/li>\n<li>Loading: at once, after a delay, on the first scroll or on interaction \u2014 the chat does not slow your pages down.<\/li>\n<li>Language: fixed or automatic (URL prefix, language subdomain, HTML lang, browser).<\/li>\n<li>Pages: on every page, only on the pages you list, or everywhere except them (paths like \/contacts\/ or \/shop\/*).<\/li>\n<li>Inline chat: the [aiworker_chat] shortcode puts the chat into a block of a page.<\/li>\n<li>The consultant and the chat texts in every language: greeting, quick questions, name and caption, with one-click translation into the chat's other languages.<\/li>\n<li>The AI notice under the input and the AI's greeting next to the chat button when a page opens.<\/li>\n<li>Leads: where they go (e-mail, Telegram, Slack, Microsoft Teams, Discord, Google Sheets, Notion, a CRM or a webhook), with a delivery test.<\/li>\n<li>Knowledge base: the site's posts, pages, WooCommerce products, ACF fields and text widgets are sent to the chat and kept up to date; sources (sites, pages, Google Docs, texts) and questions and answers are added and edited right in the plugin.<\/li>\n<li>Connect with one button through an AI Worker account; a setup wizard (with voice input), usage limits and statistics.<\/li>\n<li>Voice input, dialog rating and a link to your privacy policy inside the chat.<\/li>\n<li>A live preview of the chat on the settings page. Before a key is saved, click \u201cLoad live preview\u201d to load the sample widget from kra.name; with a saved key the preview loads automatically. The connection check says exactly what to fix (key, allowed domain, finished setup, Content-Security-Policy).<\/li>\n<\/ul>\n\n<p>When the chat is shown, the plugin merges its required sources into Content-Security-Policy headers sent by PHP. Server-level headers are outside WordPress and must be updated separately. Add the <code>aiworker_chat_merge_csp<\/code> filter and return <code>false<\/code> to turn off this automatic merge.<\/p>\n\n<p>Paid add-ons (documents and photos from visitors, voice and others) are enabled for each chat at kra.name.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to <a href=\"https:\/\/kra.name\/\">kra.name<\/a>, a hosted AI chat service. An account and a configured chat are required.<\/p>\n\n<p>When the chat is enabled on a page, the visitor's browser loads the chat widget from kra.name. The live preview on the Settings screen also loads <code>widget.js<\/code> from kra.name in the administrator's browser: it loads automatically when a chat key is saved, or after the administrator clicks \u201cLoad live preview\u201d when there is no saved key. Messages and any contact details the visitor chooses to provide are sent to kra.name so the service can generate replies, keep the conversation and deliver leads to the site owner. If enabled for the chat, visitor voice recordings, documents, photos and other files are also sent to kra.name. The visitor's browser sends the site's address and the public chat key needed to select the configured chat.<\/p>\n\n<p>If the site owner enables knowledge-base sync and chooses post types and fields, the plugin sends the selected published WordPress content to kra.name. This happens after the owner enables sync, when selected posts or fields change, during the scheduled refresh, or when the owner requests a full sync. If the owner also enables the product catalog (WooCommerce only), the plugin sends the published products that are visible in the shop: name, SKU, link, prices, currency, stock, categories, tags, attributes, the chosen descriptions and extra fields, the image link and the variations. Requests use the connected AI Worker account's OAuth access token; a sync token saved by an older version can remain in use until the owner removes it. Opening the plugin settings with a saved chat key, or choosing \u201cCheck again\u201d, also contacts kra.name to check the chat and the site's allowed domain.<\/p>\n\n<p>If the site owner connects an AI Worker account with the \u00abConnect\u00bb button, the owner signs in at kra.name and allows access (OAuth 2.1 with PKCE; no password or API key is stored in WordPress). The plugin then stores the access and refresh tokens on the site, encrypted with the site's salts, and from the server sends to kra.name: the site's address and name when it registers the connection; the requests the owner types or dictates into the setup wizard (a voice request is sent as a short audio recording to be transcribed) and the owner's \u00abApply\u00bb or \u00abCancel\u00bb choices; the chat settings the owner changes (consultant, chat texts, the AI notice and greeting, the chat button icon, lead collection and delivery with its channel settings, knowledge mode), an image the owner uploads as the chat button icon, texts to translate, delivery tests, knowledge sources and questions and answers the owner adds, refreshes, edits or deletes; and requests for the account, the chat list, the connected channels, usage limits and statistics. When a chat is enabled, a front-end page view can schedule a background <code>GET \/plugin\/me<\/code> request at most hourly to check for a new widget version. Background requests can also refresh an expired OAuth access token and send selected knowledge-base or catalog changes to kra.name. \u00abDisconnect\u00bb revokes the access at kra.name and deletes the tokens; the access covers only the account's online chats and personas.<\/p>\n\n<p>For a displayed chat, the plugin automatically merges the required sources into Content-Security-Policy headers set by PHP. This behavior is on by default; the <code>aiworker_chat_merge_csp<\/code> filter can return <code>false<\/code> to disable it. A CSP sent by the web server cannot be changed by the plugin.<\/p>\n\n<p>The service's terms are at <a href=\"https:\/\/kra.name\/offer\/\">kra.name\/offer<\/a> and its privacy policy is available at <a href=\"https:\/\/kra.name\/privacy\/\">kra.name\/privacy<\/a>. Data handled by the service is subject to that policy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Register at https:\/\/kra.name\/ and create a site chat in the panel (https:\/\/kra.name\/app\/panel). Fill its knowledge base.<\/li>\n<li>Add this site's domain to the chat's allowed sites. www is automatic; use *.example.com to allow all subdomains.<\/li>\n<li>In WordPress open Plugins &gt; Add New, search for \u201cNeedToMe AI Chat\u201d, then install and activate it. You can also upload the plugin ZIP.<\/li>\n<li>Open NeedToMe &gt; AI Chat, connect your kra.name account with one button (or the chat's public <code>wk_<\/code> key), set the look and the loading mode, enable the chat and save. The connection check at the top shows whether everything is ready.<\/li>\n<\/ol>\n\n<p>The public key only selects the chat; it is not a secret. The widget stays hidden on domains that are not in the chat's allowed sites.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%3F\"><h3>Do I need an account?<\/h3><\/dt>\n<dd><p>Yes. The AI, the knowledge base and the leads work on kra.name; register there first. The plugin itself is free.<\/p><\/dd>\n<dt id=\"can%20i%20set%20up%20the%20chat%20from%20chatgpt%2C%20claude%20or%20codex%3F\"><h3>Can I set up the chat from ChatGPT, Claude or Codex?<\/h3><\/dt>\n<dd><p>Yes. Connect your kra.name account to ChatGPT (chatgpt.com\/plugins, custom MCP server), claude.ai (Settings &gt; Connectors &gt; Add custom connector) or Codex and Claude Code (plugin, skill and MCP server) with the address https:\/\/kra.name\/app\/api\/mcp. The assistant can then create the chat, the consultant's persona and its role, fill the knowledge base (the site, pages, documents, FAQ), write the greeting and quick questions and show the leads; each change is applied only after you agree. The steps are on the plugin's settings page and at https:\/\/kra.name\/integrations\/ .<\/p><\/dd>\n<dt id=\"how%20do%20i%20put%20two%20chats%20above%20each%20other%3F\"><h3>How do I put two chats above each other?<\/h3><\/dt>\n<dd><p>Add both chats in step 1. Use the chat tabs below it to configure each one, enable both, and choose the same theme and side. Set \u201cOrder on the page\u201d to 0 for the bottom chat and 1 for the one above it. The kra.name widget measures the tabs and adds a 10 px gap. Turn off \u201cStack chats\u201d to use explicit offsets instead. Only one greeting teaser is selected on a page.<\/p><\/dd>\n<dt id=\"does%20each%20chat%20have%20its%20own%20knowledge%20base%3F\"><h3>Does each chat have its own knowledge base?<\/h3><\/dt>\n<dd><p>Each chat has its own selection of post types, fields, translations, widgets, ACF options and WooCommerce catalog, with separate queues and sync state. The same post may be selected for several chats. Deleting, protecting or unpublishing a post queues its removal for every configured chat, including chats whose sync was disabled. Remote sources, FAQ, wizard and statistics use the selected chat. JSON catalog feeds are configured in the selected chat's kra.name panel; the WordPress catalog exporter supports WooCommerce.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20existing%20settings%3F\"><h3>What happens to my existing settings?<\/h3><\/dt>\n<dd><p>They become the first chat automatically. The migration retains the original options and pending sync work and is safe to repeat. Existing cached pages with the old single-chat markup continue to work. Removing a local chat stops its widget and future sync jobs; it does not delete the remote chat or its knowledge at kra.name. Changing a key clears that local destination's sync token, queue and state and disables sync until you enable it for the new destination.<\/p><\/dd>\n<dt id=\"how%20do%20i%20choose%20an%20inline%20chat%3F\"><h3>How do I choose an inline chat?<\/h3><\/dt>\n<dd><p>Use [aiworker_chat key=\"wk_...\"] with the full public key, or [aiworker_chat id=\"local-id\"]. Give each inline chat its own block ID. The original [aiworker_chat] shortcode still uses the first chat.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20my%20site%20down%3F\"><h3>Will it slow my site down?<\/h3><\/dt>\n<dd><p>No. The chat script loads after the page (at once, after a delay, on scroll or on interaction \u2014 you choose) and talks to kra.name directly from the visitor's browser.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20change%20content-security-policy%20headers%3F\"><h3>Does the plugin change Content-Security-Policy headers?<\/h3><\/dt>\n<dd><p>When a chat is displayed, the plugin merges the chat's required sources into CSP headers sent by PHP. This is on by default and can be disabled with the <code>aiworker_chat_merge_csp<\/code> filter. Headers sent by the web server must be changed there.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Several chats per site, with independent settings, content sync, statistics and stacked launchers.<\/li>\n<li>Connect the site to an AI Worker account at kra.name with one button, then choose its chat or create a new one; nothing is linked without your click.<\/li>\n<li>Set up the chat in WordPress: look, chat button icon (a ready one or your own image), position, loading, language and pages; the consultant and chat texts in every language; lead collection and delivery (e-mail, Telegram, Slack, Microsoft Teams, Discord, Google Sheets, Notion, CRM, webhook).<\/li>\n<li>Live preview of the real chat button and window, following unsaved edits.<\/li>\n<li>Knowledge base from the site: posts, pages, ACF fields, widgets and the WooCommerce catalog, kept up to date; sources and questions and answers edited in the plugin.<\/li>\n<li>Setup wizard with voice input, usage limits and statistics.<\/li>\n<li>Works under a strict Content-Security-Policy and Trusted Types; the settings page checks the policy and suggests what to allow.<\/li>\n<\/ul>","raw_excerpt":"An AI consultant that answers visitors from your knowledge base, speaks their language and collects leads. Requires a kra.name account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=398526"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/needtome"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398526"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398526"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398526"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398526"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398526"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}