guiziweb / sylius-ai-platform-bundle
Sylius admin bundle providing a complete back-office interface for Symfony AI Platform. Configure AI providers, create channel-specific agents with custom prompts and tools, manage credentials for 23+ platforms including OpenAI, Anthropic, Gemini, Mistral, and local models (Ollama, LM Studio).
Installs: 135
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:sylius-plugin
pkg:composer/guiziweb/sylius-ai-platform-bundle
Requires
- php: ^8.2
- sylius/sylius: ^2.0
- symfony/ai-agent: @dev
- symfony/ai-platform: @dev
- symfony/ai-store: @dev
- symfony/framework-bundle: ^7.3
Requires (Dev)
- behat/behat: ^3.16
- dmore/behat-chrome-extension: ^1.4
- dmore/chrome-mink-driver: ^2.9
- friends-of-behat/mink: ^1.11
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-debug-extension: ^2.1
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.1
- friends-of-behat/symfony-extension: ^2.6
- friends-of-behat/variadic-extension: ^1.6
- nyholm/psr7: ^1.8
- phpstan/phpstan: ^1.12
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^10.5
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.4
- sylius-labs/suite-tags-extension: ~0.2
- sylius/sylius-rector: ^2.0
- sylius/test-application: ^2.0.0@alpha
- symfony/browser-kit: ^7.3
- symfony/debug-bundle: ^7.3
- symfony/dotenv: ^7.3
- symfony/http-client: ^7.3
- symfony/intl: ^7.3
- symfony/runtime: ^7.3
- symfony/web-profiler-bundle: ^7.3
- symfony/webpack-encore-bundle: ^2.2
This package is auto-updated.
Last update: 2025-11-21 18:03:42 UTC
README
Sylius admin bundle providing a complete back-office interface for Symfony AI Platform.
Description
The Guiziweb Sylius AI Platform Bundle provides a centralized administration interface for managing AI configurations in your Sylius store. It serves as the foundation for the Guiziweb AI ecosystem, handling API keys, agent configurations, vector store setups, and model selection across all channels.
This bundle acts as the single source of truth for AI configuration - other plugins in the ecosystem reference its configurations rather than storing their own credentials.
Part of the Guiziweb Sylius AI Ecosystem.
Features
- Platform Configuration Management: Centralized AI platform credentials and settings
- Multi-Provider Support: OpenAI, Anthropic, Mistral, Gemini, Ollama, Azure OpenAI, Cerebras, DeepSeek, LM Studio, and more (23+ providers)
- Multiple Configurations Per Provider: Separate dev/prod API keys
- Agent Configuration Management: Channel-specific agent configurations with custom prompts
- Model Selection Per Agent: Dynamic model loading based on platform
- Tool Management: Configurable tool assignments per agent
- Multi-Channel Support: Different AI configurations per Sylius sales channel
- Enable/Disable Controls: Activate/deactivate platforms and agents without deletion
Requirements
| Dependency | Version | Notes |
|---|---|---|
| PHP | 8.2+ | |
| Sylius | 2.0+ | |
| Symfony | 7.3+ | |
| symfony/ai-platform | @dev | Core AI platform |
| symfony/ai-agent | @dev | Agent and tools |
| symfony/ai-store | @dev | Vector stores |
Installation
-
Add Guiziweb Flex recipes endpoint to your
composer.json:{ "extra": { "symfony": { "allow-contrib": true, "endpoint": [ "https://api.github.com/repos/Guiziweb/SyliusRecipes/contents/index.json?ref=flex/main", "https://api.github.com/repos/Sylius/SyliusRecipes/contents/index.json?ref=flex/main", "flex://defaults" ] } } }Note: Set
"minimum-stability": "dev"and"prefer-stable": trueuntil stable release. -
Require the package via Composer:
composer require guiziweb/sylius-ai-platform-bundle
The Symfony Flex recipe will automatically:
- Register the bundle in
config/bundles.php - Create configuration file in
config/packages/guiziweb_sylius_ai_platform.yaml - Create routes file in
config/routes/guiziweb_sylius_ai_platform.yaml
- Register the bundle in
-
Run database migrations:
php bin/console doctrine:migrations:migrate -n
Configuration
Platform Configuration
Platform configurations are global and not tied to specific channels.
Fields:
- Code: Unique identifier (e.g.,
openai_prod,claude_main) - Name: Human-readable name
- Provider: AI platform provider
- API Key: Authentication credentials
- Enabled: Activate/deactivate the platform
Agent Configuration
Agent configurations are channel-specific.
Fields:
- Code: Unique identifier
- Name: Agent name
- Channel: Sylius channel assignment
- Platform Configuration: Reference to platform credentials
- Model: Specific model to use (e.g.,
gpt-4,claude-3-sonnet) - System Prompt: Instructions defining agent behavior
- Tools: Assignable capabilities
- Enabled: Activate/deactivate the agent
Usage
Creating a Platform Configuration
- Navigate to AI Configuration > Platform Configurations in the admin panel
- Click Create
- Fill in the required fields:
- Code:
openai_prod - Name:
OpenAI Production - Provider: Select
OpenAI - API Key: Enter your API key
- Code:
- Save
Creating an Agent Configuration
- Navigate to AI Configuration > Agent Configurations
- Click Create
- Configure the agent:
- Code:
support_bot_en - Name:
Customer Support Bot (EN) - Channel: Select your sales channel
- Platform Configuration: Select
openai_prod - Model: Select
gpt-4(dynamically loaded based on platform) - System Prompt: Define the agent's behavior
- Code:
- Save
Adding Custom Tools
Tools are provided by Symfony AI Platform using the #[AsTool] attribute:
namespace App\AI\Tool; use Symfony\AI\Agent\Toolbox\Attribute\AsTool; #[AsTool(description: 'Search product catalog')] class ProductSearchTool { public function search(string $query): array { // Your implementation } }
Testing
# PHPUnit vendor/bin/phpunit # Behat vendor/bin/behat # Static analysis vendor/bin/phpstan analyse # Coding standards vendor/bin/ecs check
Contributing
Contributions are welcome! Please read our Contributing Guide before submitting a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Related Plugins
- Guiziweb Sylius Shopping Assistant Plugin - AI-powered chat widget for Sylius storefronts
- Guiziweb Sylius Semantic Search Plugin - Vector-based semantic search for Sylius products
License
This project is licensed under the MIT License - see the LICENSE file for details.