Skip to content

Repository files navigation

Голосовой агент с Synthflow и Supabase

Проект голосового агента, который автоматически обзванивает номера телефонов из базы данных, предлагает услуги на естественном языке и сохраняет результаты звонков.

Особенности

  • Естественное общение с использованием Synthflow AI
  • Автоматический обзвон номеров из базы данных Supabase
  • Учет часовых поясов и рабочего времени
  • Веб-интерфейс для мониторинга и управления
  • Логирование результатов звонков

Структура проекта

├── app/                    # Основной пакет приложения
│   ├── database/           # Модули для работы с базой данных
│   ├── services/           # Сервисы для внешних API
│   ├── utils/              # Вспомогательные функции
│   ├── web/                # Веб-интерфейс
│   │   ├── routes/         # Маршруты Flask
│   │   ├── static/         # Статические файлы
│   │   └── templates/      # HTML шаблоны
│   ├── __init__.py         # Инициализация приложения
│   └── tasks.py            # Задачи для планировщика
├── app.py                  # Точка входа в приложение
├── requirements.txt        # Зависимости проекта
├── .env.example            # Пример файла с переменными окружения
└── render.yaml             # Конфигурация для деплоя на Render

Установка и запуск

Предварительные требования

  • Python 3.8+
  • Аккаунт Supabase
  • Аккаунт Synthflow AI

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/voice-agent.git
    cd voice-agent
    
  2. Создайте и активируйте виртуальное окружение:

    python -m venv venv
    source venv/bin/activate  # На Windows: venv\Scripts\activate
    
  3. Установите зависимости:

    pip install -r requirements.txt
    
  4. Создайте файл .env на основе .env.example и заполните его своими данными:

    cp .env.example .env
    

Настройка Supabase

  1. Создайте проект в Supabase
  2. Создайте таблицы:
    • phone_numbers с полями:
      • id (integer, primary key)
      • phone_number (text)
      • status (text)
      • timezone (text)
    • call_logs с полями:
      • id (integer, primary key)
      • phone_number_id (integer, foreign key)
      • result (text)
      • notes (text)
      • call_id (text)
      • timestamp (timestamp)

Настройка Synthflow AI

  1. Создайте аккаунт в Synthflow
  2. Настройте сценарий звонка
  3. Получите API ключ и ID потока

Запуск

  1. Запустите приложение:

    python app.py
    
  2. Откройте веб-интерфейс по адресу http://localhost:8000

Деплой на Render

  1. Создайте аккаунт на Render
  2. Подключите репозиторий
  3. Создайте новый веб-сервис, используя настройки из render.yaml
  4. Добавьте переменные окружения из файла .env

Лицензия

MIT

About

Synthflow webhook API integration that handles calls and processes webhooks

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages