Capability-based AI provider routing for WordPress 7.0
Works with WordPress 7.0-RC2, tested using WordPress AI. Tested text generation and image generation, using two separate Azure OpenAI deployments (gpt-4.1 for text, gpt-image-1 for images).
Route AI requests to different provider configurations based on capability. Configure multiple instances of the same AI provider (e.g., GPT-4o for text, gpt-image-1 for images) and let AI Router automatically select the right one.
WordPress 7.0's AI Client SDK only allows one configuration per provider type. AI Router solves this by enabling:
- Multiple configurations of the same provider (e.g., separate Azure OpenAI deployments)
- Capability-based routing — text generation to GPT-4, images to DALL-E
- Default fallback — set a default for unmatched capabilities
- Automatic selection — no code changes needed in plugins using the AI SDK
AI Router works with any AI provider registered with the WordPress 7 AI Client SDK. Providers are discovered dynamically at runtime via ProviderDiscovery.
Tested providers:
- OpenAI
- Azure OpenAI
- Anthropic
- Ollama
Other providers (Google AI, Cohere, etc.) will work automatically when installed — no code changes required.
- WordPress 7.0+
- PHP 8.3+
- Underlying AI provider plugin(s) installed (e.g.,
ai-provider-for-openai)
- Download
ai-router.zipfrom Releases - Upload via Plugins → Add New → Upload Plugin
- Activate the plugin
cd wp-content/plugins
git clone https://github.com/soderlind/ai-router.git
cd ai-router
composer install --no-dev
npm install && npm run buildThe plugin includes a GitHub updater — updates are delivered automatically when new releases are published.
- Go to Settings → Connectors in WordPress admin
- In the AI Router section, click Add Configuration
- Select a provider and configure its settings (API key, model, endpoint)
- Assign capabilities to the configuration
- Optionally set one configuration as default
Map specific capabilities to specific configurations:
text_generation → GPT-4 Config
image_generation → DALL-E Config
chat_history → GPT-4 Config
Unmapped capabilities fall back to the default configuration.
See docs/ for detailed routing logic and architecture.
npm install
npm run build # Production build
npm run start # Watch mode# PHP tests (PHPUnit + Brain Monkey)
composer install
composer test
# JavaScript tests (Vitest)
npm run test:js
npm run test:js:watchSee CHANGELOG.md for version history.
GPL-2.0-or-later — see LICENSE for details.