{"id":344732,"date":"2026-07-24T05:54:18","date_gmt":"2026-07-24T05:54:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pewit-ai-content-assist\/"},"modified":"2026-07-24T05:54:08","modified_gmt":"2026-07-24T05:54:08","slug":"pewit-ai-content-assist","status":"publish","type":"plugin","link":"https:\/\/el.wordpress.org\/plugins\/pewit-ai-content-assist\/","author":11391715,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.8","stable_tag":"1.0.8","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Pewit AI Content Assist","header_author":"PEWIT Labs","header_description":"AI drafting, summaries and internal-link suggestions for editors \u2014 grounded in your own content.","assets_banners_color":"","last_updated":"2026-07-24 05:54:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pewitlabs.com\/product-ai-content-assist.html","header_author_uri":"https:\/\/pewitlabs.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.8":{"tag":"1.0.8","author":"michalczajka","date":"2026-07-24 05:54:08"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3620810,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.8"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,529,6681,194533,17042],"plugin_category":[],"plugin_contributors":[268312],"plugin_business_model":[],"class_list":["post-344732","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-content","plugin_tags-internal-links","plugin_tags-openai","plugin_tags-summaries","plugin_contributors-michalczajka","plugin_committers-michalczajka"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/pewit-ai-content-assist\/assets\/icon.svg?rev=3620810","icon":"https:\/\/ps.w.org\/pewit-ai-content-assist\/assets\/icon.svg?rev=3620810","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Plugin homepage, documentation and paid plans: https:\/\/pewitlabs.com\/product-ai-content-assist.html<\/p>\n\n<p>AI-powered content assistant for WordPress editors. Drafts paragraphs, generates summaries and suggests internal links grounded in your existing posts and pages \u2014 never generic filler.<\/p>\n\n<h4>Fully functional and free<\/h4>\n\n<p>Every feature in this plugin is free and fully functional: connect via WordPress 7.0+ AI connectors (Settings \u2192 Connectors) or bring your own API key (OpenAI, Anthropic Claude or Google Gemini), draft and rewrite in the block editor, summarize selections, get internal-link suggestions grounded in your content index, run bulk meta\/excerpt background jobs, auto re-index on publish, scan for orphan pages and link gaps, export CSV reports and receive email notifications when jobs finish. Nothing is locked behind a license.<\/p>\n\n<p>Optionally, you can subscribe to <strong>managed AI credits<\/strong> (so you don't need your own API key) and priority support at https:\/\/pewitlabs.com\/product-ai-content-assist.html \u2014 this is a paid external service, not a requirement to use the plugin.<\/p>\n\n<h4>Editor sidebar<\/h4>\n\n<ul>\n<li>Draft expand \u2014 turn bullets or a sentence into a full paragraph.<\/li>\n<li>Summarize selection \u2014 condense text for excerpts and meta descriptions.<\/li>\n<li>Suggest internal links \u2014 grounded in your own published posts and pages.<\/li>\n<li>Preview every AI suggestion before you insert it.<\/li>\n<li>Global brand context &amp; tone settings applied to every action.<\/li>\n<\/ul>\n\n<h4>Content index &amp; link gaps<\/h4>\n\n<ul>\n<li>Content index of your published posts &amp; pages (manual rebuild or incremental on publish).<\/li>\n<li>Orphan &amp; Link Gap Map: find pages with no inbound links and posts with no outbound internal links.<\/li>\n<li>Quick-fix panel and CSV export of the full report.<\/li>\n<\/ul>\n\n<h4>Background automation<\/h4>\n\n<ul>\n<li>Bulk background jobs for missing excerpts &amp; SEO meta descriptions.<\/li>\n<li>Auto re-index when you publish or update content.<\/li>\n<li>Pause, resume, stop and clear running jobs with a live activity log.<\/li>\n<li>Email notification when a background job finishes.<\/li>\n<\/ul>\n\n<h4>Providers<\/h4>\n\n<ul>\n<li>WordPress 7.0+ AI Client (Settings \u2192 Connectors) when configured, with BYOK fallback.<\/li>\n<li>OpenAI, Anthropic (Claude) and Google Gemini \u2014 use your own API key.<\/li>\n<li>You pay your provider directly for API usage.<\/li>\n<li>Configurable model (default gpt-4o-mini) and API key test button.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to third-party services to generate text and content suggestions. Please review this before use.<\/p>\n\n<p>You choose the AI provider in the plugin settings and use your own API key (BYOK), or on WordPress 7.0+ use the site-wide AI connectors (Settings \u2192 Connectors) via the core AI Client. No data is sent to any provider until you trigger an action. Requests go directly from your site to the selected provider under your own credentials and that provider's terms. Nothing is sent to the plugin author.<\/p>\n\n<p>WordPress AI Client (WordPress 7.0+, when connectors are configured):\n* What and when: drafting, summaries and link suggestions use <code>wp_ai_client_prompt()<\/code> so credentials stay in core (Settings \u2192 Connectors). Selected text, prompts and grounding context are sent to whichever provider the site administrator configured.<\/p>\n\n<p>OpenAI API (https:\/\/openai.com):\n* What and when: when you draft, expand, summarize or request internal-link suggestions, or run a bulk meta\/excerpt job, and OpenAI is the selected provider (BYOK fallback), the selected text and prompt are sent to OpenAI to produce the requested text.\n* Data sent: the text you select or write, optional global context you configure, titles\/snippets of indexed posts used for grounding, and the selected model name.\n* Terms: https:\/\/openai.com\/policies\/terms-of-use \u2014 Privacy: https:\/\/openai.com\/policies\/privacy-policy<\/p>\n\n<p>Anthropic (Claude) API (https:\/\/www.anthropic.com):\n* What and when: only if you select Claude as the provider (BYOK fallback) \u2014 when you run a text action, your text prompt and context are sent to Anthropic to produce the requested text.\n* Data sent: the text prompt, optional global context you configure, grounding snippets, and the selected model name.\n* Terms: https:\/\/www.anthropic.com\/legal\/consumer-terms \u2014 Privacy: https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<p>Google Gemini API (https:\/\/ai.google.dev):\n* What and when: only if you select Gemini as the provider (BYOK fallback) \u2014 when you run a text action, your text prompt and context are sent to Google's Generative Language API to produce the requested text.\n* Data sent: the text prompt, optional global context you configure, grounding snippets, and the selected model name.\n* Terms: https:\/\/ai.google.dev\/gemini-api\/terms \u2014 Privacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p>Freemius (licensing &amp; checkout \u2014 https:\/\/freemius.com):\n* What and when: used for license activation, updates and (for optional paid managed AI credits) checkout as Merchant of Record. Opt-in is optional.\n* Terms: https:\/\/freemius.com\/terms\/ \u2014 Privacy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<h3>Source code<\/h3>\n\n<p>All JavaScript and CSS shipped in this plugin (in assets\/js and assets\/css) is the original, hand-written, human-readable source. Nothing is minified, compiled, transpiled or generated by a build tool, so no separate source files are required \u2014 what you read in the plugin is the source. The only bundled third-party library is the Freemius SDK (vendor\/freemius), whose source is available at https:\/\/github.com\/Freemius\/wordpress-sdk<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP through Plugins -&gt; Add New -&gt; Upload Plugin, or extract it to wp-content\/plugins\/pewit-ai-content-assist\/.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Connect AI under Settings \u2014 WordPress 7.0+ Connectors (Settings \u2192 Connectors) or your own API key (BYOK \u2014 OpenAI, Claude or Gemini).<\/li>\n<li>Rebuild the content index, then use the editor sidebar while you write.<\/li>\n<\/ol>\n\n<p>The plugin folder must always be pewit-ai-content-assist\/ and the main file pewit-ai-content-assist.php.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20ai%20api%20key%3F\"><h3>Do I need an AI API key?<\/h3><\/dt>\n<dd><p>On WordPress 7.0+ you can use Settings \u2192 Connectors (core AI Client). Otherwise bring your own key for OpenAI, Anthropic Claude or Google Gemini. You pay your provider directly for API usage. Optional managed AI credit packs (no key required) are planned.<\/p><\/dd>\n<dt id=\"is%20everything%20really%20free%3F\"><h3>Is everything really free?<\/h3><\/dt>\n<dd><p>Yes. Every feature \u2014 editor actions, content index, link gap map, bulk background jobs, auto re-index and email reports \u2014 works without a paid license. You only need AI access via WordPress Connectors or your own API key. Optional paid managed AI credits and support remain available as an external service.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20an%20openai%20api%20key%3F\"><h3>How do I get an OpenAI API key?<\/h3><\/dt>\n<dd><ol>\n<li>Sign up at https:\/\/platform.openai.com\/ (this is not the same as ChatGPT Plus).<\/li>\n<li>Add a payment method under Settings -&gt; Billing and set a monthly spend limit.<\/li>\n<li>Go to https:\/\/platform.openai.com\/api-keys -&gt; Create new secret key -&gt; copy the sk-... value immediately (shown only once).<\/li>\n<li>In WordPress: Pewit AI Content Assist -&gt; Settings -&gt; paste the key -&gt; Save &amp; Test.<\/li>\n<\/ol><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check \u2014 escaped job log level output; AI Client called via function_exists\/call_user_func for WP 6.x compatibility; empty languages\/ folder for Domain Path.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Added: WordPress 7.0+ AI Client integration \u2014 uses <code>wp_ai_client_prompt()<\/code> when site connectors are configured (Settings \u2192 Connectors), with BYOK direct API fallback.<\/li>\n<li>Fixed: removed bundled .po\/.mo translation files from the wordpress.org package (translations via translate.wordpress.org).<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Changed: the wordpress.org build now physically ships with zero license\/plan gating \u2014 every feature is unlocked source with no premium checks. Plan gating lives only in the separate Freemius premium build.<\/li>\n<li>Added: \"Source code\" section documenting that all JS\/CSS is hand-written, unminified source.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Changed: renamed to \"Pewit AI Content Assist\" (new slug pewit-ai-content-assist) for a distinctive directory name.<\/li>\n<li>Changed: every feature is now free and fully functional \u2014 no license gating of built-in features. Optional paid managed AI credits and support remain available as an external service.<\/li>\n<li>Added: External services documentation for OpenAI, Anthropic (Claude) and Google Gemini, including terms\/privacy links.<\/li>\n<li>Fixed: removed Google Fonts (no external font requests); admin uses a system font stack.<\/li>\n<li>Fixed: build now excludes spaced and *.dc.html artifacts.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check advisory warnings \u2014 annotated direct DB queries (DirectQuery\/NoCaching).<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed: WordPress Plugin Check \u2014 i18n translators comments, in-memory CSV helpers, prefixed LLM client class, removed manual textdomain loading.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: WordPress.org Plugin Check i18n compliance for shared LLM client.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added: Settings provider selector \u2014 OpenAI, Claude, Gemini.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Stable release: Gutenberg sidebar (draft, summarize, internal links), content index with incremental updates.<\/li>\n<li>Orphan &amp; Link Gap Map with quick-fix panel, no-outbound list, and CSV export.<\/li>\n<li>Background bulk meta\/excerpt jobs, auto re-index on publish, email after job.<\/li>\n<li>Onboarding wizard, admin PL. QA checklist: docs\/QA_CHECKLIST.md.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Orphan quick-fix panel and no-outbound list on dashboard.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Incremental index on publish. Link gap CSV export.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Orphan &amp; Link Gap Map.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Onboarding wizard, email after job, admin PL, FAQ section detection.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial beta: Gutenberg sidebar, content index, bulk meta job.<\/li>\n<\/ul>","raw_excerpt":"AI drafting, summaries and internal-link suggestions for editors \u2014 grounded in your own content.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344732"}],"author":[{"embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/michalczajka"}],"wp:attachment":[{"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344732"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344732"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344732"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344732"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344732"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/el.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}