Задание: Прикладной программист. Разработка C# приложения с голосовым вводом для управления ОС Windows (Дистанционная работа)
Ранее код был написан на Python: вот демонстрация работы по ссылке на ютуб
https://www.youtube.com/watch?v=LATeSdsjmWA
Код прикреплю
ТЗ сырое надо дорабатывать. Нужна встреча
Техническое задание (ТЗ)
1. Общее описание проекта
Разработать приложение на C# с расширением .exe, которое позволяет пользователю запускать установленные программы, генерировать Python-код для выполнения определенных команд и выполнять его. Также предоставить возможность голосового ввода.
2. Функциональные требования
Инициализация базы данных программ:
Приложение должно сканировать ключевые директории Windows (например, C:\Program Files, C:\Program Files (x86), C:\Users\) для обнаружения установленных программ и сохранять их в базе данных.
База данных должна храниться в формате JSON.
Голосовой ввод:
Реализовать возможность ввода команд с помощью голосового распознавания. Использовать библиотеку для распознавания речи, такую как System.Speech или сторонние библиотеки.
Приложение должно быть способно распознавать команды на русском языке.
Поиск и запуск программ:
Пользователь может говорить название программы, которую хочет запустить.
Приложение должно использовать семантический анализ (например, с помощью встроенных алгоритмов или библиотек) для сопоставления введенного названия с названиями в базе данных.
Если программа найдена, она должна быть запущена.
Генерация кода:
Приложение должно генерировать Python-код по введенной команде пользователя.
Для выполнения команды следует отправить HTTP-запрос к внешнему API для генерации кода (можно использовать аналогичные как в Python).
Ответ API (сгенерированный код) должен сохраняться и выполняться через механизм выполнения кода в C# (например, через IronPython или другой интерпретатор, поддерживающий выполнение Python-кода).
Создание и обработка скриншотов:
Предусмотреть возможность создания скриншота экрана и сохранения его в формате PNG.
Реализовать извлечение текста из скриншотов с помощью Tesseract OCR, интегрированного в C#.
Презентация и интерфейс пользователя:
Создать графический интерфейс (GUI) с использованием Windows Forms или WPF.
Интерфейс должен быть интуитивно понятен, с большими кнопками для начала голосового ввода и других действий.
Отображение статусов выполнения, ошибок и сообщений пользователю.
Обработка ошибок:
Полное логирование действий приложения и обработки ошибок для упрощения отладки.
3. Технические требования
Язык программирования: C#
Платформа: .NET Framework или .NET Core
Библиотеки:
System.Speech для голосового ввода
Newtonsoft.Json для работы с JSON
Tesseract для OCR
IronPython для выполнения Python-кода (опционально)
4. Улучшения и дополнительные функции (рекомендуется)
Интеграция с системой: Добавить модули для упрощения интеграции с Windows API, чтобы улучшить поиск программ и управление ими.
Поддержка дополнительных языков: Реализовать возможность выбора языка для интерфейса и голосового ввода.
Пользовательские настройки: Предоставить возможность пользователю настраивать параметры (например, порог схожести для запуска приложений).
История выполнения команд: Хранить историю выполненных команд и выданных ответов, чтобы пользователь мог к ним возвращаться.
Тестирование и отладка: Обязательно провести тестирование программы для выявления и устранения багов, а также для проверки всей функциональности.