{"id":341011,"date":"2026-07-18T22:11:48","date_gmt":"2026-07-18T22:11:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-openai-compatible-servers\/"},"modified":"2026-07-18T22:11:26","modified_gmt":"2026-07-18T22:11:26","slug":"ai-provider-for-openai-compatible-servers","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ai-provider-for-openai-compatible-servers\/","author":7045072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for OpenAI Compatible Servers","header_author":"George Stephanis","header_description":"Run local OpenAI-compatible servers (LM Studio, Ollama, vLLM, etc.) with the WordPress AI Client.","assets_banners_color":"2a7edc","last_updated":"2026-07-18 22:11:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/georgestephanis\/ai-provider-for-openai-compatible-servers","header_author_uri":"https:\/\/georgestephanis.wordpress.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"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":"georgestephanis","date":"2026-07-18 22:11:26"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3613026,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3613026,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3613026,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The OpenAI Compatible connector's setup card on the Connectors settings screen \u2014 base URL, API key, and autodetect\/manual model selection.","2":"A successful connection test with manually specified models, detected models to enable, and the advanced settings (context length, thinking-block toggle, image support, R1 message format, custom headers)."}},"plugin_section":[],"plugin_tags":[2353,226124,258461,226976,194533],"plugin_category":[],"plugin_contributors":[77528],"plugin_business_model":[],"class_list":["post-341011","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-llm","plugin_tags-local-ai","plugin_tags-ollama","plugin_tags-openai","plugin_contributors-georgestephanis","plugin_committers-georgestephanis"],"banners":{"banner":"https:\/\/ps.w.org\/ai-provider-for-openai-compatible-servers\/assets\/banner-772x250.png?rev=3613026","banner_2x":"https:\/\/ps.w.org\/ai-provider-for-openai-compatible-servers\/assets\/banner-1544x500.png?rev=3613026","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ai-provider-for-openai-compatible-servers\/assets\/icon.svg?rev=3613026","icon":"https:\/\/ps.w.org\/ai-provider-for-openai-compatible-servers\/assets\/icon.svg?rev=3613026","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin registers a provider for the WordPress AI Client that talks to any server implementing the OpenAI Chat Completions API \u2014 including Ollama, LM Studio, vLLM, llama.cpp, and LocalAI.<\/p>\n\n<p>Run AI features in WordPress against models on your own hardware. No third-party AI service, no per-token billing, and no content leaving your network.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Connect to any OpenAI-compatible base URL, local or remote (defaults to Ollama's <code>http:\/\/localhost:11434\/v1<\/code>).<\/li>\n<li>Autodetect available models from the server's <code>\/models<\/code> endpoint, or specify models manually.<\/li>\n<li>Setup card on the Connectors settings screen with a one-click connection test.<\/li>\n<li>Best-effort detection of the running backend (Ollama, vLLM, or LM Studio), swapping in the brand's name and icon on the connector card once detected.<\/li>\n<li>Optional API key (bearer token) for servers that require authentication.<\/li>\n<li>Custom HTTP headers for reverse proxies and gateways.<\/li>\n<li>Advanced options for reasoning models: disable thinking blocks, and an R1-style message format that folds the system prompt into the first user message (needed for DeepSeek-R1).<\/li>\n<li>Context length override and a vision\/multimodal support toggle.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>The WordPress AI Client must be available (WordPress 7.0+).<\/li>\n<li>A running OpenAI-compatible inference server reachable from your web server.<\/li>\n<\/ul>\n\n<h3>Developer Hooks<\/h3>\n\n<p>This plugin provides several filters for other plugins to dynamically extend its functionality:<\/p>\n\n<ul>\n<li><strong><code>connectors_ai_openai_compatible_servers_request_data<\/code><\/strong>: Filters the completions request body payload before it is sent to the endpoint. Passed arguments: <code>$data<\/code> (array), <code>$modelId<\/code> (string).<\/li>\n<li><strong><code>connectors_ai_openai_compatible_servers_request_headers<\/code><\/strong>: Filters HTTP headers for all request pathways. Passed arguments: <code>$headers<\/code> (array), <code>$path<\/code> (string), <code>$method<\/code> (string).<\/li>\n<li><strong><code>connectors_ai_openai_compatible_servers_detect_provider<\/code><\/strong>: Adds or overrides detection checks when probing server origins. Passed arguments: <code>$detected_type<\/code> (null|string), <code>$base_url<\/code> (string), <code>$headers<\/code> (array), <code>$probe_args<\/code> (array).<\/li>\n<li><strong><code>connectors_ai_openai_compatible_servers_model_options<\/code><\/strong>: Modifies the <code>SupportedOption<\/code> array for a resolved model. Passed arguments: <code>$options<\/code> (array), <code>$modelId<\/code> (string), <code>$mode<\/code> (string: 'manual' or 'autodetect').<\/li>\n<li><strong><code>connectors_ai_openai_compatible_servers_model_capabilities<\/code><\/strong>: Modifies the <code>CapabilityEnum<\/code> array for a resolved model. Passed arguments: <code>$capabilities<\/code> (array), <code>$modelId<\/code> (string), <code>$mode<\/code> (string: 'manual' or 'autodetect').<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>The Ollama, vLLM, and LM Studio brand icons shown when a server is detected are from\n<a href=\"https:\/\/github.com\/lobehub\/lobe-icons\">LobeHub's lobe-icons<\/a>, used under the MIT license.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to Settings \u2192 Connectors and locate \"OpenAI Compatible\".<\/li>\n<li>Click \"Set up\", enter your server's base URL (including <code>\/v1<\/code>), and an API key if needed.<\/li>\n<li>Click \"Test Credentials\" to verify the connection and detect models, then Save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20servers%20are%20supported%3F\"><h3>Which servers are supported?<\/h3><\/dt>\n<dd><p>Anything that implements the OpenAI-compatible <code>\/v1\/models<\/code> and <code>\/v1\/chat\/completions<\/code> endpoints: Ollama, LM Studio, vLLM, llama.cpp server, LocalAI, and many others.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Only if your server requires one. Local servers like Ollama usually don't; leave the field empty or use a placeholder value.<\/p><\/dd>\n<dt id=\"can%20my%20server%20run%20on%20a%20different%20machine%3F\"><h3>Can my server run on a different machine?<\/h3><\/dt>\n<dd><p>Yes. Enter any base URL reachable from your WordPress host. The plugin allows requests to the configured base URL even when it resolves to a local\/private address.<\/p><\/dd>\n<dt id=\"does%20this%20send%20my%20content%20to%20a%20third%20party%3F\"><h3>Does this send my content to a third party?<\/h3><\/dt>\n<dd><p>No. Requests go only to the server base URL you configure.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Connect local or self-hosted OpenAI-compatible servers (Ollama, LM Studio, vLLM, and more) to the WordPress AI Client.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341011","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=341011"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/georgestephanis"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341011"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341011"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341011"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341011"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341011"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}