FriendsOfREDAXO / FriendsOfREDAXO/ai_platform

Erweiterungspunkt für eigene Provider (AI_PLATFORM_PROVIDERS)

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
4
Forks
0
Avg merge
4d 14h
Merged PRs (30d)
5

Description

## Kontext

Beim Bauen eines neuen "OpenAI-kompatibel"-Providers (eigene Basis-URL, für selbstgehostete Server wie Open WebUI/LiteLLM/vLLM/LM Studio, siehe zugehöriger PR) ist aufgefallen: `Service::getProviders()` und `Service::getPlatform()` sind feste `match`-Statements ohne Erweiterungspunkt. Ein Drittanbieter-Addon kann aktuell keinen eigenen Provider registrieren, ohne `lib/Service.php` direkt zu patchen.

Andere Stellen in ai_platform sind dagegen schon bewusst erweiterbar gebaut – `AI_PLATFORM_MCP_TOOLS` für MCP-Tools, `AI_PLATFORM_OAUTH_SCOPES` für OAuth-Scopes. Für Provider fehlt das Äquivalent.

## Vorschlag

Ein neuer `rex_extension`-Erweiterungspunkt, z.B. `AI_PLATFORM_PROVIDERS`, den `getProviders()`/`getPlatform()`/`getModelSuggestions()` zusätzlich zu den fest eingebauten Providern auswerten. Ein Addon würde dann z.B. so registrieren:

```php
rex_extension::register('AI_PLATFORM_PROVIDERS', function (rex_extension_point $ep) {
$providers = $ep->getSubject();
$providers['mein_provider'] = [
'label' => 'Mein Provider',
'factory' => MyAddon\MyPlatformFactory::class, // liefert eine Symfony\AI\Platform\Platform
];
return $providers;
});
```

Vorbild für dieses Muster: `MEDIAPLACE_STORAGE_PROVIDERS` im `mediaplace`-Addon (gleiche Grundidee: Label + Rechte-Check + Factory-Klasse, Registry-Klasse filtert nach `getAvailableProviders()`).

## Nicht dringend

Der generische "OpenAI-kompatibel"-Provider selbst braucht diesen Erweiterungspunkt nicht – der ist breit genug einsetzbar, um fest in ai_platform eingebaut zu bleiben. Der Erweiterungspunkt wäre für speziellere/proprietäre Provider interessant, die einzelne Addons selbst mitbringen wollen, ohne einen PR gegen ai_platform zu brauchen.

🤖 Filed via [Claude Code](https://claude.com/claude-code)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in lib/Service.php by reading Service::getProviders(), Service::getPlatform(), and Service::getModelSuggestions(), then compare the existing AI_PLATFORM_MCP_TOOLS and AI_PLATFORM_OAUTH_SCOPES extension points. Review MEDIAPLACE_STORAGE_PROVIDERS in the mediaplace addon for the registry pattern. Done means third-party addons can register provider labels and factories without patching ai_platform, while built-in providers remain available.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, symfony
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.