{"id":290800,"date":"2026-04-02T05:53:31","date_gmt":"2026-04-02T05:53:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/miniorange-ai-agent\/"},"modified":"2026-04-02T05:53:01","modified_gmt":"2026-04-02T05:53:01","slug":"miniorange-ai-agent","status":"publish","type":"plugin","link":"https:\/\/th.wordpress.org\/plugins\/miniorange-ai-agent\/","author":14442177,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"miniOrange AI Agent","header_author":"miniOrange","header_description":"AI Agent that uses the WordPress Abilities API to create posts, generate meta descriptions, summarize content, and get site info. Integrates with AI Client for chat and tool calling.","assets_banners_color":"","last_updated":"2026-04-02 05:53:01","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/plugins.miniorange.com","header_plugin_uri":"https:\/\/plugins.miniorange.com\/","header_author_uri":"https:\/\/www.miniorange.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":36,"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":"mowpsamldev","date":"2026-04-02 05:53:01"}},"upgrade_notice":{"1.0.0":"<ul>\n<li>Initial release<\/li>\n<li>Chatbot with Abilities API integration: Create Post and Get Site URL.<\/li>\n<\/ul>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3497197,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"AI Agent chat interface (Admin \u2192 AI Agent).","2":"Execution Log (Admin \u2192 AI Agent \u2192 Execution Log)."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[],"plugin_category":[],"plugin_contributors":[143724],"plugin_business_model":[],"class_list":["post-290800","plugin","type-plugin","status-publish","hentry","plugin_contributors-cyberlord92","plugin_committers-cyberlord92","plugin_committers-mowpsamldev"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/miniorange-ai-agent\/assets\/icon-128x128.png?rev=3497197","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<ul>\n<li>Registers abilities: Create Post, Generate Meta Description, Get Site Info, Get Site URL, Generate Post Summary.<\/li>\n<li>Connects them to the <strong>AI Client<\/strong> so the model can call tools (Phase 1).<\/li>\n<li>Exposes a <strong>REST endpoint<\/strong> <code>POST \/wp-json\/moaiagent\/v1\/chat<\/code> for an AI Agent loop (Phase 2).<\/li>\n<li>Provides a <strong>minimal Agent UI<\/strong> (chat box) in the admin (Phase 3).<\/li>\n<li>Adds an <strong>AI-powered ability<\/strong>: Generate Post Summary, which uses the AI Client internally (Phase 4).<\/li>\n<li>Injects <strong>context<\/strong> (site name, user role, optional current post) into the prompt (Phase 5).<\/li>\n<li><strong>Security<\/strong>: input validation, capability checks in execute callbacks, rate limiting, logging (Phases 6\u20137).<\/li>\n<li>Uses <strong>generate_result()<\/strong> so the SDK can handle tool execution loops for chained abilities (Phase 8).<\/li>\n<\/ul>\n\n<h4>Registered abilities<\/h4>\n\n<ul>\n<li><strong>Create Post<\/strong> (<code>moaiagent\/create-post<\/code>) \u2013 Creates a new post. Permission: <code>edit_posts<\/code>.<\/li>\n<li><strong>Get Site URL<\/strong> (<code>moaiagent\/get-site-url<\/code>) \u2013 Returns the site URL. Permission: <code>read<\/code>.<\/li>\n<li><strong>Generate Post Summary<\/strong> (<code>moaiagent\/generate-post-summary<\/code>) \u2013 AI-generated summary of content. Requires AI Client. Permission: <code>edit_posts<\/code>.<\/li>\n<\/ul>\n\n<h4>miniOrange AI Agent (requires AI Client plugin)<\/h4>\n\n<ul>\n<li><strong>Menu<\/strong>: Admin \u2192 AI Agent. Chat with the assistant; it can create posts, generate meta descriptions, summarize content, and get site info.<\/li>\n<li><strong>REST<\/strong>: <code>POST \/wp-json\/moaiagent\/v1\/chat<\/code> with body <code>{ \"message\": \"Create a draft post titled Welcome\" }<\/code>. Permission: <code>prompt_ai<\/code>. Rate limited (e.g. 30 requests per minute per user).<\/li>\n<li><strong>Execution Log<\/strong>: Admin \u2192 AI Agent \u2192 Execution Log. Lists recent ability executions and chat requests (admins only).<\/li>\n<\/ul>\n\n<h4>Client-side usage<\/h4>\n\n<ul>\n<li><code>window.moaiaAgentAbilities.getAbilities()<\/code> \u2013 list AI Agent abilities<\/li>\n<li><code>window.moaiaAgentAbilities.execute('moaiagent\/create-post', { title: 'Hello', status: 'draft' })<\/code> \u2013 returns a Promise<\/li>\n<\/ul>\n\n<p>Abilities are also available via Command Palette, AI Client (using_abilities), and REST.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.9+ (Abilities API).<\/li>\n<li>For the AI Agent (chat, Generate Post Summary): the <strong>AI Client<\/strong> plugin must be installed and configured; user needs <code>prompt_ai<\/code> capability.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin integrates with the <strong>AI Client for WordPress<\/strong> plugin, which connects to external AI model APIs (such as Anthropic Claude or Google Gemini) to process chat messages and generate text content.<\/p>\n\n<p><strong>What data is sent:<\/strong> User chat messages, system context (site name, URL, user role, optional post title\/ID), and conversation history are sent to the configured AI provider when the \/chat REST endpoint is called.<\/p>\n\n<p><strong>When it is sent:<\/strong> Only when a logged-in user with the <code>prompt_ai<\/code> capability submits a message via the AI Agent chat interface or REST API.<\/p>\n\n<p><strong>Third-party services used (via AI Client plugin):<\/strong>\n* Anthropic Claude \u2014 https:\/\/www.anthropic.com\/\n  * Terms of Service: https:\/\/www.anthropic.com\/legal\/consumer-terms\n  * Privacy Policy: https:\/\/www.anthropic.com\/legal\/privacy\n* Google Gemini \u2014 https:\/\/ai.google.dev\/\n  * Terms of Service: https:\/\/ai.google.dev\/gemini-api\/terms\n  * Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p>No data is sent without an active user session and explicit user action. No data is stored by this plugin beyond the execution log (stored locally in wp_options).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>miniorange-ai-agent<\/code> folder to <code>wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin in the WordPress admin.<\/li>\n<li>On WordPress 6.9+, abilities are registered automatically. On older versions, an admin notice will ask you to upgrade.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20ai%20client%20plugin%3F\"><h3>Does this work with the AI Client plugin?<\/h3><\/dt>\n<dd><p>Yes. The AI Client can use registered abilities via <code>using_abilities( 'moaiagent\/create-post', 'moaiagent\/generate-meta-description', ... )<\/code> so the model can call these tools.<\/p><\/dd>\n<dt id=\"where%20do%20abilities%20show%20up%3F\"><h3>Where do abilities show up?<\/h3><\/dt>\n<dd><p>They are registered in the central Abilities API registry. WordPress (and plugins) can list them, show them in the Command Palette, and let the AI Client execute them. This plugin also adds an AI Agent menu and chat UI in the admin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Chatbot with Abilities API integration: Create Post and Get Site URL.<\/li>\n<\/ul>","raw_excerpt":"WordPress 6.9 Abilities API integration: register abilities, REST \/chat endpoint, AI Agent chat UI, execution logging, and AI-powered tools.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/290800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=290800"}],"author":[{"embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cyberlord92"}],"wp:attachment":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=290800"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=290800"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=290800"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=290800"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=290800"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=290800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}