{"id":317821,"date":"2026-06-15T17:21:18","date_gmt":"2026-06-15T17:21:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-chatgpt\/"},"modified":"2026-06-15T17:20:45","modified_gmt":"2026-06-15T17:20:45","slug":"ai-provider-for-chatgpt","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ai-provider-for-chatgpt\/","author":15678212,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.3","stable_tag":"0.1.3","tested":"7.0","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for ChatGPT","header_author":"Abdalsalaam Halawa","header_description":"Registers OpenAI as a WordPress AI provider authenticated with a ChatGPT account (Free\/Plus\/Pro) instead of an API key. Usage is billed against the connected ChatGPT subscription.","assets_banners_color":"212b2b","last_updated":"2026-06-15 17:20:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Abdalsalaam\/ai-provider-for-chatgpt","header_author_uri":"https:\/\/halawa.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":37,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.3":{"tag":"0.1.3","author":"abdalsalaam","date":"2026-06-15 17:20:45"}},"upgrade_notice":{"0.1.3":"<p>The plugin no longer reads the core connector option directly; configured state comes from the AI Client API.<\/p>","0.1.2":"<p>Unique <code>halawa_chatgpt_<\/code> prefixes, fuller external-service documentation, a clearer public pairing endpoint, and uninstall cleanup.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3573504,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3573504,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3573504,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3573504,"resolution":"1","location":"assets","locale":"","width":1672,"height":941},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3573504,"resolution":"2","location":"assets","locale":"","width":1448,"height":1086}},"screenshots":{"1":"ChatGPT registers as a first-class connector and appears in the WordPress AI connectors list, alongside the other providers.","2":"The ChatGPT connector wizard and built-in diagnostics \u2014 connect your account with a single command, then confirm the provider is live and that its models were discovered."}},"plugin_section":[],"plugin_tags":[2353,259757,2364,216196,194533],"plugin_category":[],"plugin_contributors":[217865],"plugin_business_model":[],"class_list":["post-317821","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-ai-provider","plugin_tags-chatbot","plugin_tags-chatgpt","plugin_tags-openai","plugin_contributors-abdalsalaam","plugin_committers-abdalsalaam"],"banners":{"banner":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/banner-772x250.png?rev=3573504","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/icon-128x128.png?rev=3573504","icon_2x":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/icon-256x256.png?rev=3573504","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/screenshot-1.png?rev=3573504","caption":"ChatGPT registers as a first-class connector and appears in the WordPress AI connectors list, alongside the other providers."},{"src":"https:\/\/ps.w.org\/ai-provider-for-chatgpt\/assets\/screenshot-2.png?rev=3573504","caption":"The ChatGPT connector wizard and built-in diagnostics \u2014 connect your account with a single command, then confirm the provider is live and that its models were discovered."}],"raw_content":"<!--section=description-->\n<p>AI Provider for ChatGPT registers OpenAI with the WordPress AI Client and authenticates each request using an OAuth token associated with a ChatGPT account (Free \/ Plus \/ Pro). API usage is billed against the connected ChatGPT subscription rather than a separate OpenAI API account.<\/p>\n\n<p>Any plugin or theme that uses the AI Client can call ChatGPT models the same way it calls Kimi, Google, or Anthropic.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Text generation with ChatGPT models (GPT-4o, GPT-4.1, o-series, and others exposed by the connected account)<\/li>\n<li>Multi-turn chat history<\/li>\n<li>Function calling and tool use<\/li>\n<li>Structured output via JSON schema<\/li>\n<li>Dynamic model discovery from the connected account<\/li>\n<li>Settings screen for connecting an account, with built-in connection diagnostics<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>PHP 7.4 or higher, with the <code>sodium<\/code> and <code>openssl<\/code> extensions<\/li>\n<li>A ChatGPT Free, Plus, or Pro account (Business \/ Edu \/ Enterprise are not supported)<\/li>\n<li>WordPress 7.0+ (AI Client is bundled in core), or WordPress 6.9 with the <a href=\"https:\/\/github.com\/WordPress\/php-ai-client\">WordPress\/php-ai-client<\/a> package installed<\/li>\n<\/ul>\n\n<p><strong>Privacy &amp; data sharing:<\/strong><\/p>\n\n<p>When this plugin is used, prompts and content you send through the AI Client are transmitted to OpenAI's servers for processing. Review the <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">OpenAI Privacy Policy<\/a> and <a href=\"https:\/\/openai.com\/policies\/terms-of-use\/\">Terms of Use<\/a> before enabling this provider on a production site. See the <strong>External services<\/strong> section below for full details on what data is sent and when.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on OpenAI's online APIs, an external service operated by OpenAI, L.L.C. The connection is required so the WordPress AI Client can authenticate with your ChatGPT account and route requests to ChatGPT models from your site. The plugin contacts two OpenAI-operated domains: <code>auth.openai.com<\/code> (token refresh) and <code>chatgpt.com<\/code> (model list and text generation). No data is sent to OpenAI until you connect an account and one of the actions below occurs.<\/p>\n\n<p>The plugin contacts the following endpoints:<\/p>\n\n<ul>\n<li><strong><code>POST https:\/\/auth.openai.com\/oauth\/token<\/code><\/strong> \u2014 called when the stored access token is about to expire, to obtain a fresh one. The request transmits the OAuth <code>client_id<\/code>, the refresh token (decrypted only in transit from your WordPress options table), and the <code>refresh_token<\/code> grant type. No prompt or user content is sent.<\/li>\n<li><strong><code>GET https:\/\/chatgpt.com\/backend-api\/codex\/models<\/code><\/strong> \u2014 called from the <strong>Settings \u2192 ChatGPT<\/strong> screen (including the optional diagnostics \"remote models\" probe) and when the AI Client refreshes its model list. The access token (<code>Authorization<\/code> header), the <code>ChatGPT-Account-ID<\/code> header, and a <code>client_version<\/code> query parameter are sent so OpenAI can return the list of models available to the connected account. No prompt or user content is sent.<\/li>\n<li><strong><code>POST https:\/\/chatgpt.com\/backend-api\/codex\/responses<\/code><\/strong> \u2014 called whenever any plugin or theme on your site uses the WordPress AI Client to generate text with a ChatGPT model. The request includes the access token, the <code>ChatGPT-Account-ID<\/code> of the connected account, and the prompt\/messages, system instructions, tool definitions, and any other parameters supplied by the calling code (for example, conversation history, JSON schema for structured output, or files attached to the prompt).<\/li>\n<\/ul>\n\n<p>Your OAuth tokens are stored encrypted in your site's WordPress options table and are only transmitted to OpenAI to authenticate the requests above. The plugin does not send your data to any other third-party service.<\/p>\n\n<p>These services are provided by OpenAI. By connecting an account and using this provider you agree to OpenAI's terms:<\/p>\n\n<ul>\n<li>Terms of Use: <a href=\"https:\/\/openai.com\/policies\/terms-of-use\/\">https:\/\/openai.com\/policies\/terms-of-use\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/openai.com\/policies\/privacy-policy\/\">https:\/\/openai.com\/policies\/privacy-policy\/<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/ai-provider-for-chatgpt\/<\/code>, or install through the WordPress plugin browser.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Visit <strong>Settings \u2192 ChatGPT<\/strong> and follow the on-screen instructions to connect a ChatGPT account.<\/li>\n<li>Any plugin or theme that uses the WordPress AI Client can now generate text with the ChatGPT models available to your account.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20connect%20a%20chatgpt%20account%3F\"><h3>How do I connect a ChatGPT account?<\/h3><\/dt>\n<dd><p>On <strong>Settings \u2192 ChatGPT<\/strong>, click <strong>Connect with ChatGPT<\/strong>. The page shows a one-line <code>npx<\/code> command \u2014 run it on your laptop, sign in to OpenAI in the browser window that opens, and the WordPress tab connects automatically. No file copying.<\/p>\n\n<p>If you'd rather use the Codex CLI bundle you already have, the same screen has an <strong>Advanced<\/strong> option to paste or upload <code>~\/.codex\/auth.json<\/code>.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20without%20the%20wordpress%20ai%20client%3F\"><h3>Does this plugin work without the WordPress AI Client?<\/h3><\/dt>\n<dd><p>No. The plugin registers ChatGPT with the AI Client provider registry, so the AI Client must be available \u2014 either bundled in WordPress 7.0+ or installed as a separate package on 6.9.<\/p><\/dd>\n<dt id=\"which%20models%20are%20supported%3F\"><h3>Which models are supported?<\/h3><\/dt>\n<dd><p>Any chat-completion model exposed by the OpenAI Responses API for the connected account. The list is refreshed automatically.<\/p><\/dd>\n<dt id=\"does%20it%20support%20image%20generation%3F\"><h3>Does it support image generation?<\/h3><\/dt>\n<dd><p>Not yet. This release covers text generation, chat, tool use, and structured output.<\/p><\/dd>\n<dt id=\"how%20are%20tokens%20stored%3F\"><h3>How are tokens stored?<\/h3><\/dt>\n<dd><p>Tokens are stored in the WordPress options table on your own site, encrypted at rest with <code>sodium_crypto_secretbox<\/code> keyed off <code>wp-config.php<\/code> salts. They are never transmitted anywhere except to OpenAI when fulfilling a request or refreshing the access token.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Removed the direct reads of the core <code>connectors_ai_chatgpt_api_key<\/code> option from the connection and diagnostics REST endpoints. The connector's configured state is now read solely through the AI Client API (<code>isProviderConfigured()<\/code>); the option is still written so the WordPress AI plugin can detect the connector's credentials, but it is no longer read back by this plugin.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Prefixed all plugin-owned options, transients, and hooks with <code>halawa_chatgpt_<\/code> to avoid collisions in WordPress's shared namespaces.<\/li>\n<li>Documented every external service the plugin contacts and corrected the model-list endpoint URL in the readme.<\/li>\n<li>Made the public CLI-pairing REST route's intentionally-public design explicit (<code>__return_true<\/code>) while keeping its single-use-token security boundary and per-IP rate limiting.<\/li>\n<li>Added uninstall cleanup that removes the plugin's stored options and transients.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed a \"Missing the output key\" error from the Codex <code>\/responses<\/code> stream.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>ChatGPT text generation models with dynamic model discovery.<\/li>\n<li>Function calling and structured (JSON schema) output.<\/li>\n<li>Encrypted token storage with automatic refresh.<\/li>\n<li>Default-model selection under Settings \u2192 ChatGPT.<\/li>\n<\/ul>","raw_excerpt":"Adds ChatGPT (OpenAI) as a first-class provider for the WordPress AI Client, authenticated with a ChatGPT account instead of an API key.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317821","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=317821"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/abdalsalaam"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317821"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317821"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317821"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317821"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317821"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}