Руководство Melbis Shop: оглавление
Семья engine — сорок четыре MCP-инструмента, которые
работают с файлами и данными магазина через его движок: читают карту
проекта, загружают и сохраняют модули, шаблоны, статику и картинки,
выполняют запросы к базе, прикрепляют файлы к элементам.
Доступ к движку — это доступ разработчика. Право на изменение в ветке «Прямой доступ → Разработка» открывает магазин целиком: логин, которому можно сохранить модуль, может сделать с магазином всё, что умеет сам магазин (см. «Вход, права, лицензия»).
Обычную работу — завести товар, поставить задачу, поменять цену —
удобнее и безопаснее делать через AI-инструменты магазина. Их пишет
владелец под свои правила, и агент берёт их раньше движка: список даёт
tool_list.
У семьи одни правила на все сорок четыре инструмента —
engine.md в папке Engine\MCP. Первый вызов
любого инструмента движка в сессии отказывает с ними; после
подтверждения через session_rules_accept
работают все инструменты семьи. Это осознанный порог: движок нужен тем,
кто готов с ним работать, а обычная работа идёт через
AI-инструменты.
| Раздел | Инструменты | Что делают |
|---|---|---|
| Общие | engine_search, engine_whole_load |
где встречается строка, файл целиком на компьютер |
| Карта | engine_map_tree, engine_map_units |
из чего состоит магазин |
| PHP-файлы | engine_php_* |
корневые скрипты, модули и библиотеки |
| Шаблоны | engine_html_* |
шаблоны модулей |
| Группы шаблонов | engine_template_* |
группы шаблонов целиком |
| Статика | engine_static_*, engine_static_dir_* |
css, js и другие файлы статики, их папки, журналы сервера |
| Картинки | engine_image_*, engine_image_dir_* |
картинки, шрифты и значки шаблонов, их папки |
| Версии | engine_history_* |
история сохранённых версий файла |
| Конфигурация и кеш | engine_dev_* |
параметры config.json, очистка кеша |
| База данных | engine_db_* |
структура таблиц, запросы, блокировки |
| Файлы элементов | engine_files_* |
файлы, прикреплённые к строкам магазина |
Файлы и папки адресуются путём от корня магазина. Движок пишет пути с
приставкой ./../ — так они приходят в карте. В параметрах
приставка необязательна: units/melbis_cataloge.php и
./../units/melbis_cataloge.php — один и тот же файл.
Путь не выходит за пределы магазина. Путь с .. и путь к
config.json получают отказ ACCESS_DENIED — это
граница, а не недостающее право. Параметры конфигурации читает
engine_dev_config.
Карта называет для каждой папки и файла часть магазина, в которой он
лежит, — branch. По ней видно, какими инструментами с ним
работать.
branch |
Где лежит |
|---|---|
root |
корень сайта: index.php, .htaccess и
другие файлы |
unit |
units/: модули, библиотеки и группы модулей по началу
имени |
html |
templates/<группа>/units/: шаблоны модулей и их
файлы |
static |
templates/<группа>/statics/: статика |
image |
templates/<группа>/images/: картинки, шрифты,
значки |
log |
core/log/: журналы сервера |
template |
другие папки внутри группы шаблонов |
Части карты — дерево файлов, функции модулей, таблицы базы,
конфигурацию — сервер читает из магазина при первом вызове и держит до
конца сессии. Параметр reload читает часть заново: это
нужно, когда файлы менялись вне сессии, например из программы.
Дерево перечитывается само после каждого создания, переименования и удаления, а также после сохранения модуля с манифестом.
Длинные списки приходят таблицей: в columns имена
колонок перечислены один раз, в rows — строки со значениями
в том же порядке.