{"id":364957,"date":"2026-09-28T09:06:28","date_gmt":"2026-09-28T09:06:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/jovion-ai-assistant\/"},"modified":"2026-09-28T09:03:57","modified_gmt":"2026-09-28T09:03:57","slug":"jovion-assistant","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/jovion-assistant\/","author":23560800,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.9","stable_tag":"1.0.9","tested":"7.1.2","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"JOVION AI Assistant","header_author":"JOVIONWP","header_description":"AI-powered admin assistant for WordPress. Works with Gemini, OpenAI, Anthropic Claude, Groq, or a fully local model via Ollama \/ LM Studio. Chat with JOVION to get help managing your site, content, SEO, and marketing.","assets_banners_color":"6b5746","last_updated":"2026-09-28 09:03:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/jovionwp.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.9":{"tag":"1.0.9","author":"dineshsatro","date":"2026-09-28 09:03:57","revision":3716712}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3716712,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3716712,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3716712,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3716712,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.9"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,148285,569,2364,186],"plugin_category":[55],"plugin_contributors":[283134],"plugin_business_model":[],"class_list":["post-364957","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-ai-assistant","plugin_tags-automation","plugin_tags-chatbot","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-dineshsatro","plugin_committers-dineshsatro"],"banners":{"banner":"https:\/\/ps.w.org\/jovion-assistant\/assets\/banner-772x250.png?rev=3716712","banner_2x":"https:\/\/ps.w.org\/jovion-assistant\/assets\/banner-1544x500.png?rev=3716712","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/jovion-assistant\/assets\/icon-128x128.png?rev=3716712","icon_2x":"https:\/\/ps.w.org\/jovion-assistant\/assets\/icon-256x256.png?rev=3716712","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>JOVION AI Assistant adds an AI chat panel to your WordPress admin. Ask JOVION to help with content, SEO, marketing, code, or just answer questions about your site setup. Bring your own AI: Google Gemini (free tier available), OpenAI, Anthropic Claude, Groq, or a fully self-hosted local model via Ollama \/ LM Studio \u2014 with a local model, requests go only to the server you run.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Admin AI chat panel in wp-admin \u2014 ask about your site, content, SEO, marketing or code<\/li>\n<li>Bring your own provider: Google Gemini, OpenAI, Anthropic Claude, Groq, or a local model via Ollama \/ LM Studio<\/li>\n<li>Grounded answers: JOVION can read your posts, pages, plugins, themes, taxonomies and ACF fields before replying<\/li>\n<li>Read-only file inspection \u2014 read a file, list a directory<\/li>\n<li>Audits on demand: site health, media library, SEO inventory, and maintenance reports<\/li>\n<li>Run WordPress updates from chat \u2014 plugins, themes and core \u2014 plus install, activate and deactivate plugins<\/li>\n<li>Editor Copilot in the block editor \u2014 rewrite, fix grammar, translate, summarize, and suggest titles and excerpts<\/li>\n<li>AI Playground \u2014 a tool-free workspace for quick AI tasks, with saved prompt templates<\/li>\n<li>Persistent memory: notes you ask JOVION to remember, reused in later chats<\/li>\n<li>Editable persona: set JOVION's tone, scope and safety conventions yourself<\/li>\n<li>Optional visitor-facing chatbot \u2014 off by default. Add it to any page with the [jovion_chat] shortcode; when enabled it applies origin checks and per-visitor and site-wide rate limits. The chat panel can show a small \"Powered by JOVION\" credit link \u2014 off by default, switched on only if you choose to<\/li>\n<li>A daily count of the requests JOVION has sent to your AI provider<\/li>\n<li>Optional Connections screen, to facilitate clients running an Agency Hub: pair this site with a JOVION Agency Hub (part of JOVION Agency, a paid product \u2014 see below) so the agency that looks after your site can read its health and pending updates. Nothing is shared until you create a pairing, and you can revoke it at any time<\/li>\n<li>Branded admin UI using Space Grotesk and JetBrains Mono, served from the plugin \u2014 no external font requests<\/li>\n<\/ul>\n\n<p>The admin assistant, the Playground and every setting are available only to users who can manage options. The Editor Copilot is available to anyone who can edit posts, so authors and editors can use it on their own drafts. The visitor chatbot is the one public-facing part, and it stays switched off until you enable it.<\/p>\n\n<h3>Choosing an AI Provider (and understanding rate limits)<\/h3>\n\n<p>JOVION works with five providers: Google Gemini, OpenAI, Anthropic Claude, Groq, or a local model (Ollama \/ LM Studio). You only need ONE. A few things are worth understanding before you pick, because every provider's FREE tier has limits that are easy to hit during normal use.<\/p>\n\n<p><strong>The most important thing to know:<\/strong> free tiers are for trying a provider out, not for daily production use. AI agents like JOVION make several API requests for a single chat message (one for the reply, plus one per tool the assistant uses to get something done), so a handful of chats can add up to dozens of API requests quickly. If you plan to use JOVION regularly, add billing to your provider key or choose a provider with a higher free allowance.<\/p>\n\n<p><strong>Google Gemini<\/strong> \u2014 Easiest to start (free key, no card needed at first). JOVION's default Gemini model, Gemini 3.1 Flash-Lite, has the most generous free allowance (about 500 requests a day at the time of writing); other Flash models allow only about 20 a day on the free tier. When you pass the limit you will see an \"HTTP 429 \/ quota exceeded\" message \u2014 that is Google's limit, not a JOVION error. To lift it, add billing in Google AI Studio (Flash is very cheap pay-as-you-go \u2014 typically a fraction of a cent per request). Note: Google's published free-tier limits change periodically; check https:\/\/ai.dev\/rate-limit for the current numbers and your live usage.<\/p>\n\n<p><strong>Groq<\/strong> \u2014 A strong free choice for everyday use. Much more generous free limits than Gemini's free tier and very fast, using open-weight models. Good if you want to stay free without hitting a wall after a few chats.<\/p>\n\n<p><strong>OpenAI \/ Anthropic Claude<\/strong> \u2014 Pay-as-you-go from the first request (no free tier to run out of). The most predictable option if you don't want to think about daily caps; you simply pay for what you use.<\/p>\n\n<p><strong>Local (Ollama \/ LM Studio)<\/strong> \u2014 No key, no cost, no limits, and requests go only to the server you run. Requires you to run a local model, so it suits self-hosters comfortable with that setup.<\/p>\n\n<p><strong>One key per app.<\/strong> If you use the same Gemini key in more than one place (for example, another app on the same Google project), they SHARE the same daily quota and compete for it. If JOVION seems to hit limits faster than your own usage explains, check whether another app is using the same key\/project, and give each app its own key (or its own Google project) so they don't compete.<\/p>\n\n<p><strong>A 429 \/ \"rate limit\" \/ \"quota exceeded\" message is never a JOVION bug.<\/strong> It comes directly from your AI provider and means you have reached that provider's free-tier limit for the minute or the day. The fix is always on the provider side: wait for the window to reset, add billing, switch providers, or use a separate key.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>JOVION talks to no service of its own. It contacts the AI providers you have saved a key for, in the situations listed below. Nothing is sent on activation or on a schedule. When you ask JOVION to install or update a plugin, theme or WordPress itself, WordPress's own installer and update check contact WordPress.org, exactly as they do from the Plugins and Updates screens.<\/p>\n\n<p><strong>AI providers (you choose one; hosted providers need your key).<\/strong> A request goes to the provider you have made active when you send a chat message, run a tool, test a connection, use the Editor Copilot on a post (the selected text or the post content), run a Playground prompt, or when a visitor uses the site chatbot. For the admin chat, the request contains your message and the conversation so far, any screenshot you attach, the results of tools JOVION runs for you (for example post content, or a file you asked it to read), your saved Memory notes, and a short description of the site so answers fit it: the site name and address, WordPress and PHP versions, timezone, your first or display name, the active theme, and the active plugins with their versions. The site chatbot sends only the visitor's messages, the site name and the persona you set. Your key goes with each request:<\/p>\n\n<ul>\n<li>Google Gemini \u2014 https:\/\/ai.google.dev\/gemini-api\/terms \u2014 https:\/\/policies.google.com\/privacy<\/li>\n<li>OpenAI \u2014 https:\/\/openai.com\/policies\/terms-of-use \u2014 https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<li>Anthropic Claude \u2014 https:\/\/www.anthropic.com\/legal\/commercial-terms \u2014 https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<li>Groq \u2014 https:\/\/groq.com\/terms-and-conditions\/ \u2014 https:\/\/groq.com\/privacy-policy\/<\/li>\n<li>Ollama \/ LM Studio \u2014 a server you run yourself, on your own computer or a server you control. Requests go only to the address you enter. If that address is a tunnel (for example Cloudflare Tunnel), the traffic passes through the tunnel provider on its way to your computer.<\/li>\n<\/ul>\n\n<p><strong>Model lists.<\/strong> When you open the Setup screen, JOVION asks each hosted provider you have saved a key for which models it currently offers, so the Model menu only lists models that exist. This sends your key to that provider's model-list endpoint and nothing else. The answer is kept for 12 hours (a failed attempt is retried after 15 minutes), and the Refresh models button asks again on demand. This only happens when an administrator opens that screen or presses the button.<\/p>\n\n<p><strong>Broken image check (optional).<\/strong> If you turn on the broken-image check in the SEO inventory, JOVION sends a HEAD request (no page content, no key) to each image address found in your posts and pages, to see whether the image still loads. Those addresses can point to any host your content links to. The check runs only when you ask for it.<\/p>\n\n<p><strong>Voice.<\/strong> The admin chat's microphone uses your browser's built-in speech recognition. JOVION sends no audio itself, but some browsers (for example Chrome and Edge) send the audio to their own vendor's servers to recognise it. Spoken replies use your browser's built-in voices.<\/p>\n\n<p><strong>Connections (optional).<\/strong> The Connections screen is there to facilitate clients running an Agency Hub: it lets a site be monitored by a JOVION Agency Hub, which is part of JOVION Agency, a paid product. The client site itself needs only this free plugin. If you create a pairing on the Connections screen, the site you paired with can call this site's REST API with the pairing token and read a status report: the site name and address, the WordPress, PHP and JOVION versions, which plugins, themes and core have updates pending (with their current and new versions), and whether the site uses HTTPS. The request comes from that site; this plugin sends nothing out. Nothing is readable until you create a pairing, and revoking it on the same screen cuts off access immediately.<\/p>\n\n<h3>Bundled Resources and Credits<\/h3>\n\n<p>Everything bundled with this plugin is licensed compatibly with GPLv2 or later.<\/p>\n\n<p><strong>Fonts<\/strong> (served from the plugin; no external font requests are made):<\/p>\n\n<ul>\n<li>Space Grotesk \u2014 SIL Open Font License 1.1 \u2014 https:\/\/github.com\/floriankarsten\/space-grotesk \u2014 https:\/\/openfontlicense.org\/<\/li>\n<li>JetBrains Mono \u2014 SIL Open Font License 1.1 \u2014 https:\/\/github.com\/JetBrains\/JetBrainsMono \u2014 https:\/\/openfontlicense.org\/<\/li>\n<\/ul>\n\n<h3>JOVION Pro (a separate plugin)<\/h3>\n\n<p>Everything described above is part of this plugin and works without a licence key. JOVION Pro is a separate plugin, available from jovionwp.com, that adds its own tools alongside it:<\/p>\n\n<ul>\n<li><strong>Pro<\/strong> (1 site) \u2014 the chat bubble on every page with no shortcode, plus its appearance controls (avatar, panel colours, custom CSS, position), post\/page creation and editing from chat, categories and tags, royalty-free image search and AI image generation, full file management, plugin deletion, server-side voice transcription, AI meta descriptions, extra Copilot actions (continue writing, meta descriptions, slugs), Playground run history, unused-image cleanup, and guided capability modules. Email support.<\/li>\n<li><strong>Agency<\/strong> (3 sites) \u2014 everything in Pro, plus the Multi-Site Agency Hub (monitor client sites from one dashboard), scheduled fleet audits with email\/Telegram digests, and a white-label visitor chatbot. Email support.<\/li>\n<\/ul>\n\n<p>Pro's licence key is entered in the Pro plugin; this plugin never asks for one.<\/p>\n\n<p>If JOVION Pro is installed but not yet switched on, or switched on without its licence key, this plugin shows a setup notice naming the missing step, so someone who has installed Pro is not left with it silently doing nothing. These notices appear only when JOVION Pro is installed, and disappear once both steps are done.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to Plugins \u2192 Add New and search for \"JOVION AI Assistant\"<\/li>\n<li>Install and activate<\/li>\n<li>Get a free Gemini API key at https:\/\/aistudio.google.com\/app\/apikey (note: Google may require you link a Cloud billing account; the free tier remains free within the daily quota)<\/li>\n<li>Go to JOVION AI Assistant \u2192 Setup, paste key, test, enable<\/li>\n<li>Look for the chat bubble in the bottom corner<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Requires WordPress 6.9 or later. Tools now register with WordPress's own Abilities API instead of a bundled copy of it.<\/li>\n<li>Features that need JOVION Pro now live entirely in JOVION Pro, a separate plugin: the licence key form, the Modules tab, server-side voice transcription, the extra Copilot actions, Playground run history, and image search and generation (which use third-party services).<\/li>\n<li>Fixed: reverting a change to a setting that holds a list (such as the active plugins) could empty it. Reverting a plugin change could have deactivated every plugin. Settings and theme switches now restore through WordPress itself, and sites with a persistent object cache see the restored value straight away.<\/li>\n<li>Fixed: Revert undid only the last of the changes an action made. It now undoes all of them, newest first, and says how many it undid.<\/li>\n<li>Fixed: right after the plugin was updated, actions taken from chat were not recorded in Activity until someone opened an admin page.<\/li>\n<li>Activity no longer offers Revert on entries whose restore point has expired; they say so instead.<\/li>\n<li>Tools: the plugin and theme tools that change your live site no longer have a Test button. Ask JOVION in chat instead.<\/li>\n<li>Settings are now saved from a fixed list of known fields.<\/li>\n<li>Fixed: the SEO check's broken-image scan stopped with an error on the first image it looked at.<\/li>\n<li>Memory is now a rolling notebook: when it is full, a new note replaces the oldest one instead of being refused, and JOVION tells you which note it replaced.<\/li>\n<li>Chatbot: you now set the per-visitor and daily message limits yourself on the Chatbot screen (defaults stay 10 per visitor every 10 minutes and 200 a day).<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Privacy: the admin screens no longer load fonts from Google. They are served from the plugin, so viewing a JOVION page no longer tells a third party you were there. Body text now uses the font your WordPress admin already uses.<\/li>\n<li>Fixed: a note saved in Memory that contained an apostrophe was stored with a stray backslash in front of it.<\/li>\n<li>Translation-ready: every message that includes a name, number or file path now carries a note for translators, and multi-part messages can be reordered to suit the language.<\/li>\n<li>Security: a review pass over how the plugin prints values to the screen and reads submitted data, tightening both.<\/li>\n<li>JOVION now requires WordPress 6.0 or newer.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Fixed: asking the assistant to update a plugin (or run all updates) left the updated plugin deactivated \u2014 WordPress deactivates a plugin while replacing its files, and the assistant never switched it back on. Updated plugins now come back exactly as they were, and if the new version fails to activate the assistant tells you instead of leaving the site quietly degraded.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Maintenance release; no user-facing changes.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Maintenance release; no user-facing changes.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed: the sidebar's \"Add API key\" link on a fresh install led to \"Sorry, you are not allowed to access this page\". It now opens the Setup screen at the connection step.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>New: the model list for every provider refreshes from the provider itself, so retired models drop out of the dropdown automatically and newly released ones appear without a plugin update. A Refresh models button is available on every provider, and a saved model that a provider retires is replaced with a working one on its own.<\/li>\n<li>Fixed: the streaming test could warn that your host \"may be buffering SSE\" when nothing was wrong \u2014 fast providers can emit a whole short reply at once, which the old check misread. The test now measures the connection itself with paced probe events, replies stream with a small padding preamble that helps hosts that genuinely buffer, and when a host does deliver replies in one piece the message says plainly that it is cosmetic, not broken.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Groq connections failed with \"The model <code>llama-3.3-70b-versatile<\/code> does not exist or you do not have access to it\". Groq has retired the Llama models, which took the plugin's default and two of its five dropdown options with it. The list is now openai\/gpt-oss-20b, qwen\/qwen3.8-27b and openai\/gpt-oss-120b \u2014 each checked against the live API for both availability and tool-calling support, since a model that connects but cannot call tools would fail on the first real request instead of at setup.<\/li>\n<li>Fixed: the provider connection test ignored the model you had chosen and always tested the provider's default, so the error named a model you could see you had not selected. It now tests the selected model, and reports which model it used whether it passes or fails.<\/li>\n<li>Fixed: a connection test could report success while the model returned nothing at all. Reasoning models spend their output budget thinking before replying, and the test's 10-token limit left no room for an answer. An empty reply is now reported as a failure.<\/li>\n<li>Note: a saved model that no longer exists is detected and replaced with a working one automatically \u2014 no action needed if your Groq setting was pointing at a retired model.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Changed: the public chatbot's message box now sits on its own full-width row, with the Send control on a row beneath it \u2014 the same arrangement the admin command center uses. It was previously a single row shared with those buttons, which on a narrow panel left the message box around 150px wide, narrow enough to wrap its own placeholder onto two lines.<\/li>\n<li>Fixed: the chat panel changed height at a 480px screen-width breakpoint, so the message area was a different size on a phone than on a tablet or desktop. It now sizes from the available height at every width, and is identical across screens wherever there is room for it.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<p>First public release.<\/p>\n\n<ul>\n<li>Admin-only AI chat, with your choice of provider: Google Gemini, OpenAI, Anthropic Claude, Groq, or a fully local model through Ollama \/ LM Studio. With a local model, requests go only to the server you run.<\/li>\n<li>Site abilities the assistant can call directly \u2014 reading posts, pages, categories and tags; installing, activating and updating plugins and themes; SEO, media and site health audits; and maintenance reports.<\/li>\n<li>Restore points before plugin and theme switches, with one-click revert, and an Activity trail recording what ran, when, and what it changed.<\/li>\n<li>A public-facing chatbot, with its own persona and rate limiting, separate from the admin assistant.<\/li>\n<li>A playground for drafting and saving prompts.<\/li>\n<\/ul>","raw_excerpt":"AI admin assistant for WordPress. Ask about your content, SEO and site health, using Gemini, OpenAI, Claude, Groq or a local model.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/364957","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=364957"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dineshsatro"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=364957"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=364957"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=364957"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=364957"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=364957"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=364957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}