Прототип сервиса: принимает входящий SIP-звонок (например, sipnet.ru), распознаёт голос (Google Speech-to-Text), ведёт диалог через ChatGPT и отвечает голосом (Google Text-to-Speech). Управление через веб-админку.
Стек: Go ≥1.22 SIP: прямое подключение из Go (без Asterisk) STT: cloud.google.com/go/speech LLM: OpenAI Chat Completions API TTS: cloud.google.com/go/texttospeech Веб-сервер: gorilla/mux Настройки: JSON-файл
Функционал (MVP) 1 Звонок по SIP: - Приём звонка → приветствие (TTS). - Цикл: речь → STT → ChatGPT → TTS → проигрывание. - Завершение: по ключевой фразе или DTMF #. 2 Сценарий/логика: - Один большой текстовый промпт (в JSON-файле или через админку). - Промпт описывает всё поведение и стиль диалога. 3 Админка: - Редактирование промпта. - Редактирование настроек (API-ключи, SIP-данные, выбор голоса). - Basic-Auth для входа. - Просмотр списка последних звонков. - Логи - Запись в файл: дата, номер, длительность, статус.
Нефункциональные: - Обработка одного звонка одновременно (POC). - Конфиг и промпт хранятся в JSON. - На выходе: бинарный файл для запуска. - Для передачи: весь git-проект (исходники + инструкции).
Критерии приёмки: - Звонок проходит: слышно приветствие, 2–3 обмена репликами, корректное завершение. - Промпт и настройки можно менять через админку или JSON. - В логах фиксируется звонок.