Atomic CRM помогает вести контакты, сделки и задачи в CRM с открытым исходным кодом. Это руководство позволит запустить локальный экземпляр, проверить основной рабочий сценарий и оценить, что потребуется для внедрения в команде.

Сведения сверены с официальным репозиторием и документацией 2026-10-05. Команды проверены по источникам, но в рамках подготовки материала приложение не запускалось.

Что такое Atomic CRM

Atomic CRM — проект Marmelab под лицензией MIT. Интерфейс построен на React, Shadcn Admin Kit и shadcn/ui. Серверная часть использует Supabase: базу PostgreSQL, авторизацию, файловое хранилище, REST API и серверные функции.

Продукт подходит для команды, которой нужны базовые процессы работы с клиентами и возможность изменять приложение под себя. Для глубокой настройки потребуются навыки React, TypeScript и SQL: собственные поля и компоненты добавляются через изменения базы и кода.

Общая схема работы:

  • Интерфейс CRM открывается в браузере.
  • Supabase хранит данные и обслуживает запросы приложения.
  • Внешние системы могут обращаться к данным через API; совместимые ИИ-ассистенты подключаются через MCP.

Основные возможности

ВозможностьЧто вы делаетеПрактический результат
Контакты и компанииВедёте карточки клиентов и организацийДанные собраны в одной системе
СделкиПеремещаете сделки по канбан-доскеВидите этапы воронки продаж
Задачи и заметкиФиксируете следующие действия и контекст общенияСохраняете договорённости рядом с клиентом
Импорт и экспортЗагружаете контакты из CSV и выгружаете контакты или компанииПереносите данные между системами
Входящие письмаДобавляете специальный адрес CRM в копию письмаПереписка сохраняется как заметки после настройки почтового контура
Настройка приложенияМеняете поля, оформление и компонентыАдаптируете CRM под свой процесс
MCPПодключаете совместимого ИИ-ассистентаИщете данные и выполняете доступные действия через диалог

Возможности перечислены в официальном README; импорт и MCP дополнительно описаны в пользовательской документации.

Что подготовить перед запуском

Для локального запуска нужны:

  • Git;
  • Node.js 22 LTS;
  • Make;
  • установленный и запущенный Docker;
  • терминал и браузер;
  • доступ к интернету для загрузки зависимостей и контейнеров.

Текущий README указывает Node.js 22 LTS. В вводной документации указан более широкий диапазон «20 или выше»; для этого руководства выбран вариант из README репозитория.

⚠️
Для первого запуска используйте вымышленные контакты. Не загружайте рабочую клиентскую базу в публичную демонстрацию или непроверенный локальный экземпляр.

Если планируете изменять приложение, сначала создайте свою копию репозитория на GitHub — форк. Он позволит хранить доработки отдельно от исходного проекта.

Локальная установка

1. Скачайте проект

Для ознакомительного запуска можно клонировать официальный репозиторий:

git clone https://github.com/marmelab/atomic-crm.git
cd atomic-crm

Для дальнейшей разработки клонируйте собственный форк, используя адрес из кнопки Code на GitHub. Такой порядок рекомендуют авторы проекта.

2. Установите зависимости

Убедитесь, что Docker запущен, затем выполните:

make install

По README команда устанавливает зависимости клиентской и серверной частей, включая локальный Supabase.

3. Запустите CRM

make start

Команда запускает сервер разработки Vite и локальную инфраструктуру Supabase с PostgreSQL в Docker. Откройте:

http://localhost:5173/

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

4. Добавьте тестовые данные

Создайте несколько вымышленных контактов вручную или импортируйте файл из репозитория:

test-data/contacts.csv

Документация предлагает этот файл для знакомства с приложением. Импорт доступен на стартовом экране и в разделе контактов.

Проверка результата

Минимальный проверочный сценарий:

  1. Создайте контакт «Тестовый клиент».
  2. Добавьте заметку «Обсудили пилотный проект».
  3. Создайте задачу для следующего разговора.
  4. Создайте тестовую сделку.
  5. Переместите её на другой этап канбан-доски.
  6. Обновите страницу и повторно откройте созданные записи.

Наблюдаемый результат: контакт и заметка сохранились, задача отображается в CRM, сделка находится на выбранном этапе после обновления страницы.

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

Для диагностики локального экземпляра доступны следующие адреса:

КомпонентАдресДля чего нужен
CRMhttp://localhost:5173/Работа с интерфейсом
Supabase Studiohttp://localhost:54323/Просмотр базы и настроек
Локальный APIhttp://127.0.0.1:54321/Диагностика серверной части
Тестовая почта Inbuckethttp://localhost:54324/Просмотр локальных служебных писем

Полезные сценарии

Перенос контактов из таблицы

Задача: собрать разрозненные клиентские контакты в одной системе.

Исходные данные: CSV-файл с именами, компаниями и контактной информацией.

Что сделать:

  1. Откройте импорт контактов и скачайте пример ожидаемого CSV.
  2. Приведите названия столбцов к этому образцу.
  3. Подготовьте небольшую тестовую выборку.
  4. Импортируйте её и проверьте несколько карточек.
  5. Только после проверки переносите остальной список.

При импорте компании и теги сопоставляются с существующими записями или создаются, если подходящих записей нет.

Результат: контакты открываются в CRM с корректными адресами и связями с компаниями.

Ограничение: документированный CSV-импорт контактов не означает полного переноса старой CRM. Сделки, история общения, вложения и нестандартные поля требуют отдельного плана миграции.

Контроль следующего действия по клиенту

Задача: после разговора сохранить контекст и запланировать продолжение.

Исходные данные: контакт клиента и договорённость о следующем разговоре.

Что сделать: откройте карточку контакта, добавьте заметку с итогом разговора и создайте задачу с нужным сроком. Если обсуждается продажа, заведите сделку и укажите её текущий этап. Контакты, заметки, задачи и канбан сделок входят в базовые возможности продукта.

Результат: при следующем обращении к клиенту вы видите сохранённый контекст и запланированное действие.

Ограничение: наличие задач и напоминаний не подтверждает конкретный канал доставки уведомлений. Проверьте нужное поведение в своём экземпляре до внедрения процесса в команде.

Подключение ИИ-ассистента через MCP

MCP — протокол, через который ИИ-ассистент получает доступ к инструментам внешней системы. Atomic CRM документирует MCP-сервер на базе Supabase Edge Functions и OAuth — авторизации через вход в аккаунт и выдачу разрешения.

Чтобы получить адрес подключения:

  1. Войдите в свой экземпляр Atomic CRM.
  2. Нажмите на изображение профиля в правом верхнем углу.
  3. Откройте Profile.
  4. Найдите раздел MCP Server.
  5. Скопируйте URL из этого раздела.

Не составляйте адрес самостоятельно: используйте значение, которое показывает ваш экземпляр.

В совместимом клиенте добавьте удалённый MCP-сервер и пройдите авторизацию. Например, документация приводит для Claude Code такой формат команды:

claude mcp add atomic-crm --transport http "YOUR_MCP_SERVER_URL"

Замените YOUR_MCP_SERVER_URL скопированным адресом. Затем откройте Claude Code, выполните /mcp и авторизуйте сервер atomic-crm.

Начните с запроса на чтение.

Промпт:

Найди контакт «Тестовый клиент» в Atomic CRM и покажи связанные с ним задачи. Ничего не создавай, не изменяй и не удаляй. Если найдено несколько совпадений, попроси меня выбрать нужный контакт.

Проверка: ассистент возвращает именно тестовую запись и задачи, которые вы видите в интерфейсе CRM.

Документация также описывает создание контактов и изменение статусов сделок через MCP. Доступность действий проверяйте в своей версии и выбранном клиенте.

⚠️
Просьба «ничего не изменять» в промпте не заменяет технические ограничения доступа. Первые проверки проводите на тестовых данных; операции записи проверяйте отдельно, с понятным подтверждением и последующим просмотром результата в CRM.

Размещение рабочей версии

Локальный запуск предназначен для знакомства и разработки. Для командной работы потребуется разместить серверную часть и интерфейс.

Официальная документация описывает вариант с Supabase Cloud для серверной части и статическим хостингом для интерфейса. Допускается самостоятельное размещение Supabase.

Базовый порядок:

  1. Создайте отдельный проект Supabase для CRM.
  2. Настройте серверную часть по официальной инструкции. В репозитории предусмотрена команда make supabase-remote-init.
  3. Настройте отправку служебных писем через SMTP.
  4. Укажите адрес обратного перехода после авторизации по инструкции Supabase Configuration.
  5. Соберите интерфейс командой make build.
  6. Разместите каталог dist на выбранном статическом хостинге.
  7. Создайте первого администратора и повторите проверочный сценарий.

SMTP нужен для приглашений, восстановления пароля и стандартной авторизации по почте и паролю. Его настройка не равна подключению входящих клиентских писем: для функции Inbound Email документация отдельно описывает Postmark.

⚠️
Команда make prod-start применяет миграции и развёртывает серверные функции. Это проверка с изменением удалённой среды. Перед запуском убедитесь, что выбран правильный проект Supabase и предусмотрена резервная копия.

Настройка и обновления

Начальная точка настройки интерфейса — файл src/App.tsx и компонент <CRM>. Через его параметры можно менять, например, название приложения, типы задач и категории сделок.

Добавление собственного поля затрагивает несколько частей:

  • столбец в PostgreSQL;
  • представления базы, если они используются для этой сущности;
  • типы TypeScript;
  • форму ввода и отображение поля;
  • миграцию для переноса изменений в другую среду.

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

README предлагает обновлять компоненты через shadcn registry. Указанный там флаг -o перезаписывает изменённые файлы, поэтому перед обновлением сохраните собственные доработки в Git и проверьте разницу после обновления.

Ограничения и модель затрат

Лицензия MIT позволяет использовать и изменять код при соблюдении её условий. Расходы на инфраструктуру, почтовый сервис и сопровождение остаются у команды.

Перед внедрением проверьте:

  • нужные роли и ограничения доступа;
  • резервное копирование базы и вложений;
  • отправку приглашений и восстановление пароля;
  • необходимые интеграции;
  • стоимость выбранной инфраструктуры;
  • порядок обновления собственного форка.

Atomic CRM имеет смысл рассматривать, если базовая модель контактов и сделок подходит вашему процессу, а команда готова сопровождать приложение. Если требуется готовая система без разработки и эксплуатации, эти обязанности нужно учитывать уже при выборе.

Официальные ссылки

Следующий шаг

Supabase — открытая платформа на базе PostgreSQL — разберитесь с платформой, на которой работает серверная часть Atomic CRM.

Перед внедрением собственной CRM полезно проверить модель данных и определить, кто будет отвечать за сопровождение. Это особенно актуально, если вы планируете подключать ИИ к клиентской базе.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov