{"id":249346,"date":"2025-09-01T15:13:53","date_gmt":"2025-09-01T15:13:53","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gpt-comment-agent\/"},"modified":"2026-10-24T11:54:07","modified_gmt":"2026-10-24T11:54:07","slug":"gpt-comment-agent","status":"publish","type":"plugin","link":"https:\/\/ko.wordpress.org\/plugins\/gpt-comment-agent\/","author":20698709,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.10","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"GPT Comment Agent","header_author":"mcpelee","header_description":"OpenAI GPT\ub97c \ud65c\uc6a9\ud558\uc5ec \uac8c\uc2dc\uae00 \ub0b4\uc6a9\uc744 \ubc14\ud0d5\uc73c\ub85c \ub313\uae00\uc744 \uc790\ub3d9 \uc0dd\uc131\ud558\uace0, \uad00\ub9ac\uc790\uac00 \ud3b8\uc9d1 \ud6c4 \ub313\uae00\ucc3d\uc5d0 \uc790\ub3d9 \uc8fc\uc785\ud560 \uc218 \uc788\ub294 WordPress \ud50c\ub7ec\uadf8\uc778","assets_banners_color":"","last_updated":"2026-10-24 11:54:07","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/github.com\/mcpeleeGit","header_plugin_uri":"https:\/\/github.com\/mcpeleeGit\/gpt-comment-agent","header_author_uri":"https:\/\/github.com\/mcpeleeGit","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1577,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"mcpelee","date":"2025-09-02 15:10:17","revision":3354821},"1.0.2":{"tag":"1.0.2","author":"mcpelee","date":"2026-10-20 14:12:46","revision":3756888},"1.1.0":{"tag":"1.1.0","author":"mcpelee","date":"2026-10-24 11:54:07","revision":3763216}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3354077,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Comment draft and source review.","2":"Settings, Markdown rules and local indexing."}},"plugin_section":[],"plugin_tags":[2353,131,216551,194533,70446],"plugin_category":[44],"plugin_contributors":[215302],"plugin_business_model":[],"class_list":["post-249346","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-comment","plugin_tags-gpt","plugin_tags-openai","plugin_tags-rag","plugin_category-discussion-and-community","plugin_contributors-mcpelee","plugin_committers-mcpelee"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gpt-comment-agent\/assets\/icon-256x256.png?rev=3354077","icon_2x":"https:\/\/ps.w.org\/gpt-comment-agent\/assets\/icon-256x256.png?rev=3354077","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>GPT Comment Agent drafts comments and blog posts for editors to review. It combines administrator-authored Markdown rules, a local retrieval index of published posts\/pages, and optional Korean Wikipedia search. Google CSE credentials and network integration have been removed.<\/p>\n\n<p>The plugin does not automatically publish generated text. Existing comment insertion and editor insertion controls remain available.<\/p>\n\n<h4>Local RAG<\/h4>\n\n<p>Full public post\/page bodies and excerpts are indexed in 1,200-character chunks with 160-character overlap. UTF-8 Korean content is preserved. A local lexical relevance score searches across the indexed chunks, giving additional weight to title matches. No external embedding API or vector database is required. This is keyword-based retrieval, not semantic embedding search.<\/p>\n\n<p>Each comment request uses up to four matching chunks from the current post and additional matching site chunks, up to twelve total. The generation prompt also includes a short current-post overview and recent approved comments. Long documents are not fully transmitted on every request: the complete eligible text is indexed, and only retrieved passages are sent. Retrieval cannot guarantee that every relevant fact is found.<\/p>\n\n<p>Only published, password-free posts and pages are eligible. Private, draft, trashed and password-protected posts are excluded even if older chunks exist. Post updates and deletion refresh the index. Attachments, custom fields, custom post types, dynamically rendered shortcodes and remote media are not indexed. Inline block text is indexed without executing blocks or shortcodes.<\/p>\n\n<p>Existing posts are processed in batches of ten via WP-Cron. The settings page shows stored chunk count, progress, errors, and rebuild\/continue buttons. Sites with disabled WP-Cron must use the continue control or configure normal WordPress cron execution. Index data is local to the WordPress database and removed when the plugin is uninstalled.<\/p>\n\n<h4>Markdown rules<\/h4>\n\n<p>A default rules\/comment-principles.md is included. Administrators can download it, edit it, and register a UTF-8 .md file up to 32KB in Settings &gt; GPT Comment Agent. Registration replaces the current rules. Imported content is stored as a non-autoloaded option, not a publicly accessible media upload. Only administrators can register\/reset rules. Do not include secrets: these rules are sent to OpenAI when generating content.<\/p>\n\n<h4>Search<\/h4>\n\n<p>Local retrieval is always used. Optional Korean Wikipedia search returns up to three article snippets using the public MediaWiki API, without an API key or per-query plugin fee. It is background knowledge assistance, not full-web search. Requests have timeouts, a 15-minute query cache and a short failure cooldown. If Wikipedia fails, available local results remain usable. OpenAI generation still requires your API key and incurs the provider's usage charges.<\/p>\n\n<h3>External services<\/h3>\n\n<p>OpenAI Responses API (https:\/\/api.openai.com\/v1\/responses): when an authorized editor explicitly generates content, the plugin sends the input prompt, tone, administrator rules, current post overview, metadata, recent approved comments, selected public site passages and any Wikipedia snippets. The API key is sent in the Authorization header. Responses use store=false; provider retention policies still apply. No OpenAI request is made during indexing or ordinary page views.\nTerms: https:\/\/openai.com\/policies\/terms-of-use\/\nPrivacy: https:\/\/openai.com\/policies\/privacy-policy\/\nAPI keys are stored in the WordPress options database; they are not encrypted by this plugin. Protect database backups and administrator access.<\/p>\n\n<p>Wikimedia \/ Korean Wikipedia (https:\/\/ko.wikipedia.org\/w\/api.php): disabled by default and enabled with an administrator checkbox. On explicit generation requests, the current post title (comments) or entered keyword (blog drafts) is sent as a search query. The site server IP is visible to Wikimedia. Post bodies and Markdown rules are not sent to Wikipedia. Snippets are cached locally for fifteen minutes, and source links are displayed. Observe Wikimedia usage limits and attribution requirements; service availability is not guaranteed.\nTerms: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Terms_of_Use\nPrivacy: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Privacy_policy\nAPI documentation: https:\/\/www.mediawiki.org\/wiki\/API:Search<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the ZIP, then open Settings &gt; GPT Comment Agent.<\/li>\n<li>Set your OpenAI API key, model, tone and output token budget. The budget includes reasoning tokens; the default is 2048.<\/li>\n<li>Review or import the Markdown rules.<\/li>\n<li>Run\/continue the initial site index until complete.<\/li>\n<li>Enable Wikipedia assistance if you consent to sending search terms to Wikimedia.<\/li>\n<li>Open a published, password-free post\/page, generate a comment, review its sources and edit before posting.<\/li>\n<\/ol>\n\n<p>Upgrades preserve the OpenAI key and model. Obsolete Google CSE ID\/key options are removed during the index-schema upgrade. Legacy output budgets below 256 are raised to 2048 because the Responses API budget includes reasoning. Deactivation pauses background indexing; reactivation resumes incomplete work. Keep a backup before upgrading.<\/p>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Replaced Google CSE with local lexical RAG and optional free Korean Wikipedia assistance.<\/li>\n<li>Added UTF-8 chunk indexing, update\/delete synchronization, batched rebuilds and progress controls.<\/li>\n<li>Added administrator-only Markdown rules import, preview and reset with a bundled template.<\/li>\n<li>Separated instructions from reference data and displayed retrieved source links and search warnings.<\/li>\n<li>Restricted context access to authorized editors and public, password-free posts\/pages.<\/li>\n<li>Applied response token budgets and store=false; incomplete responses report an actionable error.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added blog post generation feature using Google CSE and GPT<\/li>\n<li>Added Google CSE integration for content research<\/li>\n<li>Added post generator meta box in post editor<\/li>\n<li>Automatic title and content separation for generated posts<\/li>\n<li>Improved error handling and timeout management<\/li>\n<li>Enhanced user interface for post generation<\/li>\n<li>Added Google CSE ID and API Key settings<\/li>\n<li>Improved plugin settings link and menu visibility<\/li>\n<li>Updated WordPress tested version<\/li>\n<li>Plugin Check (PCP) compliance<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed issue where admin assets could not be loaded in some WordPress environments<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>OpenAI GPT-5 API integration<\/li>\n<li>Automatic comment generation and editing functionality<\/li>\n<li>Administrator settings page<\/li>\n<li>Responsive popup interface<\/li>\n<li>WordPress AJAX-based communication<\/li>\n<li>Security and permission management<\/li>\n<\/ul>","raw_excerpt":"Draft grounded AI comments using Markdown rules, local post retrieval and optional free Wikipedia search.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/249346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=249346"}],"author":[{"embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mcpelee"}],"wp:attachment":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=249346"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=249346"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=249346"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=249346"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=249346"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=249346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}