{"id":359881,"date":"2026-09-03T14:27:19","date_gmt":"2026-09-03T14:27:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/agentyllo\/"},"modified":"2026-09-03T14:27:09","modified_gmt":"2026-09-03T14:27:09","slug":"agentyllo","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/agentyllo\/","author":23557519,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.1","stable_tag":"0.2.1","tested":"7.1","requires":"6.8","requires_php":"8.2","requires_plugins":null,"header_name":"Agentyllo","header_author":"Agentyllo","header_description":"Intelligent AI assistant for your site: classic agents, an automatic knowledge base, free local AI, and optional OpenAI\/Anthropic models.","assets_banners_color":"4e6399","last_updated":"2026-09-03 14:27:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.agentyllo.com","header_author_uri":"https:\/\/github.com\/antonio86itna","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.1":{"tag":"0.2.1","author":"agentyllo","date":"2026-09-03 14:27:09","revision":3679894}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3679894,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3679894,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3679894,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3679894,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3679894,"resolution":"1","location":"assets","locale":"","width":2400,"height":1500},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3679894,"resolution":"2","location":"assets","locale":"","width":2400,"height":1500},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3679894,"resolution":"3","location":"assets","locale":"","width":2400,"height":1500},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3679894,"resolution":"4","location":"assets","locale":"","width":2400,"height":1500},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3679894,"resolution":"5","location":"assets","locale":"","width":2400,"height":1500},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3679894,"resolution":"6","location":"assets","locale":"","width":2400,"height":1500},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3679894,"resolution":"7","location":"assets","locale":"","width":2400,"height":1500},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3679894,"resolution":"8","location":"assets","locale":"","width":2400,"height":1500}},"screenshots":{"1":"The chat widget answering from your own content \u2014 exact facts, real links, no API key required.","2":"Dashboard: hosting capability scan and the AI tier your server can run.","3":"The backend copilot proposing a change \u2014 nothing runs until you confirm.","4":"Knowledge base entries, indexed and kept fresh automatically.","5":"Statistics: deflection, coverage and the questions your site could not answer yet.","6":"AI Models: free local engines or your own OpenAI \/ Anthropic keys, with a monthly cost cap.","7":"Conversations with full transcripts and per-message audit trail.","8":"Privacy &amp; Legal: consent, retention, DSAR and the EU AI Act transparency page."}},"plugin_section":[],"plugin_tags":[2353,1320,2364,1104,286],"plugin_category":[45],"plugin_contributors":[279034,273388],"plugin_business_model":[],"class_list":["post-359881","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-assistant","plugin_tags-chatbot","plugin_tags-support","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-agentyllo","plugin_contributors-totaliweb","plugin_committers-agentyllo"],"banners":{"banner":"https:\/\/ps.w.org\/agentyllo\/assets\/banner-772x250.png?rev=3679894","banner_2x":"https:\/\/ps.w.org\/agentyllo\/assets\/banner-1544x500.png?rev=3679894","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/agentyllo\/assets\/icon-128x128.png?rev=3679894","icon_2x":"https:\/\/ps.w.org\/agentyllo\/assets\/icon-256x256.png?rev=3679894","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-1.png?rev=3679894","caption":"The chat widget answering from your own content \u2014 exact facts, real links, no API key required."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-2.png?rev=3679894","caption":"Dashboard: hosting capability scan and the AI tier your server can run."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-3.png?rev=3679894","caption":"The backend copilot proposing a change \u2014 nothing runs until you confirm."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-4.png?rev=3679894","caption":"Knowledge base entries, indexed and kept fresh automatically."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-5.png?rev=3679894","caption":"Statistics: deflection, coverage and the questions your site could not answer yet."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-6.png?rev=3679894","caption":"AI Models: free local engines or your own OpenAI \/ Anthropic keys, with a monthly cost cap."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-7.png?rev=3679894","caption":"Conversations with full transcripts and per-message audit trail."},{"src":"https:\/\/ps.w.org\/agentyllo\/assets\/screenshot-8.png?rev=3679894","caption":"Privacy &amp; Legal: consent, retention, DSAR and the EU AI Act transparency page."}],"raw_content":"<!--section=description-->\n<p>Agentyllo adds a smart assistant to your site that answers visitors from your own content \u2014 pages, posts, custom post types, menus, site settings, WooCommerce products and Elementor content \u2014 and keeps that knowledge base fresh automatically.<\/p>\n\n<p><strong>Works with zero AI.<\/strong> Classic agents (pure PHP) understand the question, search your content, extract the answer, link the right pages and products with real thumbnails, and stay strictly on topic. They run on any hosting, behind any page cache, with no configuration.<\/p>\n\n<p><strong>AI when you want it.<\/strong> Add natural prose on top of the classic engine with a free local model you run yourself (llama.cpp \/ Ollama \/ LM Studio \u2014 or the free <em>Agentyllo Local AI<\/em> companion from agentyllo.com), or with your own OpenAI \/ Anthropic API key. Five operating modes: classic \u00b7 free AI \u00b7 paid AI \u00b7 classic + free AI \u00b7 classic + paid AI. AI answers are streamed token by token, always grounded in your content, and hard facts (prices, stock, contacts, links) are always taken verbatim from your site data \u2014 never generated.<\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Automatic knowledge base with delta sync and nightly reconciliation; disabling a source removes it from answers immediately.<\/li>\n<li>Multi-agent ecosystem (17 classic agents) with memories, health checks, quarantine and a learning loop that turns unanswered questions into suggestions.<\/li>\n<li>Modern, accessible chat widget (WCAG 2.2, keyboard, screen readers, mobile fullscreen, dark mode) with thinking states, formatted answers, internal links, product cards with live prices.<\/li>\n<li>Backend copilot on every Agentyllo page: manage the knowledge base, settings and memories by command \u2014 every change is proposed first and applied only when you confirm; import TXT\/Markdown\/CSV with a reviewable preview.<\/li>\n<li>GDPR: optional pre-chat registration, consent evidence, retention, PII redaction, data export\/erasure (also via WordPress privacy tools).<\/li>\n<li>EU AI Act ready: assistant disclosure badge, machine-readable marking of AI-generated messages, audit trail per message, generated transparency page.<\/li>\n<li>Statistics: conversations, resolution and deflection, top intents, knowledge gaps, latency per tier, tokens and estimated cost \u2014 7\/30\/90-day ranges, all included.<\/li>\n<li>Fully translatable; replies in the site language, optionally in the visitor's language with AI.<\/li>\n<\/ul>\n\n<p>The core plugin never downloads or executes code from the network. Local model <em>installation<\/em> (binaries and weights) is a separate, consented companion plugin distributed by agentyllo.com \u2014 Agentyllo itself only connects to a local engine you already run.<\/p>\n\n<p><strong>Addons.<\/strong> Agentyllo is complete as it is \u2014 nothing in this plugin is locked or limited. Optional addons (separate plugins from agentyllo.com, each requiring Agentyllo) add extra capabilities such as document import, advanced analytics, white-labeling, lead capture, live handoff and more. See the Addons page inside the plugin.<\/p>\n\n<h3>Source Code &amp; Build<\/h3>\n\n<p>The complete, human-readable source code \u2014 including the un-minified JavaScript\/TypeScript for the admin app and the chat widget, and the build configuration \u2014 is publicly available at:<\/p>\n\n<p>https:\/\/github.com\/antonio86itna\/agentyllo<\/p>\n\n<p>The minified files in <code>assets\/build\/<\/code> are produced from <code>src-js\/<\/code> with <code>npm install &amp;&amp; npm run build<\/code> (@wordpress\/scripts \/ webpack). PHP development dependencies are managed with Composer (<code>composer install<\/code> for the test suite and static analysis). The bundled <code>lib\/action-scheduler\/<\/code> is Action Scheduler 4.1.0, unmodified: https:\/\/github.com\/woocommerce\/action-scheduler<\/p>\n\n<h3>External Services<\/h3>\n\n<p>Agentyllo makes no external request in its default configuration. Every integration below is optional and only active when you configure it:<\/p>\n\n<ul>\n<li><strong>OpenAI API (api.openai.com)<\/strong> \u2014 only when you enter your own OpenAI API key and select an AI operating mode. Visitor messages (optionally with personal data masked), a few relevant knowledge-base excerpts and your assistant instructions are sent to OpenAI to generate the answer or to compute embeddings; requests are sent with storage disabled. Terms: https:\/\/openai.com\/policies\/terms-of-use \u2014 Privacy: https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<li><strong>Anthropic API (api.anthropic.com)<\/strong> \u2014 only when you enter your own Anthropic API key and select an AI operating mode. Same data as above is sent to Anthropic to generate the answer. Terms: https:\/\/www.anthropic.com\/legal\/consumer-terms \u2014 Privacy: https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<li><strong>Your own local AI endpoint<\/strong> \u2014 only when you enter the URL of an OpenAI-compatible server you operate (llama-server, Ollama, LM Studio\u2026). Data stays on that server.<\/li>\n<li><strong>Agentyllo model registry (registry.agentyllo.com)<\/strong> \u2014 OFF by default. Only when you press \"Sync now\" or explicitly enable weekly auto-sync in AI Models, the plugin fetches a small, Ed25519-signed JSON manifest containing model identifiers, prices and prompt-pack versions. It contains data only, never code; the request carries no site data. Terms: https:\/\/www.agentyllo.com\/terms \u2014 Privacy: https:\/\/www.agentyllo.com\/privacy<\/li>\n<li><strong>agentyllo.com<\/strong> \u2014 a \"Powered by Agentyllo\" footer link exists but is OFF by default; it appears only if you explicitly enable it in Settings \u2192 Widget (no data is transmitted).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin and activate it.<\/li>\n<li>Agentyllo indexes your content in the background (Knowledge Base page shows progress).<\/li>\n<li>The chat widget appears on your site right away in classic mode. Optionally configure an AI tier in Agentyllo \u2192 AI Models.<\/li>\n<li>Review Privacy &amp; Legal (gate, retention, transparency page) for your jurisdiction.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20need%20an%20api%20key%3F\"><h3>Does it need an API key?<\/h3><\/dt>\n<dd><p>No. Classic mode answers from your content without any AI service. Keys are only needed for the paid AI modes.<\/p><\/dd>\n<dt id=\"will%20it%20invent%20prices%20or%20contact%20details%3F\"><h3>Will it invent prices or contact details?<\/h3><\/dt>\n<dd><p>No. Facts come from your site data (live WooCommerce prices, your contact settings). AI answers are verified: any price, phone or email that is not present in your content is rejected and the classic answer is shown instead.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%20%2F%20cdn%3F\"><h3>Does it work with page caching \/ CDN?<\/h3><\/dt>\n<dd><p>Yes. The widget is static markup plus a cacheable configuration request; sessions are cookieless tokens; chat responses are never cached.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20%2F%20eu%20ai%20act%20compliant%3F\"><h3>Is it GDPR \/ EU AI Act compliant?<\/h3><\/dt>\n<dd><p>It ships the tools: consent evidence, retention, PII redaction, DSAR export\/erase, AI disclosure, audit trail and a transparency page generator. Compliance also depends on your configuration and policies.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Change: streaming now runs entirely through the WordPress HTTP API - wp_remote_post() with a write callback attached via the core http_api_curl hook (no direct curl calls in the plugin); verified live with progressive SSE delivery.<\/li>\n<li>Change: the unused bundled registry signature file (stable.json.sig) is no longer shipped; signature verification only ever applied to remote syncs and is unchanged.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Add: Addons page \u2014 a catalog of optional extensions (each a separate plugin that requires Agentyllo); the free plugin remains complete, nothing is locked.<\/li>\n<li>Change: the 90-day statistics range is available to everyone (no feature gating anywhere in the plugin).<\/li>\n<li>Change: the model-registry sync is strictly opt-in \u2014 nothing is fetched unless you press \"Sync now\" or explicitly enable weekly auto-sync; requests no longer carry the plugin version.<\/li>\n<li>Change: the \"Powered by Agentyllo\" widget link is OFF by default and only appears if the site owner enables it in Settings \u2192 Widget.<\/li>\n<li>Change: private uploads no longer write an .htaccess file; protection relies on unguessable random filenames, index placeholders and a 72-hour retention.<\/li>\n<li>Change: internal prefix renamed from agy_ to agyl_ (options, hooks, tables, REST headers) to meet the 4-character prefix guideline. Breaking for pre-0.2.0 test installs: deactivate and reinstall.<\/li>\n<li>Dev: translation files are no longer shipped in the distributed zip (translate.wordpress.org will serve them); sources stay in the repository.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Add: complete Italian (it_IT) translation - 712 strings covering the admin app (script translations included), the chat widget, the copilot and the transparency page.<\/li>\n<li>Dev: PHPStan level 6 passes with zero errors (configuration ships in the repository); small robustness fixes from the findings.<\/li>\n<li>Dev: final Plugin Check pass on the packaged build; development configs are excluded from the distributed zip.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Fix: navigation questions (\"take me to the contact page\", \"where can I find X?\") now answer with a direct link card to the page whose title matches, instead of quoting an unrelated page or refusing as off-topic. Page-title matches also count as in-scope for the out-of-scope guard.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Fix: the admin Copilot drawer now actually closes - a CSS rule kept it permanently visible regardless of the toggle.<\/li>\n<li>Fix: the floating Copilot button moves out of the drawer's way while it is open, so it can no longer cover the Send button; a close button was also added to the drawer header.<\/li>\n<li>Improvement: admin pages now adapt to the drawer - content reflows beside it on wide screens, the drawer overlays on narrow screens and goes full-screen on phones, with smooth (reduced-motion-aware) transitions.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fix: hosting capability scan no longer runs its network self-test inline on the request path \u2014 the Dashboard rendered an error on single-worker hosts (WordPress Playground, Studio\/wp-now); a shallow report renders instantly and the deep scan runs in the background.<\/li>\n<li>Fix: capability report is now cached on Playground\/Studio too (the anti-WP-CLI guard checked PHP_SAPI, which those environments report as \"cli\").<\/li>\n<li>Fix: FULLTEXT search is disabled up front on SQLite databases (sqlite-database-integration, Playground, Studio) instead of failing on the first query; keyword search (BM25) is unaffected.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First public version: classic agents, automatic knowledge base (posts, pages, CPTs, menus, site settings, WooCommerce, Elementor), accessible streaming widget, GDPR + AI Act tooling, statistics, cloud AI (OpenAI\/Anthropic) and local AI (BYO endpoint) with fact-guarded answers, backend copilot with confirmations, TXT\/MD\/CSV import.<\/li>\n<\/ul>","raw_excerpt":"Smart assistant chatbot for WordPress: classic no-AI agents, an automatic knowledge base, optional local AI or your own OpenAI\/Anthropic keys.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359881","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=359881"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/agentyllo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359881"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359881"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359881"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359881"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359881"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}