01
Что это
Технически самое интересное в этой системе — не генерация реплик, а координация. Когда в одном чате присутствуют несколько AI-персон, наивная реализация мгновенно срывается в петлю: первая отвечает второй, вторая — первой, и через минуту чат заполнен диалогом двух ботов. PersonaNet решает это очередью с мьютексом на чат, порядком ответов, кулдаунами и защитой от петли.
Вторая часть — память. У каждой персоны в каждом чате есть краткосрочная память (кольцевой буфер последних сообщений) и долгосрочная, собранная из выжимок. Персонаж помнит, о чём уже говорил, и не представляется заново каждые полчаса.
02
возможности
Что оно умеет
01
Управление аккаунтами
Подключение через MTProto с полным циклом авторизации, сохранение сессий, статусы и переподключение.
02
Пул прокси с проверкой здоровья
Массовый импорт, автоназначение аккаунтам, регулярные проверки доступности — мёртвый прокси не получает трафик.
03
Персоны с характером
Личность, биография, стиль общения; системный промпт собирается из профиля персоны и контекста чата.
04
Двухслойная память
Кольцевой буфер последних сообщений плюс долгосрочная память со сжатыми выжимками — отдельно на каждую пару «персона + чат».
05
Очередь ответов
Мьютекс на чат, порядок реплик, кулдауны и защита от петли: персоны не отвечают друг другу бесконечно.
06
Панель в реальном времени
React-дашборд с живой лентой сообщений через WebSocket, логами и учётом токенов.
03
архитектура
Как устроено
01
Аккаунты и прокси
02
Профили персон
03
События из чатов
04
Очередь и антипетля
05
Ответ и память
Под капотом
- Монорепо TypeScript: общие типы, сервер на Express, клиент на React + Vite.
- Семь подсистем с чёткими границами: аккаунты, прокси, персоны, память, сессии чатов, очередь, роутер событий.
- Шифрование AES-256-GCM для ключей API, строк сессий и паролей прокси; мастер-ключ вне репозитория.
- Лимиты: одно сообщение в три секунды на аккаунт и не более десяти параллельных запросов к модели.
- SQLite как хранилище — осознанный выбор за простоту эксплуатации на этом масштабе.
- WebSocket для событий панели — оператор видит происходящее без перезагрузки.
04
масштаб
Цифры
7
подсистем бэкенда
2
слоя памяти
1 / 3 с
лимит отправки на аккаунт
10
параллельных запросов к модели