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