> ## Documentation Index
> Fetch the complete documentation index at: https://omniflow-vpn.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Omniflow

> Что такое Omniflow, кому служит каждая из его четырёх поверхностей и где документирована каждая возможность

Omniflow — это платформа с открытым исходным кодом для коммерции, поддержки и маркетинга VPN-сервиса,
который уже работает на [Remnawave](https://omniflow-vpn.mintlify.site/ru/integrations/remnawave.md). Remnawave остаётся источником истины по
VPN-пользователям, трафику, устройствам, ссылкам доступа, нодам, отрядам и состоянию Xray. Omniflow владеет
всем, что нужно бизнесу вокруг этого: идентичностью клиента, версионируемым каталогом, заказами, платежами,
кошельком с двойной записью, правами на услуги, надёжной выдачей доступа, поддержкой, рассылками, реферальной
программой, лояльностью, контролем доступа операторов и журналом аудита, работающим только на добавление. Он
никогда не подключается к базе данных Remnawave и никогда не управляет процессом Xray.

Это один модуль Go с тремя точками входа — `api`, `bot` и `worker`, — разделяющими одну базу данных PostgreSQL
и один экземпляр Valkey, плюс одно приложение Next.js, обслуживающее и клиентский аккаунт, и рабочее место
оператора. Разделение сделано ради изоляции сбоев, а не ради масштаба: пакет из четырёхсот изменений подписок
не должен быть привязан к времени жизни HTTP-запроса, который его начал, а автоматические продления —
единственное место, где деньги двигаются без наблюдателя, — выполняются там, где ни один запрос не может их
отменить.

## Кому предназначена каждая поверхность

| Поверхность | Кто пользуется | Где живёт | Как аутентифицируется вызывающий |
| - | - | - | - |
| Telegram-бот | Клиент | Личный чат с вашим ботом | Аккаунт Telegram, стоящий за апдейтом |
| Клиентская веб-панель | Клиент | `/account`, за ней `/v1/account` | Cookie сессии плюс CSRF-токен |
| Панель оператора | Оператор | `/admin`, за ней `/v1/panel` | Cookie сессии, CSRF, TOTP или passkey и 27 прав доступа RBAC |
| API с токеном Bearer | Ваш собственный код и инструменты `/ops` в боте | `/v1/admin` | `Authorization: Bearer <APP_OPERATOR_TOKEN>` |

Три префикса `/v1` намеренно держатся порознь. `/v1/panel` — браузерная поверхность и поэтому несёт проверки
cookie, CSRF и прав доступа; `/v1/admin` — машинная поверхность с одним долгоживущим токеном и без cookie;
`/v1/account` принадлежит клиенту и никогда не может дотянуться до операторского маршрута. Ещё два маршрута
публичны по необходимости: `GET /v1/catalog/plans` и `POST /v1/payments/webhooks/{provider}`, чья подлинность
обеспечивается подписью провайдера, а не учётными данными на самом маршруте.

Клиент не выбирает между чатом и браузером. Это один продукт с двумя поверхностями: корзина, начатая в чате, —
это та же корзина, которую показывает браузер, а ответ поддержки, прочитанный в вебе, перестаёт быть
непрочитанным в Telegram.

## Начните отсюда

> **[Быстрый старт](https://omniflow-vpn.mintlify.site/ru/getting-started/quickstart.md)**
>
> Поднимите стек Compose, погасите одноразовый токен настройки, создайте первого владельца и убедитесь, что
> установка здорова.

> **[Ваша первая продажа](https://omniflow-vpn.mintlify.site/ru/getting-started/first-sale.md)**
>
> От пустой установки до оплаченной подписки: тариф, версия с ценой, платёжный провайдер, бот и тестовая
> покупка.

> **[Справочник конфигурации](https://omniflow-vpn.mintlify.site/ru/getting-started/configuration.md)**
>
> Каждая переменная окружения, её значение по умолчанию, какой процесс её читает и что она меняет.

> **[Сравнение](https://omniflow-vpn.mintlify.site/ru/comparison.md)**
>
> Чем Omniflow отличается от Bedolaga и RemnaCore.

## Что может клиент

> **[Telegram-бот](https://omniflow-vpn.mintlify.site/ru/customer/telegram-bot.md)**
>
> Каждая команда, экран и сценарий: тарифы, оформление заказа, заказы, кошелёк, магазин, подарки, поддержка и
> настройки, на русском и английском.

> **[Веб-панель](https://omniflow-vpn.mintlify.site/ru/customer/web-panel.md)**
>
> Вход, дашборд, оформление заказа, магазин, поддержка, реферальная программа и собственные данные клиента на
> `/account`.

> **[Подключение устройства](https://omniflow-vpn.mintlify.site/ru/customer/connection.md)**
>
> Инструкции по платформам, диплинки клиентов, QR-код, список устройств и ротация ссылки.

> **[Уведомления и согласия](https://omniflow-vpn.mintlify.site/ru/customer/notifications.md)**
>
> Классы уведомлений, маркетинговое согласие, тихие часы, ограничения частоты и лента новостей.

> **[Приватность](https://omniflow-vpn.mintlify.site/ru/customer/privacy.md)**
>
> Что клиент может экспортировать, как запрашивается удаление и чего Omniflow никогда не показывает и не
> хранит.

## Продажи и деньги

> **[Каталог и промоакции](https://omniflow-vpn.mintlify.site/ru/commerce/catalog-promotions.md)**
>
> Тарифы, неизменяемые версии с ценами, локализация, публикация, пробные периоды, промокоды и персональные
> предложения.

> **[Дополнения и конфигуратор](https://omniflow-vpn.mintlify.site/ru/commerce/addons-configurator.md)**
>
> Дополнительный трафик, слоты устройств и отряды — при оформлении заказа и в середине периода.

> **[Подписки](https://omniflow-vpn.mintlify.site/ru/commerce/subscriptions.md)**
>
> Права на услуги, одновременность, арифметика повышения и понижения тарифа, льготный период, окончание и
> восстановление.

> **[Заказы и платежи](https://omniflow-vpn.mintlify.site/ru/commerce/orders-payments.md)**
>
> Машина состояний заказа, передача провайдеру, идемпотентность вебхуков, классификации и возвраты.

> **[Кошелёк и книга проводок](https://omniflow-vpn.mintlify.site/ru/commerce/wallet-ledger.md)**
>
> Модель двойной записи, типы счетов, сгорающие бонусы и корректировки оператора.

> **[Пополнение и сохранённые корзины](https://omniflow-vpn.mintlify.site/ru/commerce/wallet-topup-cart.md)**
>
> Пополнение по инициативе клиента, его лимиты и скользящее окно, а также корзина, которая переоценивается
> перед покупкой.

> **[Автоматическое продление](https://omniflow-vpn.mintlify.site/ru/commerce/recurring-payments.md)**
>
> Сохранённые способы оплаты, запись согласия, расписание напоминаний о долге и неудачные списания.

> **[Выдача доступа](https://omniflow-vpn.mintlify.site/ru/commerce/fulfillment.md)**
>
> Выдача доступа в Remnawave: операции, ключи идемпотентности, повторы, расхождения и сверка.

> **[Подарки и цифровые товары](https://omniflow-vpn.mintlify.site/ru/commerce/gifts-and-goods.md)**
>
> Покупка для другого человека и продажа Telegram Premium и Telegram Stars рядом с доступом к VPN.

> **[Рассылки](https://omniflow-vpn.mintlify.site/ru/commerce/campaigns.md)**
>
> Сегменты аудитории, определение которых показано рядом с их живым размером, и отправки, честно сообщающие о
> блокировках.

> **[Реферальная программа и лояльность](https://omniflow-vpn.mintlify.site/ru/commerce/referrals-loyalty.md)**
>
> Атрибуция, квалификация, вознаграждения, выдаваемые ровно один раз, и вычисление уровней.

> **[Коммуникация в реферальной программе](https://omniflow-vpn.mintlify.site/ru/commerce/referrals-communication.md)**
>
> Что сообщают пригласившему, что сообщают приглашённому и чего ни одному из них не показывают о другом.

> **[Клиенты и импорт](https://omniflow-vpn.mintlify.site/ru/commerce/customers-imports.md)**
>
> Конвейер импорта из Remnawave — предпросмотр, применение, возобновление — и экспорт в CSV.

> **[Финансовые инварианты](https://omniflow-vpn.mintlify.site/ru/commerce/financial-invariants.md)**
>
> Ограничения, которые обеспечивает схема, чтобы деньги нельзя было создать, потерять или посчитать дважды.

## Интеграции

> **[Remnawave](https://omniflow-vpn.mintlify.site/ru/integrations/remnawave.md)**
>
> Адаптер, зафиксированная версия API, каждый вызов, который делает Omniflow, здоровье и расхождения.

> **[Платёжные провайдеры](https://omniflow-vpn.mintlify.site/ru/integrations/payments.md)**
>
> Telegram Stars, CryptoBot, YooKassa и ручное подтверждение — что каждый из них проводит и чего каждый не
> умеет.

> **[Telegram](https://omniflow-vpn.mintlify.site/ru/integrations/telegram.md)**
>
> BotFather, long polling против вебхука, домен Mini App и операторская группа.

> **[OIDC](https://omniflow-vpn.mintlify.site/ru/integrations/oidc.md)**
>
> Единый вход для операторов и провайдеры входа для клиентов.

> **[Административный API](https://omniflow-vpn.mintlify.site/ru/integrations/api.md)**
>
> Интеграция с `/v1/admin`: токен, ключи идемпотентности, курсоры, problem-документы, идентификаторы запросов
> и ограничения частоты запросов.

> **[Политика расширения](https://omniflow-vpn.mintlify.site/ru/integrations/extending.md)**
>
> Какие поверхности публичны и стабильны, что расширяется одной лишь конфигурацией и что расширять
> намеренно нельзя.

## Эксплуатация

> **[Развёртывание](https://omniflow-vpn.mintlify.site/ru/operations/deployment.md)**
>
> Топология Compose, тома, теги образов, миграции, обновления и откат.

> **[Совместимость и обновления](https://omniflow-vpn.mintlify.site/ru/operations/compatibility.md)**
>
> Поддерживаемая матрица версий, подписанные образы, окно обновления и политика устаревания.

> **[Обратный прокси](https://omniflow-vpn.mintlify.site/ru/operations/reverse-proxy.md)**
>
> Примеры для Caddy и Traefik, TLS, ограничения размера тела и то, как держать служебные эндпоинты вне
> публичного хоста.

> **[Панель администратора](https://omniflow-vpn.mintlify.site/ru/operations/admin-panel.md)**
>
> Рабочее место оператора экран за экраном, каталог прав доступа и шесть встроенных ролей.

> **[Операции администратора](https://omniflow-vpn.mintlify.site/ru/operations/admin-operations.md)**
>
> Ежедневные регламенты, которые оператор выполняет из панели.

> **[Настройки установки](https://omniflow-vpn.mintlify.site/ru/operations/installation-settings.md)**
>
> Что хранят экраны настроек и что из этого действительно применяется во время работы.

> **[Служба поддержки](https://omniflow-vpn.mintlify.site/ru/operations/support-desk.md)**
>
> Очереди, назначение, приоритет, теги, внутренние заметки, шаблоны ответов, объединение и отчёт по нагрузке.

> **[Обязательные каналы](https://omniflow-vpn.mintlify.site/ru/operations/required-channels.md)**
>
> Требование подписки на канал Telegram до завершения покупки.

> **[Контроль рисков](https://omniflow-vpn.mintlify.site/ru/operations/risk-controls.md)**
>
> Источники блок-листов, хранимые как солёные хеши, правила аномалий и решения, которые всегда принимает
> человек.

> **[Наблюдаемость](https://omniflow-vpn.mintlify.site/ru/operations/observability.md)**
>
> Пробы, метрики, которые действительно пишутся, структурированные логи и сокрытие секретов.

> **[Режим обслуживания](https://omniflow-vpn.mintlify.site/ru/operations/maintenance-mode.md)**
>
> Блокировка новых покупок и удержание выдачи доступа без вмешательства в уже принятые деньги.

> **[Задания и очереди](https://omniflow-vpn.mintlify.site/ru/operations/jobs-and-queues.md)**
>
> Надёжная очередь, виды заданий, мёртвые письма, повторы, периодические проходы и очистки по срокам хранения.

> **[Операторские уведомления](https://omniflow-vpn.mintlify.site/ru/operations/operator-notifications.md)**
>
> Группа Telegram, одна тема форума на вид события и почему каждое уведомление не содержит содержимого.

> **[Резервное копирование и восстановление](https://omniflow-vpn.mintlify.site/ru/operations/backup-restore.md)**
>
> Зашифрованный вывод `pg_dump`, проверка при каждой резервной копии, восстановление и отдельный фильтр
> расшифровки.

> **[Безопасность](https://omniflow-vpn.mintlify.site/ru/operations/security.md)**
>
> Учётные данные, сессии, секреты, транспорт, ограничения частоты запросов и границы приватности.

> **[Диагностика неполадок](https://omniflow-vpn.mintlify.site/ru/operations/troubleshooting.md)**
>
> Симптомы, куда смотреть в первую очередь и что означает каждая классификация.

> **[Анонимная телеметрия](https://omniflow-vpn.mintlify.site/ru/operations/telemetry.md)**
>
> Точная отправляемая полезная нагрузка, как её осмотреть и как её отключить.

> **[Приватность](https://omniflow-vpn.mintlify.site/ru/operations/privacy.md)**
>
> Что хранит Omniflow, зачем, как долго, и где документированное хранение пока не обеспечивается.

> **[Надёжность и эксплуатация](https://omniflow-vpn.mintlify.site/ru/operations/reliability.md)**
>
> Индикаторы уровня обслуживания, импортируемые дашборды и оповещения, что ограничено и сверяется, плавная деградация и рекомендации по ёмкости.

> **[Приватность и ИИ](https://omniflow-vpn.mintlify.site/ru/operations/ai-privacy.md)**
>
> Что удаляет шлюз редактирования и какой предпросмотр использования данных показывается до включения чего
> бы то ни было.

> **[Провайдеры ИИ](https://omniflow-vpn.mintlify.site/ru/operations/ai-providers.md)**
>
> Три адаптера, подключение модели на вашем железе, маршрутизация по функциям и что означает каждое
> состояние на экране.

> **[Управление ИИ](https://omniflow-vpn.mintlify.site/ru/operations/ai-governance.md)**
>
> Провайдеры, включение по каждой функции, бюджеты на четырёх уровнях и экспорт решений.

> **[MCP](https://omniflow-vpn.mintlify.site/ru/operations/mcp.md)**
>
> Реестр серверов, разрешённые инструменты и правила, которым подчиняются обе стороны.

## Архитектура и участие в разработке

> **[Обзор архитектуры](https://omniflow-vpn.mintlify.site/ru/architecture/overview.md)**
>
> Три процесса, пути запросов и почему модульный монолит.

> **[Владение данными](https://omniflow-vpn.mintlify.site/ru/architecture/data-ownership.md)**
>
> Граница с Remnawave: что где живёт и что происходит, когда две стороны расходятся.

> **[Технологии](https://omniflow-vpn.mintlify.site/ru/architecture/technology.md)**
>
> Стек и причина, по которой каждая его часть в нём есть.

> **[Модель угроз](https://omniflow-vpn.mintlify.site/ru/architecture/threat-model.md)**
>
> Что находится под угрозой на каждой поверхности, какая мера защиты действительно существует, и где остаётся остаточный риск.

> **[Разработка](https://omniflow-vpn.mintlify.site/ru/contributing/development.md)**
>
> Настройка рабочего пространства, генераторы, запуск стека и проверки, которые CI всё равно выполнит.

> **[База данных](https://omniflow-vpn.mintlify.site/ru/contributing/database.md)**
>
> Схема, миграции Atlas, sqlc и правила, которым должна следовать миграция.

> **[Тестирование](https://omniflow-vpn.mintlify.site/ru/contributing/testing.md)**
>
> Модульное, интеграционное и браузерное покрытие и что каждый слой обязан доказывать.

> **[Документация](https://omniflow-vpn.mintlify.site/ru/contributing/documentation.md)**
>
> Написание, проверка и поддержание русского дерева в соответствии с английским.

> **[Архитектурные решения](https://omniflow-vpn.mintlify.site/ru/architecture/decisions.md)**
>
> Записи, ограничивающие развитие Omniflow, цена каждой из них и когда её пересматривать.

> **[Процесс выпуска](https://omniflow-vpn.mintlify.site/ru/contributing/releases.md)**
>
> Как влитый коммит становится версией и что проверяет и публикует рабочий процесс выпуска.

## Чего Omniflow намеренно не делает

* **Он не управляет Xray и не читает базу данных Remnawave.** Каждое изменение на стороне VPN — это
  аутентифицированный вызов API Remnawave, сделанный конвейером выдачи доступа, чтобы он нёс ключ
  идемпотентности, политику повторов и историю. См. [Владение данными](https://omniflow-vpn.mintlify.site/ru/architecture/data-ownership.md).
* **Он не показывает оператору ссылку на подписку, аппаратный идентификатор или сырую полезную нагрузку
  провайдера.** Устройство называется непрозрачным дескриптором, который сервер разрешает обратно; история
  выдачи доступа возвращает статус, классификацию и идентификатор корреляции — и ничего больше.
* **Он не удаляет финансовую, аудиторскую, согласительную, идентификационную историю и историю прав на
  услуги.** Очистки по срокам хранения убирают только одноразовые операционные данные, а исправление кошелька
  — это компенсирующая проводка, а не правка. См. [Финансовые
  инварианты](https://omniflow-vpn.mintlify.site/ru/commerce/financial-invariants.md).
* **Он не перенастраивает себя из панели.** Конфигурация времени выполнения — это переменные окружения,
  читаемые каждым процессом один раз при старте; разделы настроек установки в панели хранят то, что печатает
  оператор, и ни один процесс не перечитывает эти документы во время работы. См. [Настройки
  установки](https://omniflow-vpn.mintlify.site/ru/operations/installation-settings.md) и [Конфигурацию](https://omniflow-vpn.mintlify.site/ru/getting-started/configuration.md).
* **Он выполняет вызов модели только тогда, когда оператор нажимает «Проверить подключение».** Эта
  кнопка — и есть весь рантайм ИИ в данной сборке: она распечатывает сохранённый ключ, просит у
  провайдера одно слово и записывает, ответил ли он. Всё остальное, что делают поверхности ИИ и MCP —
  регистрация провайдеров, включение функций по одной, бюджеты, белые списки инструментов, — сохраняется
  и пока не потребляется: ни одна функция не делает вызова, и ни один процесс не создаёт клиент MCP.
  См. [Провайдеров ИИ](https://omniflow-vpn.mintlify.site/ru/operations/ai-providers.md) и [Управление ИИ](https://omniflow-vpn.mintlify.site/ru/operations/ai-governance.md).
* **Он не запускает больше одного бота.** Telegram доставляет обновления одному потребителю, поэтому `bot`
  работает ровно в одном экземпляре. `api` и `worker` допускают сколько угодно реплик: периодические
  проходы — обслуживание заказов и платежей, очистки, продления, рассылки, сроки хранения, резервные копии —
  это задачи River, которые выполняются один раз за интервал на всю установку. См.
  [Развёртывание](https://omniflow-vpn.mintlify.site/ru/operations/deployment.md#поддерживаемая-топология).

> [!WARNING]
>
> Omniflow находится в активной разработке. Закрепляйте выпуск по тегу, а не плавающий тег образа, читайте
> примечания к выпуску перед обновлением и сначала делайте резервную копию — обратных миграций нет, поэтому
> откат схемы — это восстановление из резервной копии.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.