С чего всё началось#
У агента в обычной CMS нет своего входа, поэтому он ходит под чужим логином. Его правки не отличить от человеческих. Одна ошибка в цикле может переписать сотню страниц, а откатить нечем.
Всё остальное я строил от этих трёх проблем.
Устроено по-простому. Готовая страница лежит HTML-файлом, и nginx отдаёт её без PHP. На VPS в 2 ядра полный рендер даёт 232 запроса в секунду, а из кэша 3350 запросов и 0.2 мс на запрос.
Как агент получает доступ#
В админке есть кнопка «Получить текст для агента». Вставляете этот текст в чат, агент читает инструкцию, меняет одноразовый код на токен и дальше работает через MCP со своей ролью.
Права у него те, которые вы выдали. Лишнего он не увидит и не тронет.
Журнал и предохранитель#
Каждая правка попадает в журнал. Ревизии связаны цепочкой SHA-256, а триггеры SQLite не дают менять и удалять их даже обычным SQL-запросом. Откат не стирает историю: он создаёт новую ревизию.
Поверх журнала стоит предохранитель:
- токен тронул больше 15% страниц за сутки (и не меньше трёх страниц);
- транзакция откатывается, запись для этого токена замораживается;
- в Telegram приходит сообщение.
Человеку тоже удобно. Можно кликнуть по тексту прямо на живой странице и поправить или открыть редактор блоков с перетаскиванием. Правки идут в тот же журнал, что и у агента.
Перенос чужих сайтов#
Последнюю неделю делал именно это. Импорт понимает WordPress, Tilda, Bitrix, Joomla, MODX, HostCMS, Wix, Webflow, OpenCart и обычный HTML. Переносятся содержимое, картинки, меню, SEO и старые адреса с редиректом 301. Проверял на 39 настоящих сайтах и образцах выгрузок.
Есть режим «Точная копия». Chrome открывает сайт как посетитель и снимает каждую страницу, и на 1280 px, и на 390 px они выглядят и работают как у источника. При этом остаются страницами CMS: свой адрес, SEO-поля, редиректы, история и откат.
Пока честно: копия это снимок. Корзина, оплата, личный кабинет и поиск источника в ней не работают.
- счётчики и чаты не переносятся;
- формы подключаются к заявкам, только когда это просто, иначе отчёт пишет «форма не подключена»;
- нужны Node.js и Chrome, около 1 ГБ. Установщик ставит их сам, а на дешёвом хостинге без них остаётся путь «снять пакет на своём компьютере и загрузить в админке».





