diff --git a/custom_components/ha_text_ai/services.yaml b/custom_components/ha_text_ai/services.yaml index eea43fd..f97d82b 100644 --- a/custom_components/ha_text_ai/services.yaml +++ b/custom_components/ha_text_ai/services.yaml @@ -131,12 +131,7 @@ get_history: mode: dropdown set_system_prompt: - name: Set System Prompt - description: >- - Configure the AI's behavior by setting a system prompt. - This affects how the AI interprets and responds to all future questions. - The prompt will persist until changed or cleared. - fields: + fields: prompt: name: System Prompt description: >- @@ -157,14 +152,3 @@ set_system_prompt: text: multiline: true type: text - max_length: 1000 - - clear_prompt: - name: Clear Existing Prompt - description: >- - Set to true to remove the current system prompt before applying the new one. - This ensures no conflicting instructions remain. - required: false - default: false - selector: - boolean: {} diff --git a/custom_components/ha_text_ai/translations/en.json b/custom_components/ha_text_ai/translations/en.json index b64ace3..83740f4 100644 --- a/custom_components/ha_text_ai/translations/en.json +++ b/custom_components/ha_text_ai/translations/en.json @@ -1,36 +1,82 @@ { "config": { - "option": { - "api_key": { - "name": "API Key", - "description": "Your OpenAI API key" - }, - "model": { - "name": "Model", - "description": "AI model to use for responses" - }, - "temperature": { - "name": "Temperature", - "description": "Temperature for response generation (0-2)" - }, - "max_tokens": { - "name": "Max Tokens", - "description": "Maximum tokens in response (1-4096)" - }, - "api_endpoint": { - "name": "API Endpoint", - "description": "API endpoint URL" - }, - "request_interval": { - "name": "Request Interval", - "description": "Minimum time between API requests (seconds)" + "step": { + "user": { + "title": "Set up HA Text AI", + "description": "Configure your OpenAI integration", + "data": { + "api_key": { + "name": "API Key", + "description": "Your OpenAI API key" + }, + "model": { + "name": "Model", + "description": "AI model to use for responses" + }, + "temperature": { + "name": "Temperature", + "description": "Temperature for response generation (0-2)" + }, + "max_tokens": { + "name": "Max Tokens", + "description": "Maximum tokens in response (1-4096)" + }, + "api_endpoint": { + "name": "API Endpoint", + "description": "API endpoint URL" + }, + "request_interval": { + "name": "Request Interval", + "description": "Minimum time between API requests (seconds)" + } + } } } }, "options": { - "temperature": "Temperature", - "max_tokens": "Max Tokens", - "request_interval": "Request Interval" + "step": { + "init": { + "title": "HA Text AI Options", + "data": { + "temperature": { + "name": "Temperature", + "description": "Response temperature (0-2)" + }, + "max_tokens": { + "name": "Max Tokens", + "description": "Maximum response length" + }, + "request_interval": { + "name": "Request Interval", + "description": "Time between requests" + } + } + } + } + }, + "services": { + "ask_question": { + "name": "Ask Question", + "description": "Send a question to the AI model", + "fields": { + "question": { + "name": "Question", + "description": "Your question for the AI" + } + } + }, + "clear_history": { + "name": "Clear History", + "description": "Clear conversation history" + }, + "get_history": { + "name": "Get History", + "description": "Retrieve conversation history" + }, + "set_system_prompt": { + "name": "Set System Prompt", + "description": "Set system behavior instructions" + } }, "error": { "invalid_api_key": "Invalid API key", @@ -51,11 +97,5 @@ "disconnected": "Disconnected", "rate_limited": "Rate limited", "initializing": "Initializing" - }, - "services": { - "ask_question": "Ask Question", - "clear_history": "Clear History", - "get_history": "Get History", - "set_system_prompt": "Set System Prompt" } } diff --git a/custom_components/ha_text_ai/translations/ru.json b/custom_components/ha_text_ai/translations/ru.json index 9876f2d..009bed8 100644 --- a/custom_components/ha_text_ai/translations/ru.json +++ b/custom_components/ha_text_ai/translations/ru.json @@ -1,61 +1,101 @@ { "config": { - "option": { - "api_key": { - "name": "API ключ", - "description": "Ваш API ключ OpenAI" - }, - "model": { - "name": "Модель", - "description": "Модель AI для генерации ответов" - }, - "temperature": { - "name": "Температура", - "description": "Температура для генерации ответов (0-2)" - }, - "max_tokens": { - "name": "Максимальное количество токенов", - "description": "Максимальное количество токенов в ответе (1-4096)" - }, - "api_endpoint": { - "name": "Конечная точка API", - "description": "URL конечной точки API" - }, - "request_interval": { - "name": "Интервал запросов", - "description": "Минимальное время между запросами к API в секундах" + "step": { + "user": { + "title": "Настройка HA Text AI", + "description": "Настройка интеграции с OpenAI", + "data": { + "api_key": { + "name": "API Ключ", + "description": "Ваш ключ API OpenAI" + }, + "model": { + "name": "Модель", + "description": "Модель ИИ для генерации ответов" + }, + "temperature": { + "name": "Температура", + "description": "Температура генерации ответов (0-2)" + }, + "max_tokens": { + "name": "Макс. токенов", + "description": "Максимальное количество токенов в ответе (1-4096)" + }, + "api_endpoint": { + "name": "API Endpoint", + "description": "URL конечной точки API" + }, + "request_interval": { + "name": "Интервал запросов", + "description": "Минимальное время между запросами к API (секунды)" + } + } } } }, "options": { - "temperature": "Температура", - "max_tokens": "Максимальное количество токенов", - "request_interval": "Интервал запросов" + "step": { + "init": { + "title": "Настройки HA Text AI", + "data": { + "temperature": { + "name": "Температура", + "description": "Температура ответов (0-2)" + }, + "max_tokens": { + "name": "Макс. токенов", + "description": "Максимальная длина ответа" + }, + "request_interval": { + "name": "Интервал запросов", + "description": "Время между запросами" + } + } + } + } + }, + "services": { + "ask_question": { + "name": "Задать вопрос", + "description": "Отправить вопрос модели ИИ", + "fields": { + "question": { + "name": "Вопрос", + "description": "Ваш вопрос для ИИ" + } + } + }, + "clear_history": { + "name": "Очистить историю", + "description": "Очистить историю разговора" + }, + "get_history": { + "name": "Получить историю", + "description": "Получить историю разговора" + }, + "set_system_prompt": { + "name": "Установить системный промпт", + "description": "Установить инструкции поведения системы" + } }, "error": { - "invalid_api_key": "Неверный API ключ", + "invalid_api_key": "Недействительный API ключ", "cannot_connect": "Не удается подключиться к API", "unknown_error": "Неизвестная ошибка", - "invalid_model": "Неверная модель", + "invalid_model": "Недопустимая модель", "rate_limit_exceeded": "Превышен лимит запросов", "context_length_exceeded": "Превышена длина контекста", "api_error": "Ошибка API", - "timeout_error": "Время ожидания истекло", - "queue_full": "Очередь полна", - "invalid_prompt": "Неверный запрос" + "timeout_error": "Ошибка тайм-аута", + "queue_full": "Очередь заполнена", + "invalid_prompt": "Недопустимый промпт" }, "state": { - "ready": "Готово", + "ready": "Готов", "processing": "Обработка", "error": "Ошибка", "disconnected": "Отключено", - "rate_limited": "Ограниченный по скорости", + "rate_limited": "Превышен лимит", "initializing": "Инициализация" - }, - "services": { - "ask_question": "Задать вопрос", - "clear_history": "Очистить историю", - "get_history": "Получить историю", - "set_system_prompt": "Установить системный запрос" } } diff --git a/ha_text_ai.zip b/ha_text_ai.zip index d8a1452..285508c 100644 Binary files a/ha_text_ai.zip and b/ha_text_ai.zip differ