layerlingРуководство
Русский
Открыть редактор

Создание с помощью ИИ (MCP)

Как помощник с ИИ, например Claude или Codex, создаёт и изменяет фигуры, группирует их и делает снимки вида в вашем открытом редакторе.

layerling поставляется с сервером MCP. MCP - это стандарт, через который помощник с ИИ может пользоваться инструментами в других программах. С его помощью клиент ИИ, например Claude или Codex, видит открытую вкладку редактора и работает в ней: создаёт фигуры, меняет размеры, группирует, вырезает, скругляет кромки, читает сцену и делает снимки вида. Вы описываете деталь, ИИ её строит, вы смотрите и в любой момент можете вмешаться.

Связующее звено между клиентом ИИ и редактором работает локально на вашем компьютере. Но учтите: то, что читает ИИ, то есть сцена и снимки вида, уходит поставщику вашего клиента ИИ, как и любой другой ввод там.

Настройка

  1. Возьмите layerling с GitHub и запустите его в папке проекта командой npm run dev. Node.js должен быть установлен. В Windows об этом позаботится строка быстрого запуска в README.
  2. Откройте вкладку редактора, например http://127.0.0.1:3000/?editor=1. Можно доверить это ИИ: когда ни один редактор не открыт, первый инструмент, которому он нужен, сам запускает браузер с редактором и ждёт, пока тот подключится. Это работает для layerling на вашем компьютере; копии на NAS или сервере нужен редактор, открытый вами. Задайте LAYERLING_MCP_OPEN_EDITOR=0 для сервера MCP, чтобы это отключить.
  3. Подключите свой клиент ИИ к серверу MCP. Клиент запускает его сам командой node scripts/layerling-mcp-server.mjs.

Claude Code

Устанавливать ничего не нужно: в проекте есть .mcp.json, который регистрирует сервер, и навык в .claude/skills/layerling-mcp-skill. Откройте папку layerling в Claude Code и попросите, например: «Используй инструменты layerling MCP, чтобы перечислить мои открытые редакторы и посмотреть сцену».

Claude Desktop

Claude Desktop не читает файлы проекта. Впишите сервер в его собственную конфигурацию. Как образец используйте docs/mcp/claude-desktop-config.example.json в проекте, заменив путь к скрипту на абсолютный путь на вашем компьютере. Затем перезапустите Claude Desktop.

Codex

Скопируйте навык из docs/skills/layerling-mcp-skill в папку навыков Codex, впишите сервер в конфигурацию Codex по образцу docs/mcp/codex-config.example.toml и перезапустите Codex.

Подробные инструкции для всех трёх есть в README на GitHub.

Копия на NAS или сервере

Копия, которую вы размещаете сами, может позволить клиенту ИИ управлять её открытыми редакторами по сети. По умолчанию это выключено: тот, кто может управлять связующим звеном, может читать и менять открытые проекты. На сервере задайте LAYERLING_MCP_REMOTE равным true, а LAYERLING_MCP_TOKEN — секретом не короче 16 символов (для образа Docker — в environment: compose-файла; пересобирать ничего не нужно). Откройте вкладку редактора этой копии и держите её открытой, а клиенту MCP передайте адрес и тот же токен: LAYERLING_URL=http://nas:3000 и LAYERLING_MCP_TOKEN=<токен>.

Получить список редакторов и управлять ими может только клиент с токеном. Страницам редактора токен не нужен, но они учитываются только под адресом или именем, доступным из вашей собственной сети (IP-адрес, имя без точки или оканчивающееся на .local либо .lan); настоящий домен за обратным прокси вписывается в LAYERLING_MCP_ALLOWED_HOSTS. Используйте это в сети, которой доверяете, а за её пределами — через HTTPS. Подробности — в README.

Что умеет ИИ

ИИ работает с теми же функциями, что и вы, и тем же путём, что ваши действия в редакторе. Новые функции layerling сразу получают своё действие MCP. Инструменты:

ИнструментЧто он делает
layerling_list_editorsперечисляет открытые вкладки редактора
layerling_open_editorоткрывает новую вкладку редактора в браузере по умолчанию и ждёт, пока она подключится (только на вашем компьютере)
layerling_read_sceneчитает сцену, выделение, единицы измерения и точные размеры всех объектов
layerling_list_objectsперечисляет все объекты с размерами, положением, поворотом и id
layerling_select_objectsвыделяет объекты
layerling_delete_objectsудаляет объекты
layerling_create_shapeсоздаёт фигуру: куб, цилиндр, текст (в том числе по дуге), резьбу, шестерню, тело из эскиза и все остальные
layerling_import_fileимпортирует файл, как окно импорта: цветной OBJ или 3MF — по телу на цвет, а 3MF с несколькими объектами — по телу на объект
layerling_add_fontдобавляет свой шрифт для текста из файла TrueType, OpenType или WOFF; шрифт остаётся в браузере, а проект хранит только используемые буквы
layerling_list_fontsперечисляет встроенные шрифты и собственные, с id и именем
layerling_import_meshприносит треугольную сетку в проект
layerling_update_objectменяет размеры, положение, цвет, имя, режим тела или отверстия и всё остальное, из чего состоит фигура, включая кромку букв текста
layerling_align_objectsвыравнивает объекты друг относительно друга
layerling_scale_objectsмасштабирует объекты в процентах — все вместе или каждый на месте
layerling_lay_flatукладывает объект одной из граней на стол
layerling_place_on_faceставит объекты на грань другого объекта, в том числе наклонную, — как клавиша C
layerling_perforate_faceпрорезает узор отверстий в плоской грани; отверстия остаются отверстиями, сгруппированными с телом
layerling_mate_facesподводит грань одного объекта к грани другого: грань к грани или вровень
layerling_open_groupоткрывает группу, чтобы менять её детали по одной, в том числе группу внутри открытой
layerling_close_groupснова закрывает её («Готово») или отменяет
layerling_group_objectsгруппирует объекты
layerling_ungroup_objectsразбирает группы
layerling_boolean_cutвырезает материал из тел отверстиями
layerling_intersect_objectsоставляет только то, что есть общего у объектов (Пересечение)
layerling_separate_partsразделяет фигуру на её отдельные части
layerling_split_objectsразделяет тела или отверстия надвое плоскостью
layerling_list_edgesперечисляет настоящие CAD-кромки объекта
layerling_apply_edge_treatmentобрабатывает выбранные кромки фаской или скруглением
layerling_hollow_objectсоздаёт у тела оболочку с равномерной стенкой
layerling_array_objectsразмножает в ряд или по кругу
layerling_bundle_objectsсвязывает объекты, как Ctrl+B: они двигаются вместе, сохраняют цвет и тип и выходят в экспорт по отдельности
layerling_layer_textпревращает текст в стопку слоёв для многоцветной печати (буквы, более широкие ободки, пластина без отверстий) или собирает стопку заново — с отверстием под брелок, углами каждого слоя и скруглённой кромкой букв либо фаской; со списком имён — по бирке на имя
layerling_layer_iconпревращает SVG-значок (текст файла или выдавленное тело эскиза) в многослойную бирку со значком для многоцветной печати — значок, более широкие ободки, пластина без отверстий — или собирает её заново с новой шириной или слоями; с количеством заполняет стол печати копиями
layerling_measure_sectionизмеряет по плоскости сечения между двумя точками, которые прилипают к контуру: толщину стенки, зазоры, посадки
layerling_show_overhangsвключает и выключает штриховку нависаний, задаёт угол и сообщает для каждого тела, какая площадь потребовала бы поддержек
layerling_estimate_printоценивает объём, вес и расход филамента для выделения или всего проекта: для сплошного тела, а также грубо — со стенками и заполнением, как в окне экспорта
layerling_add_reference_pointsставит опорные точки — по центру, углам или серединам рёбер объектов, либо в точных позициях, — к которым привязываются фигуры
layerling_list_reference_pointsперечисляет опорные точки с их id и позициями
layerling_remove_reference_pointsудаляет опорные точки по id или все сразу
layerling_inspect_errorsпоказывает последнее сообщение и последнюю ошибку, а также сообщения и ошибки сеанса
layerling_wrap_around_cylinderоборачивает лежащее плоско тело — например SVG или текст — вокруг цилиндра, наружу или внутрь, как гравировку
layerling_simplify_meshуменьшает число треугольников импортированной сетки — до доли в процентах или до заданного числа
layerling_save_custom_shapeсохраняет тела как собственную фигуру, на сервере или в браузере, чтобы вставлять их в другие проекты
layerling_list_custom_shapesперечисляет собственные фигуры на сервере и в браузере
layerling_insert_custom_shapeвставляет собственную фигуру в открытый проект, при желании в точку x/z
layerling_delete_custom_shapeудаляет собственную фигуру; вставленные тела остаются
layerling_show_workplaneскрывает и показывает рабочую плоскость с её сеткой — например, чтобы снять деталь снизу (только вид)
layerling_set_section_viewвключает вид в разрезе вдоль плоскости, чтобы заглянуть внутрь (только вид: ничего не разделяется на части)
layerling_clear_historyудаляет все шаги отмены навсегда, как кнопка «Удалить историю» в панели истории; требует confirm: true
layerling_set_history_viewпоказывает более раннее состояние проекта, как панель истории (сам проект остаётся нетронутым; инструменты правки ждут, пока она закрыта)
layerling_export_section_svgвозвращает контуры на плоскости сечения как SVG в масштабе 1:1, из тех же тел, что и при экспорте
layerling_export_drawingстроит чертёж для мастерской из экспорта «2D»: три вида в масштабе 1:1 на листе ISO, с габаритными размерами и таблицей круглых отверстий — как текст SVG или как PDF
layerling_set_workplaneставит рабочую плоскость на бок тела или обратно на основание, а также скрывает и показывает её
layerling_capture_imageделает снимок вида: спереди, сверху, сбоку, по диагонали из угла и другие

Это позволяет ИИ проверять себя: он что-то создаёт, делает снимок, смотрит и улучшает.

Пример

Вы говорите: «Сделай мне круглую коробку 60 мм в диаметре, 40 мм высотой, со стенкой 2,5 мм, открытую сверху, и плоскую крышку с надписью „Tea“ по дуге». ИИ создаёт цилиндры, у одного создаёт оболочку, ставит на крышку текст по дуге и в конце делает снимки, чтобы проверить, всё ли подходит.