feat: Gemini als Provider hinzugefügt (Free-Tier-Modelle hardcodiert)

- OpenAiService: Gemini-Provider mit Base-URL generativelanguage.googleapis.com/v1beta/openai
- GeminiApiKey aus IConfiguration (appsettings.json / appsettings.Production.json)
- Gemini Free-Tier-Modelle hardcodiert: 2.5 Pro, 2.5 Flash, 2.5 Flash Lite
- ModelsEndpoint: /api/models/gemini Endpoint
- Frontend: geminiOptgroup dynamisch befüllt
- ProviderKeys als static HashSet (für ChatService.ResolveModelId)
This commit is contained in:
Meleki committed 2026-03-11 18:41:47 +01:00
1 parent 50e09bbc36
commit e87455ffe9
6 files changed
+45 -15

No files matched your search

+3 -1
View File
@@ -20,6 +20,7 @@ registerPage('agent', {
const modelEl = document.getElementById('agentModel');
const nvidiaOptgroup = document.getElementById('nvidiaOptgroup');
const pollinationsOptgroup = document.getElementById('pollinationsOptgroup');
const geminiOptgroup = document.getElementById('geminiOptgroup');
// Modelle dynamisch laden
const loadProviderModels = async (url, prefix, optgroup) => {
@@ -42,7 +43,8 @@ registerPage('agent', {
await Promise.all([
loadProviderModels('/api/models/nvidia', 'nvidia', nvidiaOptgroup),
loadProviderModels('/api/models/pollinations', 'pollinations', pollinationsOptgroup)
loadProviderModels('/api/models/pollinations', 'pollinations', pollinationsOptgroup),
loadProviderModels('/api/models/gemini', 'gemini', geminiOptgroup)
]);
const allowUserChoiceEl = document.getElementById('agentAllowUserChoice');
const autoCommitEl = document.getElementById('agentAutoCommit');