{"id":303915,"date":"2026-04-30T07:53:08","date_gmt":"2026-04-30T07:53:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-opencode-zen\/"},"modified":"2026-06-15T11:14:33","modified_gmt":"2026-06-15T11:14:33","slug":"alamin-ai-provider-for-opencode-zen","status":"publish","type":"plugin","link":"https:\/\/es-do.wordpress.org\/plugins\/alamin-ai-provider-for-opencode-zen\/","author":20002658,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.0","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for OpenCode Zen","header_author":"Al Amin Ahamed","header_description":"OpenCode Zen AI provider for the WordPress AI Client. Not affiliated with OpenCode Zen.","assets_banners_color":"505050","last_updated":"2026-06-15 11:14:33","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/alaminahamed.com\/donate","header_plugin_uri":"https:\/\/github.com\/mralaminahamed\/ai-provider-for-opencode-zen","header_author_uri":"https:\/\/alaminahamed.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":378,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mralaminahamed","date":"2026-05-21 14:03:46"},"1.1.0":{"tag":"1.1.0","author":"mralaminahamed","date":"2026-05-21 14:45:33"},"1.2.0":{"tag":"1.2.0","author":"mralaminahamed","date":"2026-05-21 18:06:58"},"1.2.1":{"tag":"1.2.1","author":"mralaminahamed","date":"2026-05-21 18:07:14"},"1.3.0":{"tag":"1.3.0","author":"mralaminahamed","date":"2026-06-15 11:14:33"}},"upgrade_notice":{"1.3.0":"<p>Adds Top P, Presence Penalty, and Frequency Penalty settings. No database changes or manual steps required. Requires WordPress 7.0 or higher.<\/p>","1.2.0":"<p>Fixes a false &quot;no valid connector&quot; warning on the AI admin page. No database changes required.<\/p>","1.1.0":"<p>Expanded fallback model list to 40 models. No database changes or manual steps required.<\/p>","1.0.0":"<p>Initial release. No upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3519300,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3519300,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3519300,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3519300,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3519300,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner.svg":{"filename":"banner.svg","revision":3519300,"resolution":false,"location":"assets","locale":false}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3573014,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/options-connectors.php\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"alamin-ai-provider-for-opencode-zen\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.2.1","1.3.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The OpenCode Zen settings page where you configure your API key, default model, and generation parameters."}},"plugin_section":[],"plugin_tags":[2353,229563,216551,226124,261513],"plugin_category":[],"plugin_contributors":[221130],"plugin_business_model":[],"class_list":["post-303915","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-claude","plugin_tags-gpt","plugin_tags-llm","plugin_tags-opencode","plugin_contributors-mralaminahamed","plugin_committers-mralaminahamed"],"banners":{"banner":"https:\/\/ps.w.org\/alamin-ai-provider-for-opencode-zen\/assets\/banner-772x250.png?rev=3519300","banner_2x":"https:\/\/ps.w.org\/alamin-ai-provider-for-opencode-zen\/assets\/banner-1544x500.png?rev=3519300","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/alamin-ai-provider-for-opencode-zen\/assets\/icon.svg?rev=3519300","icon":"https:\/\/ps.w.org\/alamin-ai-provider-for-opencode-zen\/assets\/icon.svg?rev=3519300","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin integrates <a href=\"https:\/\/opencode.ai\">OpenCode Zen<\/a> as an AI provider for the WordPress AI Client. It enables access to high-performance AI models optimized for coding and general tasks through the OpenCode Zen API.<\/p>\n\n<p>This plugin is an independent, third-party integration and is not affiliated with, endorsed by, or sponsored by OpenCode Zen. \"OpenCode Zen\" is the name of the third-party service this plugin connects to.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Seamless integration with the WordPress AI Client plugin<\/li>\n<li>Dynamic model discovery from the OpenCode Zen API with hourly caching<\/li>\n<li>Support for 40+ models including GPT 5.x, Claude 4.x, Gemini 3.x, Qwen, MiniMax, Kimi, Grok, and more<\/li>\n<li>Secure API key management via WordPress settings or environment variable<\/li>\n<li>Full generation parameter control: temperature, max tokens, top P, presence penalty, and frequency penalty<\/li>\n<li>Fallback to a hardcoded model list when the API is unavailable<\/li>\n<\/ul>\n\n<p><strong>Supported Models (fallback list):<\/strong><\/p>\n\n<p>GPT models: GPT 5.5, GPT 5.5 Pro, GPT 5.4, GPT 5.4 Pro, GPT 5.4 Mini, GPT 5.4 Nano, GPT 5.3 Codex, GPT 5.3 Codex Spark, GPT 5.2, GPT 5.2 Codex, GPT 5.1, GPT 5.1 Codex, GPT 5.1 Codex Max, GPT 5.1 Codex Mini, GPT 5, GPT 5 Codex, GPT 5 Nano<\/p>\n\n<p>Claude models: Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Opus 4.1, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Sonnet 4, Claude Haiku 4.5, Claude 3.5 Haiku<\/p>\n\n<p>Gemini models: Gemini 3.5 Flash, Gemini 3.1 Pro, Gemini 3 Flash<\/p>\n\n<p>Other models: Qwen 3.6 Plus, Qwen 3.5 Plus, MiniMax M2.7, MiniMax M2.5, GLM 5.1, Kimi K2.6, Kimi K2.5, Grok Build 0.1, Big Pickle, DeepSeek V4 Flash Free, Nemotron 3 Super Free<\/p>\n\n<p>When an API key is configured, the live model list is fetched directly from the OpenCode Zen API.<\/p>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>WordPress 7.0 or higher (the AI Client SDK is built into WordPress core)<\/li>\n<li>An <a href=\"https:\/\/opencode.ai\">OpenCode Zen<\/a> account and API key<\/li>\n<\/ul>\n\n<p><strong>Settings:<\/strong><\/p>\n\n<p>Go to <strong>Settings &gt; OpenCode Zen<\/strong> to configure:<\/p>\n\n<ul>\n<li><strong>API Key<\/strong> \u2014 your OpenCode Zen API key (or set the <code>OPENCODE_ZEN_API_KEY<\/code> environment variable)<\/li>\n<li><strong>Default Model<\/strong> \u2014 the model used when no explicit model is requested<\/li>\n<li><strong>Temperature<\/strong> \u2014 controls output randomness (0.0\u20132.0, default 1.0)<\/li>\n<li><strong>Max Tokens<\/strong> \u2014 maximum tokens in the generated response (default 2048)<\/li>\n<li><strong>Top P<\/strong> \u2014 nucleus sampling threshold (0.0\u20131.0, default 1.0)<\/li>\n<li><strong>Presence Penalty<\/strong> \u2014 penalises repeated topics (-2.0\u20132.0, default 0.0)<\/li>\n<li><strong>Frequency Penalty<\/strong> \u2014 penalises repeated tokens (-2.0\u20132.0, default 0.0)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the <strong>OpenCode Zen API<\/strong> to:<\/p>\n\n<ol>\n<li>Retrieve the list of available AI models (cached for 1 hour via WordPress transients)<\/li>\n<li>Send text generation requests using your configured AI model<\/li>\n<\/ol>\n\n<p><strong>Service:<\/strong> OpenCode Zen\n<strong>API endpoint:<\/strong> <code>https:\/\/api.opencode.ai<\/code>\n<strong>When data is sent:<\/strong> When generating AI text responses or refreshing the model list\n<strong>Data sent:<\/strong> Your API key (via Authorization header) and the text prompt\/conversation\n<strong>Provider site:<\/strong> <a href=\"https:\/\/opencode.ai\/\">opencode.ai<\/a> \u2014 refer to the OpenCode Zen website for their current Terms of Service and Privacy Policy.<\/p>\n\n<p>No data is sent to the OpenCode Zen API until you enter an API key and a WordPress feature triggers a text generation request.<\/p>\n\n<!--section=installation-->\n<h4>As a WordPress Plugin<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong> in your WordPress admin<\/li>\n<li>Upload the zip and click <strong>Install Now<\/strong><\/li>\n<li>Activate <strong>AI Provider for OpenCode Zen<\/strong><\/li>\n<li>Go to <strong>Settings &gt; OpenCode Zen<\/strong> and enter your API key<\/li>\n<\/ol>\n\n<p><strong>Note:<\/strong> WordPress 7.0 includes the AI Client SDK natively \u2014 no additional AI Client plugin is required. If you are running an older WordPress version, you must install the WordPress AI Client plugin separately first.<\/p>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Upload the <code>alamin-ai-provider-for-opencode-zen<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Follow steps 4\u20135 above<\/li>\n<\/ol>\n\n<h4>As a Composer Package<\/h4>\n\n<pre><code>composer require mralaminahamed\/ai-provider-for-opencode-zen\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20opencode%20zen%3F\"><h3>What is OpenCode Zen?<\/h3><\/dt>\n<dd><p>OpenCode Zen is an AI platform that provides access to various AI models including Claude and GPT models through an OpenAI-compatible API. Learn more at <a href=\"https:\/\/opencode.ai\">opencode.ai<\/a>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20separate%20ai%20client%20plugin%3F\"><h3>Do I need a separate AI Client plugin?<\/h3><\/dt>\n<dd><p>Not on WordPress 7.0 or higher \u2014 the AI Client SDK is built into WordPress core. On older versions you will need the WordPress AI Client plugin.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20an%20api%20key%3F\"><h3>Where do I get an API key?<\/h3><\/dt>\n<dd><p>Sign up at <a href=\"https:\/\/opencode.ai\/zen\/settings\/api-keys\">opencode.ai\/zen\/settings\/api-keys<\/a> and generate an API key.<\/p><\/dd>\n<dt id=\"is%20my%20api%20key%20stored%20securely%3F\"><h3>Is my API key stored securely?<\/h3><\/dt>\n<dd><p>Your API key is stored in the WordPress options table using WordPress's standard options API. For higher security, set the <code>OPENCODE_ZEN_API_KEY<\/code> environment variable on your server instead \u2014 this bypasses the database entirely.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20opencode%20zen%20api%20is%20unreachable%3F\"><h3>What happens if the OpenCode Zen API is unreachable?<\/h3><\/dt>\n<dd><p>The plugin falls back to a hardcoded list of 41 supported models (GPT 5.x, Claude 4.x, Gemini 3.x, and more) so the AI Client continues to function.<\/p><\/dd>\n<dt id=\"what%20generation%20parameters%20are%20supported%3F\"><h3>What generation parameters are supported?<\/h3><\/dt>\n<dd><p>Temperature, max tokens, top P, presence penalty, frequency penalty, stop sequences, system instruction, and function declarations are all declared as supported options.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added Top P, Presence Penalty, and Frequency Penalty settings fields to the admin settings page<\/li>\n<li>Declared full SupportedOptions coverage: temperature, top P, presence penalty, frequency penalty, stop sequences, system instruction, function declarations, and max tokens<\/li>\n<li>Extracted all admin HTML markup to <code>templates\/admin\/<\/code> for cleaner separation of logic and presentation<\/li>\n<li>Renamed plugin class directory from <code>src\/<\/code> to <code>includes\/<\/code> per WordPress plugin conventions<\/li>\n<li>Removed AI Client SDK from Composer production dependencies \u2014 WordPress 7.0+ provides it natively at runtime<\/li>\n<li>Requires at least: updated to reflect WordPress 7.0 native AI Client support<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed connector showing as \"Connected\" before any API key is entered \u2014 provider availability now correctly checks for a configured API key<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added provider logo displayed on the WordPress Connectors page alongside Anthropic, Google, and OpenAI<\/li>\n<li>Fixed false \"no valid connector\" warning on the AI admin page when API key is set via the Connectors page<\/li>\n<li>Expanded test suite from 37 to 48 tests covering all model families, provider logo path, and settings edge cases<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Updated fallback model list from 4 stale models to 41 current models sourced from the OpenCode Zen pricing page (GPT 5.x, Claude Opus\/Sonnet\/Haiku 4.x, Gemini 3.x, Qwen, MiniMax, GLM 5.1, Kimi, Grok, and free-tier models)<\/li>\n<li>Added Domain Path header field to plugin file<\/li>\n<li>Improved plugin file header field ordering and alignment per WordPress.org standard<\/li>\n<li>Added file-level PHPDoc block to plugin bootstrap file<\/li>\n<li>Updated readme.txt documentation to reflect expanded model support<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>OpenCode Zen provider registration with WordPress AI Client<\/li>\n<li>Dynamic model discovery with transient caching and fallback list<\/li>\n<li>Settings page for API key and default model configuration<\/li>\n<li>Support for <code>OPENCODE_ZEN_API_KEY<\/code> environment variable<\/li>\n<\/ul>","raw_excerpt":"OpenCode Zen AI provider for WordPress AI Client. Access 40+ models including GPT 5.x, Claude 4.x, Gemini 3.x, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/303915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=303915"}],"author":[{"embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mralaminahamed"}],"wp:attachment":[{"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=303915"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=303915"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=303915"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=303915"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=303915"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-do.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=303915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}