lerk

CMS3 мин чтения

Открытая CMS, которую правят и люди, и ИИ-агенты

За неделю с небольшим собрал свою CMS на PHP и SQLite. Началось с простого: обычная CMS не рассчитана на правки от ИИ-агента, а я всё чаще хотел давать их ему.

Дмитрий

Обложка поста про открытую CMS для людей и ИИ-агентов

С чего всё началось#

У агента в обычной 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 ГБ. Установщик ставит их сам, а на дешёвом хостинге без них остаётся путь «снять пакет на своём компьютере и загрузить в админке».

Расскажите о задаче

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

Заказать похожее

Ещё посты