feat: Add ability to edit provider, API key, and endpoint in existing integrations

- Extended OptionsFlowHandler with two-step configuration flow
- Step 1: Select provider (OpenAI, Anthropic, DeepSeek, Gemini)
- Step 2: Configure API key, endpoint, model, and other settings
- Auto-reload integration on options change
- When switching providers, show appropriate default endpoint and model
- Updated translations for all 8 languages
This commit is contained in:
SMKRV
2025-12-30 17:22:48 +03:00
parent 986c78dd90
commit 43cbac2d04
10 changed files with 330 additions and 86 deletions
@@ -74,13 +74,22 @@
"options": {
"step": {
"init": {
"title": "Instanzeinstellungen aktualisieren",
"description": "Ändern Sie die Einstellungen für diese AI-Assistenteninstanz.",
"title": "Anbieter auswählen",
"description": "Wählen Sie den AI-Anbieter für diese Instanz. Die Integration wird nach dem Speichern der Änderungen neu geladen.",
"data": {
"api_provider": "API-Anbieter"
}
},
"settings": {
"title": "Verbindungs- und Modelleinstellungen",
"description": "Konfigurieren Sie API-Anmeldeinformationen und Modellparameter. Änderungen werden nach dem Neuladen der Integration wirksam.",
"data": {
"api_key": "API-Schlüssel",
"api_endpoint": "API-Endpunkt-URL",
"model": "AI-Modell",
"temperature": "Kreativität der Antwort (0-2)",
"max_tokens": "Maximale Länge der Antwort (1-100000)",
"request_interval": "Minimale Anfrageintervall (0,1-60 Sekunden)",
"request_interval": "Minimales Anfrageintervall (0,1-60 Sekunden)",
"api_timeout": "API-Anfrage Timeout in Sekunden (5-600)",
"context_messages": "Anzahl der vorherigen Nachrichten, die im Kontext enthalten sein sollen (1-20)",
"max_history_size": "Maximale Größe des Gesprächsverlaufs (1-100)"
@@ -74,9 +74,18 @@
"options": {
"step": {
"init": {
"title": "Update Instance Settings",
"description": "Modify settings for this AI assistant instance.",
"title": "Select Provider",
"description": "Choose the AI provider for this instance. The integration will reload after saving changes.",
"data": {
"api_provider": "API Provider"
}
},
"settings": {
"title": "Connection & Model Settings",
"description": "Configure API credentials and model parameters. Changes will take effect after the integration reloads.",
"data": {
"api_key": "API Key",
"api_endpoint": "API Endpoint URL",
"model": "AI model",
"temperature": "Response creativity (0-2)",
"max_tokens": "Maximum response length (1-100000)",
@@ -74,9 +74,18 @@
"options": {
"step": {
"init": {
"title": "Actualizar configuración de la instancia",
"description": "Modifica la configuración para esta instancia de asistente de IA.",
"title": "Seleccionar proveedor",
"description": "Elige el proveedor de IA para esta instancia. La integración se recargará después de guardar los cambios.",
"data": {
"api_provider": "Proveedor de API"
}
},
"settings": {
"title": "Configuración de conexión y modelo",
"description": "Configura las credenciales de API y los parámetros del modelo. Los cambios tendrán efecto después de recargar la integración.",
"data": {
"api_key": "Clave API",
"api_endpoint": "URL del endpoint de API",
"model": "Modelo de IA",
"temperature": "Creatividad de la respuesta (0-2)",
"max_tokens": "Longitud máxima de la respuesta (1-100000)",
@@ -65,9 +65,18 @@
"options": {
"step": {
"init": {
"title": "उदाहरण सेटिंग्स अपडेट करें",
"description": "इस एआई सहायक उदाहरण के लिए सेटिंग्स संशोधित करें।",
"title": "प्रदाता चुनें",
"description": "इस उदाहरण के लिए एआई प्रदाता चुनें। परिवर्तन सहेजने के बाद एकीकरण पुनः लोड होगा।",
"data": {
"api_provider": "एपीआई प्रदाता"
}
},
"settings": {
"title": "कनेक्शन और मॉडल सेटिंग्स",
"description": "एपीआई क्रेडेंशियल और मॉडल पैरामीटर कॉन्फ़िगर करें। एकीकरण पुनः लोड होने के बाद परिवर्तन प्रभावी होंगे।",
"data": {
"api_key": "एपीआई कुंजी",
"api_endpoint": "एपीआई एंडपॉइंट यूआरएल",
"model": "एआई मॉडल",
"temperature": "प्रतिक्रिया की रचनात्मकता (0-2)",
"max_tokens": "प्रतिक्रिया की अधिकतम लंबाई (1-100000)",
@@ -74,9 +74,18 @@
"options": {
"step": {
"init": {
"title": "Aggiorna impostazioni dell'istanza",
"description": "Modifica le impostazioni per questa istanza di assistente AI.",
"title": "Seleziona fornitore",
"description": "Scegli il fornitore AI per questa istanza. L'integrazione verrà ricaricata dopo aver salvato le modifiche.",
"data": {
"api_provider": "Fornitore API"
}
},
"settings": {
"title": "Impostazioni di connessione e modello",
"description": "Configura le credenziali API e i parametri del modello. Le modifiche avranno effetto dopo il ricaricamento dell'integrazione.",
"data": {
"api_key": "Chiave API",
"api_endpoint": "URL dell'endpoint API",
"model": "Modello AI",
"temperature": "Creatività della risposta (0-2)",
"max_tokens": "Lunghezza massima della risposta (1-100000)",
@@ -74,9 +74,18 @@
"options": {
"step": {
"init": {
"title": "Обновление настроек экземпляра",
"description": "Измените настройки для этого экземпляра ИИ-помощника.",
"title": "Выбор провайдера",
"description": "Выберите провайдера ИИ для этого экземпляра. Интеграция перезагрузится после сохранения изменений.",
"data": {
"api_provider": "Провайдер API"
}
},
"settings": {
"title": "Настройки подключения и модели",
"description": "Настройте учётные данные API и параметры модели. Изменения вступят в силу после перезагрузки интеграции.",
"data": {
"api_key": "API-ключ",
"api_endpoint": "URL конечной точки API",
"model": "Модель ИИ",
"temperature": "Креативность ответа (0-2)",
"max_tokens": "Максимальная длина ответа (1-100000)",
@@ -65,9 +65,18 @@
"options": {
"step": {
"init": {
"title": "Ажурирајте подешавања инстанце",
"description": "Измените подешавања за ову AI асистент инстанцу.",
"title": "Изаберите провајдера",
"description": "Изаберите AI провајдера за ову инстанцу. Интеграција ће се поново учитати након чувања измена.",
"data": {
"api_provider": "API провајдер"
}
},
"settings": {
"title": "Подешавања везе и модела",
"description": "Конфигуришите API акредитиве и параметре модела. Промене ће ступити на снагу након поновног учитавања интеграције.",
"data": {
"api_key": "API кључ",
"api_endpoint": "URL API крајње тачке",
"model": "AI модел",
"temperature": "Креативност одговора (0-2)",
"max_tokens": "Максимална дужина одговора (1-100000)",
@@ -65,9 +65,18 @@
"options": {
"step": {
"init": {
"title": "更新实例设置",
"description": "修改此AI助手实例的设置。",
"title": "选择提供者",
"description": "选择此实例的AI提供者。保存更改后集成将重新加载。",
"data": {
"api_provider": "API提供者"
}
},
"settings": {
"title": "连接和模型设置",
"description": "配置API凭据和模型参数。更改将在集成重新加载后生效。",
"data": {
"api_key": "API密钥",
"api_endpoint": "API端点URL",
"model": "AI模型",
"temperature": "响应创造力(0-2",
"max_tokens": "最大响应长度(1-100000",