Закрытый репозиторий · бесплатно
Своя CRM вместо amoCRM
Мы в Hegai ушли с amoCRM на свою CRM. Теперь отдаю её друзьям, которые хотят сделать то же самое. Код, база и клиенты лежат на твоём сервере. Внутри импорт из amoCRM и ИИ-агенты, которые готовят работу менеджеру.
Заходишь через GitHub и пишешь пару строк о себе. Я смотрю заявку и открываю репозиторий на чтение.
Что внутри
Обычная CRM для отдела продаж
Работает с телефона и компьютера. Хватит сервера на 1–2 ГБ памяти.
- Контакты и компании. Поиск, теги, свои поля, дубли и склейка.
- Сделки и воронки. Сколько угодно воронок со своими этапами, цветами и причинами отказа.
- Задачи. Сегодня, просроченные, по менеджерам.
- Звонки и встречи. Расшифровки привязаны к контакту и сделке.
- Сводка. Воронка, динамика, выручка и разбивка по менеджерам.
- Команда. Приглашения по ссылке, роли администратора и менеджера.
- Выгрузка. CSV и обычный дамп Postgres. Данные можно забрать в любой момент.
Переезд
Модуль импорта из amoCRM
Мы сами переезжали с amoCRM в этом году. В первый проход потеряли 451 контакт и 9 сделок, а тысячи задач приехали с заглушками вместо текста. Этот модуль я написал с учётом всех этих ошибок.
- Подключаешь аккаунт. Долгосрочный токен amoCRM вставляешь в мастер импорта. Проверка покажет объёмы и поля, которые нужно сопоставить.
- Забираешь всё заранее. Воронки, этапы, контакты, компании, сделки, задачи, примечания, поля, теги, пользователи. Если связь оборвётся, импорт продолжится с той же страницы.
- Сверяешь отчёт. По каждой сущности видно, сколько получено, перенесено и пропущено, и почему. Записи не пропадают молча.
- В день переключения догоняешь. Повторный запуск заберёт только то, что менялось с прошлого раза, и не создаст дублей.
Что не переедет
Переписка в чатах: публичный API amoCRM её не отдаёт. Записи звонков: переносится ссылка, а сам файл нужно скачать, пока жив аккаунт. Файлы-вложения и автоматика вроде Salesbot тоже остаются там. Отчёт импорта напоминает об этом.
Важно. Этот модуль я пока проверил только на эмуляторе API, собранном по документации amoCRM. На живом аккаунте он ещё не работал. Запускай заранее и сверяй отчёт, пока вся работа идёт в amoCRM.
ИИ-агенты
Агенты готовят, менеджер решает
Прочитать сайт клиента, вспомнить, о чём говорили, написать первое сообщение, заметить зависшую сделку. Всё это можно отдать агентам. Похожие агенты каждый день работают у нас в продажах.
Выключены по умолчанию
Включаешь нужных по одному, после подключения модели.
Модель выбираешь ты
Подойдёт любой OpenAI-совместимый API. Данные уходят только этому провайдеру.
Клиентам не пишут
Отправки в системе нет. Сообщение становится черновиком, менеджер правит его и отправляет сам.
Цитаты проверяет код
Вывод из звонка идёт с дословной цитатой. Если такой цитаты нет в расшифровке, вывод отбрасывается.
Досье
На новую заявку читает открытые страницы сайта компании и собирает в карточку: кто это, чем занимается, о чём спросить на звонке. Если ничего не нашёл, так и пишет.
Первое касание
Пишет черновик первого сообщения новому лиду: на основе его запроса, досье и описания твоего продукта.
Дожим
Находит сделки без движения и без открытых задач. Ставит ответственному задачу и готовит черновик по следам последних разговоров.
После звонка
По расшифровке пишет итог в карточку, предлагает задачи со сроками и готовит сообщение клиенту. Задачи появляются, когда их принял человек.
Детектор сделок
Ищет в заметках и звонках сигнал покупки. Дешёвый фильтр по словам, затем модель. Предлагает завести сделку, если у контакта её нет.
Сводка дня
Раз в день присылает в Telegram просроченные задачи, новых лидов и зависшие сделки по менеджерам. Цифры считает база, модель к ним не прикасается.
Авторисёрч заявок
Отдельная связка рядом с шестью агентами. Claude Code берёт новые заявки, сам ищет человека и компанию в открытых источниках и кладёт в карточку досье, где у каждого факта есть ссылка. Не нашёл, так и пишет. Лиду ничего не отправляет. Пока ты не поставишь её в cron, она выключена.
Статус. У меня такой цикл работает на реальных заявках, запускается раз в 20 минут. Обобщённая версия из репозитория проверена только на вымышленных данных. Данные из заявки уходят в поиск и модели, и за их обработку отвечаешь ты как оператор.
Важно. Промпты лежат обычными файлами Markdown, их можно менять под свой продукт. Я прогнал всех шестерых на настоящей модели, но на выдуманных данных компании. На реальной клиентской базе эта версия ещё не работала, так что начни с одного агента и посмотри на его черновики.
Установка
Пять команд
Нужен сервер с Docker, 1–2 ГБ памяти и домен, если хочешь HTTPS: сертификат выпустит Caddy. Последняя команда покажет ссылку на создание владельца.
CRM можно дорабатывать под себя через Claude Code или Codex, инструкция для агентов лежит в репозитории.
# после того как открыли доступ
git clone git@github.com:hegai-code/hegai-crm.git
cd hegai-crm
./init.sh crm.example.com
docker compose --profile tls up -d
./scripts/setup-link.sh
Чего здесь нет
Что я не делал
Посмотри этот список до переезда. Если на чём-то из него держатся твои продажи, пока лучше остаться в amoCRM.
- Чаты и мессенджеры. Единого окна с WhatsApp и Telegram нет.
- Телефония. Звонилки нет. Расшифровку можно вставить или привязать вручную.
- Автоматические воронки. Salesbot и триггеров нет, есть агенты из раздела выше.
- Почта. Письма не синхронизируются, приглашения команде передаются ссылкой.
- Мобильное приложение. Только веб, он работает на телефоне.
Условия
Бесплатно, для своей компании
Можно ставить сколько нужно, дорабатывать и звать подрядчиков. Нельзя перепродавать, размещать для других компаний и передавать код дальше.
Хочешь посмотреть код?
Заявка занимает минуту. Когда я её одобрю, GitHub пришлёт приглашение в репозиторий.
Запросить доступ через GitHub