Partner Search System

Чистая система поиска партнёров и клиентов по email · настрой с нуля · работает как на основном сервере
Папка системы: /home/user/partner-search-platform — пустая база, без чужих проектов. Заполни по инструкции в «Настройка с нуля».

Статус

Таймер автоматизации:

Скачать CSV

Настройка с нуля (7 шагов)

  1. Домен. Зарегистрируй DuckDNS или свой домен. A-запись → IP сервера.
  2. Почта. Создай ящик support@ТВОЙ-ДОМЕН в Docker mailserver (как на этом сервере для других сайтов). Проверь, что письма приходят.
  3. automation.yaml — открой файл в папке системы. Замени YOUR_PROJECT_NAME, YOUR_DOMAIN, YOUR_INDUSTRY, поисковые запросы web_search_query. Поставь enabled: true когда всё готово.
  4. API-ключи:
    cd /home/user/partner-search-platform
    cp .env.outreach.example .env.outreach
    nano .env.outreach
    GitHub token (discover), Hunter.io и SerpApi — по желанию, ускоряют поиск email.
  5. Шаблоны писем — папка templates/: services_generic_subject.txt и services_generic_body.txt. Переменные: {{DOMAIN}}, {{FROM_EMAIL}}, {{TO_NAME_OR_COMPANY}}, {{SITE_URL}}.
  6. Запуск автоматизации:
    systemctl --user enable --now partner-search-outreach.timer
    systemctl --user start partner-search-outreach.service
  7. Проверка:
    export OUTREACH_ROOT=/home/user/partner-search-platform
    /home/user/outreach/.venv/bin/python /home/user/outreach/outreach.py status
    tail -f /home/user/partner-search-platform/logs/automation-cron.log

Пример блока project в automation.yaml

projects:
  - name: my-company
    enabled: true
    segment: services
    domain: my-company.duckdns.org
    from_email: support@my-company.duckdns.org
    partner_audience: ru
    partner_industry: construction
    github_query: ""
    github_limit: 0
    web_search_query: "строительная компания партнёрство contact email"
    web_search_queries:
      - "генподрядчик email контакт"
    hunter_domains:
      - example-company.ru

Цикл работы (как на основной системе)

  1. Discover — поиск email: веб-поиск, GitHub API, Hunter.io, SerpApi. Мусор отфильтровывается автоматически.
  2. SQLite — контакты в data/contacts.db, дедупликация по email. Статусы: new → sent → replied.
  3. Send — письма через mailserver (Docker sendmail) по шаблонам из templates/.
  4. Sync — входящие ответы из почты обновляют статус в базе.

Расписание: каждый час в :25 UTC (partner-search-outreach.timer).

Структура папки

partner-search-platform/
├── automation.yaml      ← проекты и поисковые запросы
├── .env.outreach        ← API-ключи (создай из .example)
├── data/contacts.db     ← база контактов (создаётся автоматически)
├── templates/           ← тексты писем
├── logs/                ← логи автоматизации
└── web-panel/           ← эта панель

Контакты

ДоменEmailКомпанияСтатусОтправлено

Входящие письма

ДатаОтТемаДомен

Полезные команды

export OUTREACH_ROOT=/home/user/partner-search-platform

# Статус базы
/home/user/outreach/.venv/bin/python /home/user/outreach/outreach.py status

# Ручной полный цикл (discover + send)
/home/user/partner-search-platform/run-automation-cron.sh

# Экспорт CSV
/home/user/outreach/.venv/bin/python /home/user/outreach/outreach.py export-csv

# Импорт своих лидов из CSV
/home/user/outreach/.venv/bin/python /home/user/outreach/outreach.py db-import-csv --path data/my_leads.csv