{"id":356040,"date":"2026-09-11T13:52:13","date_gmt":"2026-09-11T13:52:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-site-agent\/"},"modified":"2026-09-11T13:53:11","modified_gmt":"2026-09-11T13:53:11","slug":"kethu-site-chat-assistant","status":"publish","type":"plugin","link":"https:\/\/ku.wordpress.org\/plugins\/kethu-site-chat-assistant\/","author":18795267,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1","requires":"7.0","requires_php":"8.0","requires_plugins":null,"header_name":"Kethu Site Chat Assistant","header_author":"Kethu","header_description":"Site chat assistant for WordPress using the WordPress AI Client, Connectors, and Abilities API.","assets_banners_color":"","last_updated":"2026-09-11 13:53:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":52,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"vivek28042000","date":"2026-09-11 13:53:11","revision":3691501}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"kethu-site-chat-assistant\/chat":{"name":"kethu-site-chat-assistant\/chat","title":"Chat"}},"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[251511,2353,1320,2364,1104],"plugin_category":[],"plugin_contributors":[280240],"plugin_business_model":[],"class_list":["post-356040","plugin","type-plugin","status-publish","hentry","plugin_tags-abilities","plugin_tags-ai","plugin_tags-assistant","plugin_tags-chatbot","plugin_tags-support","plugin_contributors-vivek28042000","plugin_committers-vivek28042000"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/kethu-site-chat-assistant.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Kethu Site Chat Assistant adds an AI assistant to your WordPress website. Visitors can ask questions, search public site content, perform safe calculations, and more through a lightweight chat interface.<\/p>\n\n<p>This plugin uses the <strong>WordPress AI Client<\/strong> (<code>wp_ai_client_prompt()<\/code>). It does <strong>not<\/strong> call third-party AI provider hosts directly. Provider credentials are managed in <strong>Settings \u2192 Connectors<\/strong>.<\/p>\n\n<p>Chat tools are registered through the <strong>WordPress Abilities API<\/strong> and executed only when the administrator enables them.<\/p>\n\n<h4>How it works<\/h4>\n\n<p>Visitor \u2192 Chat UI \u2192 WordPress REST API \u2192 Agent \u2192 WordPress AI Client \u2192 Connected provider \u2192 Abilities\/tools \u2192 Final response<\/p>\n\n<p>The AI does <strong>not<\/strong> have unrestricted access to WordPress. It can only use explicitly registered abilities that the administrator enables.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>WordPress AI Client integration (no direct provider HTTP client in plugin code)<\/li>\n<li>Provider credentials via Settings \u2192 Connectors<\/li>\n<li>Tools registered as WordPress Abilities<\/li>\n<li>Admin settings under Kethu Site Chat Assistant<\/li>\n<li>Frontend shortcode: <code>[kethu_site_chat_assistant]<\/code> (legacy aliases: <code>[ai_site_agent]<\/code>, <code>[helvora_site_chat]<\/code>)<\/li>\n<li>Optional floating chat widget<\/li>\n<li>Lightweight Gutenberg block<\/li>\n<li>Conversation memory using transients<\/li>\n<li>Rate limiting for anonymous users<\/li>\n<li>Admin test interface with safe trace output<\/li>\n<li>Privacy notice and local usage statistics<\/li>\n<li>Graceful failure when AI is unavailable<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li>Configure an AI provider under <strong>Settings \u2192 Connectors<\/strong><\/li>\n<li>Enable the agent in Kethu Site Chat Assistant settings<\/li>\n<li>Optionally set a preferred model name<\/li>\n<li>Customize the agent name, welcome message, and system instructions<\/li>\n<li>Enable the tools you want the assistant to use<\/li>\n<li>Configure rate limits and logging as needed<\/li>\n<li>Click <strong>Test AI Connection<\/strong><\/li>\n<\/ol>\n\n<h3>Using the Chat Assistant<\/h3>\n\n<p>Use the shortcode:<\/p>\n\n<pre><code>[kethu_site_chat_assistant]\n<\/code><\/pre>\n\n<p>Or enable the floating widget in settings to show a site-wide chat button.<\/p>\n\n<h3>Available Tools (Abilities)<\/h3>\n\n<ul>\n<li><strong>Calculator<\/strong> \u2014 safe math without code execution<\/li>\n<li><strong>Site Search<\/strong> \u2014 search public posts and pages<\/li>\n<li><strong>Post Search<\/strong> \u2014 search public blog posts<\/li>\n<li><strong>Page Search<\/strong> \u2014 search public pages<\/li>\n<li><strong>Site Information<\/strong> \u2014 safe public site metadata<\/li>\n<li><strong>Contact Tool<\/strong> \u2014 controlled contact submission with explicit confirmation<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>Kethu Site Chat Assistant does not hard-code third-party AI endpoints. Requests are sent through the WordPress AI Client to whichever AI provider the site owner connects under <strong>Settings \u2192 Connectors<\/strong>.<\/p>\n\n<p>If you connect OpenAI (or another provider) through Connectors:<\/p>\n\n<ul>\n<li>User messages may be sent to that provider<\/li>\n<li>Public website content may be sent when search tools are used<\/li>\n<li>Retention and privacy are governed by that provider and by WordPress Connectors<\/li>\n<li>Review the provider\u2019s current terms and privacy policy before enabling AI<\/li>\n<\/ul>\n\n<p>This plugin is not affiliated with or endorsed by OpenAI or other AI providers.<\/p>\n\n<h3>Privacy<\/h3>\n\n<h4>Local WordPress retention<\/h4>\n\n<ul>\n<li>Conversation transcripts and conversation IDs are stored <strong>locally<\/strong> as WordPress transients for up to <strong>24 hours<\/strong>.<\/li>\n<li>Local transients are used for session isolation, conversation continuity, optional admin traces, and privacy export\/erase.<\/li>\n<li>Logging is optional and disabled by default. Optional logs stay in the WordPress database until cleared or the plugin is uninstalled.<\/li>\n<li>The plugin does not sell user data.<\/li>\n<li>The plugin does not phone home or send analytics to the plugin author.<\/li>\n<\/ul>\n\n<h4>Provider retention<\/h4>\n\n<ul>\n<li>User messages may be sent to the connected AI provider through the WordPress AI Client.<\/li>\n<li>Deleting a local WordPress transient does <strong>not<\/strong> delete data already sent to a provider.<\/li>\n<li>Configure your site privacy policy accordingly. Site owners remain responsible for privacy, consent, and legal compliance.<\/li>\n<\/ul>\n\n<h3>Security<\/h3>\n\n<ul>\n<li>Provider API keys are managed by WordPress Connectors, not stored by this plugin<\/li>\n<li>REST endpoints use nonces and permission callbacks<\/li>\n<li>Input validation, sanitization, and output escaping throughout<\/li>\n<li>No arbitrary code execution<\/li>\n<li>Retrieved website content is treated as untrusted data<\/li>\n<li>Rate limiting helps prevent abuse<\/li>\n<\/ul>\n\n<h3>Troubleshooting<\/h3>\n\n<ul>\n<li>Confirm WordPress 7.0+ and that <code>wp_ai_client_prompt()<\/code> is available<\/li>\n<li>Open <strong>Settings \u2192 Connectors<\/strong> and verify a provider is connected<\/li>\n<li>Use <strong>Test AI Connection<\/strong> in Kethu Site Chat Assistant settings<\/li>\n<li>Check that the agent is enabled<\/li>\n<li>Confirm your hosting allows outbound HTTPS for the connected provider<\/li>\n<\/ul>\n\n<h3>Developer Documentation<\/h3>\n\n<p>REST namespace: <code>kethu-site-chat-assistant\/v1<\/code><\/p>\n\n<p>Endpoints:<\/p>\n\n<ul>\n<li><code>POST \/wp-json\/kethu-site-chat-assistant\/v1\/chat<\/code><\/li>\n<li><code>POST \/wp-json\/kethu-site-chat-assistant\/v1\/clear-conversation<\/code><\/li>\n<li><code>GET \/wp-json\/kethu-site-chat-assistant\/v1\/status<\/code><\/li>\n<\/ul>\n\n<p>Abilities namespace: <code>kethu-site-chat-assistant\/*<\/code><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Activate <strong>Kethu Site Chat Assistant<\/strong><\/li>\n<li>Open <strong>Settings \u2192 Connectors<\/strong> and configure an AI provider (for example OpenAI)<\/li>\n<li>Go to <strong>Kethu Site Chat Assistant \u2192 Settings<\/strong><\/li>\n<li>Enable the agent and configure tools<\/li>\n<li>Add <code>[kethu_site_chat_assistant]<\/code> to a page or enable the floating widget<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20store%20my%20openai%20api%20key%3F\"><h3>Does this store my OpenAI API key?<\/h3><\/dt>\n<dd><p>No. Configure providers under <strong>Settings \u2192 Connectors<\/strong>. Kethu Site Chat Assistant uses the WordPress AI Client.<\/p><\/dd>\n<dt id=\"can%20the%20ai%20access%20my%20entire%20wordpress%20admin%3F\"><h3>Can the AI access my entire WordPress admin?<\/h3><\/dt>\n<dd><p>No. It can only use the abilities\/tools you enable.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20ai%20is%20unavailable%3F\"><h3>What happens if AI is unavailable?<\/h3><\/dt>\n<dd><p>Visitors see a friendly error message. Your site continues to function normally.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Distinctive branding: <strong>Kethu Site Chat Assistant<\/strong><\/li>\n<li>WordPress.org slug \/ text domain: <code>kethu-site-chat-assistant<\/code><\/li>\n<li>Code prefixes: <code>ksca_<\/code> \/ <code>KSCA_<\/code><\/li>\n<li>WordPress AI Client + Connectors + Abilities API (no direct provider HTTP client)<\/li>\n<li>Requires WordPress 7.0+, Tested up to 7.1<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Interim revision during review (superseded)<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Interim Helvora branding revision (superseded)<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Legacy AI Site Agent release (superseded)<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Plugin Check fixes and uninstall transient cleanup (legacy)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Conversation\/session security and privacy hardening (legacy)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release (legacy AI Site Agent)<\/li>\n<\/ul>","raw_excerpt":"Site chat assistant for WordPress using the WordPress AI Client, Connectors, and Abilities API.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/356040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=356040"}],"author":[{"embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vivek28042000"}],"wp:attachment":[{"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=356040"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=356040"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=356040"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=356040"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=356040"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ku.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=356040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}