Автоматизация

Пусть ИИ-агент нарисует диаграмму: API для диаграмм LetDraw и MCP-сервер

Используйте API для диаграмм, чтобы создавать, редактировать и экспортировать диаграммы из CI-скрипта, cron-задачи или ИИ-ассистента.

Диаграмма из тех артефактов, которые должны обновляться сами. Архитектура меняется с каждым мержем, страница документации отстаёт на релиз, и в итоге кто-то открывает редактор, чтобы поправить всё вручную. У LetDraw есть API для диаграмм и MCP-сервер, чтобы эту работу делал скрипт или ИИ-агент, причём заново при каждом изменении источника.

Если вы уже генерируете диаграммы из файла Compose или спецификации, следующий шаг: перестать нажимать кнопку самому. Персональный API-токен превращает ту же генерацию в вызов, который может сделать любая машина: шаг сборки, ночная задача или ассистент, который читает ваш запрос и рисует результат. Токен несёт только те права, которые вы ему дали, поэтому автоматизация по умолчанию работает с минимальными привилегиями.

Персональные API-токены и области доступа

Вы создаёте токен в разделе Разработчику, даёте ему имя и выбираете области доступа. Вот и вся настройка. Имя нужно, чтобы потом различать токены; назовите один «CI-скрипт», а другой по имени ассистента, который будет его хранить, и отзыв токена отключит ровно одного клиента и больше ничего.

Области доступа обеспечивают минимальные привилегии. Вместо одного всемогущего ключа каждый токен получает только те возможности, которые нужны для его задачи:

  • Чтение диаграмм для задачи, которая только получает текущее состояние рисунка
  • Создание и редактирование диаграмм для автоматизации, которая создаёт или обновляет холсты
  • Экспорт в Mermaid или D2 для пайплайна документации, которому нужен файл для коммита
  • Генерация по запросу для ИИ-сценария, где запрос превращается в диаграмму

Один токен, одна задача, одно имя, которое можно отозвать. В этом разница между автоматизацией, которой вы доверяете, и ключом, который страшно кому-то отдать.

Минимальные привилегии. Токен только для чтения и экспорта может спокойно жить в переменной CI; худшее, что он может сделать, это прочитать и экспортировать. Область генерации давайте только тем токенам, которые действительно рисуют.

Генерация диаграмм в CI или по cron

REST API: это обычный HTTP-эндпоинт. Аутентифицируйтесь bearer-токеном, отправьте JSON-тело и получите диаграмму в ответ. Вот сценарий генерации по запросу, такой вызов вы добавите в шаг сборки, чтобы архитектура рисовалась из спецификации при каждом пуше:

generate.sh
# $LD_TOKEN holds a token with the "generate" and "export" scopes
# 1) prompt to diagram (uses the AI key stored on your account)
curl https://api.letdraw.com/api-v1/documents/generate \
  -H "Authorization: Bearer $LD_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "web -> api -> postgres, redis cache on api",
    "name": "Architecture"
  }'

# 2) export it as text to commit next to the code (format=mermaid or d2)
curl "https://api.letdraw.com/api-v1/documents/$DOC_ID/export?format=mermaid" \
  -H "Authorization: Bearer $LD_TOKEN"

Поставьте это в cron-задачу, и устаревшая диаграмма в документации просто перестанет существовать. Задача запускается, диаграмма перегенерируется из того, что сегодня говорят входные данные, и коллеги открывают картинку, которая соответствует реальности. Первый вызов возвращает новый документ с его id; вызов экспорта превращает его в текст mermaid или d2, который можно закоммитить рядом с кодом.

Пайплайн, который всегда свежий

Схема одна и та же, будь триггером мерж или расписание: что-то меняется, пайплайн вызывает API, и диаграмма пересобирается. Никто не должен помнить о повторном экспорте, потому что помнить нечего.

CI / cron LetDraw API диаграмма
Вызов с аутентификацией по токену превращает сборку или расписание в всегда актуальную диаграмму.

Подключение к ИИ-ассистенту через MCP

Те же возможности доступны через Model Context Protocol, так что ИИ-ассистент может рисовать и редактировать диаграммы прямо в диалоге. Вы один раз регистрируете LetDraw как MCP-сервер, передаёте ему токен, и ассистент получает инструменты, которые разрешают его области доступа: он может создать холст, отредактировать то, что на нём есть, экспортировать в Mermaid или D2 или сгенерировать диаграмму по описанию, которое вы пишете обычным языком.

mcp.json
{
  "mcpServers": {
    "letdraw": {
      "url": "https://api.letdraw.com/mcp",
      "headers": {
        "Authorization": "Bearer $LD_TOKEN"
      }
    }
  }
}

Поскольку ассистент держит только тот токен, который вы ему дали, его возможности ограничены областями этого токена. Дайте ассистенту для черновиков создание и редактирование плюс генерацию, и он сможет весь день строить и править диаграммы; дайте ассистенту-ревьюеру только чтение и экспорт, и он сможет смотреть и выдавать файл, но никогда не изменит ваш холст. Называйте токен по имени клиента, который его хранит, и если захотите отключить клиента, вы отзываете один токен, и ассистент теряет доступ при следующем же вызове.

Отозвать, обновить, повторить

Любой токен можно отозвать на той же странице «Разработчику», где вы его создали. Именно поэтому передавать токены скриптам и ассистентам спокойно: ничто из выданного не вечно и ничто не переплетено с чем-то ещё. Утёкшая переменная CI, клиент, которым вы перестали пользоваться, слишком щедро выданная область; в каждом случае решение одно: отозвать этот токен и выпустить новый с теми областями, которые вы на самом деле имели в виду.

В итоге получается небольшая поверхность с ясным правилом. Машины и ассистенты получают диаграммы так же, как вы, через именованные токены, которые несут только нужные для их задачи права, и любой из них можно отозвать в любой момент. Диаграмма перестаёт быть тем, что вы поддерживаете, и становится тем, что производит ваш пайплайн.

Дайте вашему пайплайну карандаш

Создайте токен с нужными областями доступа в разделе «Разработчику», и пусть CI, cron или ассистент рисуют диаграмму за вас.

Открыть LetDraw бесплатно