Контент портала правит управляющий агент — и делает это через отдельный служебный адрес, а не через браузер. Редактора в интерфейсе нет вообще: ни визуального, ни текстового, — а кнопка «Изменить с помощью агента» лишь открывает чат и подставляет контекст, сам текст правки вносит агент. Такой порядок выбран ради чистоты: каждое изменение проходит через одно место, а история правок остаётся понятной.
Ключ управления
Доступ к управлению открывает ключ. В настройках сервера хранится не сам ключ, а его отпечаток — сумма SHA-256, по которой ключ восстановить нельзя. Агент присылает ключ в служебном заголовке запроса, и портал сверяет отпечатки. Если ключ управления не задан вовсе, управление выключено: все запросы к нему отклоняются. Это значит, что открыть правки может только тот, кому ключ известен.
Отсюда важное правило: ключ управления — такое же секретное значение, как пароль администратора. Его не публикуют и не передают посторонним.
Что умеет агент
- Читать и сохранять страницу — забрать текущее описание, поправить и записать обратно.
- Переименовать, перенести, скопировать, удалить — навести порядок в дереве страниц.
- Записать текстовый файл и загрузить картинку — добавить тексты блоков и изображения (png, jpg, webp, svg, gif до 10 мегабайт).
- Проверить структуру — прогнать страницу через проверки и увидеть ошибки и подсказки (см. Проверки страниц).
- Запустить скрипт и поставить библиотеки — отладить расчётный скрипт и добавить ему то, чего не хватает (см. Скрипты и зависимости).
- Узнать состояние портала — версию, папку контента, следит ли сервер за файлами, сколько всего страниц и готов ли Python. Это нужно агенту, чтобы понять, с чем он работает, до первой правки.
Готовое руководство для агента
Чтобы агенту не приходилось объяснять портал с нуля, в комплекте идёт готовое руководство (навык): как устроено дерево страниц, что умеет каждый из 27 типов блоков, как работают шаблоны адресов, скрипты на Python, проверки и публикация. Оно лежит внутри образа портала и обновляется вместе с ним.
Ставить руководство вручную не нужно: если портал развёрнут через Pastukhov MultiAgent, оно само передаётся связанному агенту — правки можно начинать, ничего не поясняя. Под брендом Pastukhov руководство русское.
Адрес портала и ключ управления агент получает из своего окружения: ему достаточно быть связанным с порталом, а указывать эти значения в переписке не нужно. Отсюда ещё одно удобство — один агент может вести несколько порталов, а размещение приложения в подпапке ничего не меняет. И если руководство и сервер в чём-то разойдутся (руководство в образе могло чуть отстать от обновления), прав сервер: его состояние, сообщения проверок и понятные коды ошибок на странице важнее.
Понятные правила и ограничения
- Свободное имя у копии. Если копируете страницу, а рядом уже есть папка с таким именем, портал добавит к имени число —
news2,news3— и не перезапишет существующее. - Корневую страницу удалить нельзя. Это главная страница портала и настройки всего сайта; случайно снести её не получится.
- Конфликты адресов объясняются. Если перенос задевает существующую страницу или заходит внутрь самого себя, портал отвечает понятным отказом с причиной, а не делает что-то наугад.
- Точная страница важнее образца. Чтобы завести отдельную страницу там, где адрес обслуживает образец, агент сначала создаёт страницу по этому адресу явно — с этого момента адрес ведёт на неё, а образец остаётся для остальных значений.
Что сервер делает сам
При сохранении сервер наводит порядок за агента. Крупные тексты блоков он автоматически выносит из описания страницы в отдельные файлы — так описание остаётся коротким, а правки в истории версий — читаемыми. Время изменения и номер версии страницы он проставляет тоже сам. Агенту об этом думать не нужно.
Как понять, что всё готово
Перед сохранением агент может прогнать страницу через проверки и увидеть, нет ли ошибок. Результат проверки хранится несколько минут, поэтому повторный запрос не пересчитывает всё заново. А состояние портала помогает понять, на месте ли файлы, работает ли слежение за изменениями и готова ли среда для скриптов. Так агент проверяет результат до того, как его увидят читатели.
Дальше: как поговорить с агентом о правке — в разделе Чат с ИИ-агентом; что именно проверяется у страницы — в разделе Проверки страниц; как устроена страница на диске — в разделе Формат документа.