Agent-first доступ

tmm-cli

CLI подходит для локальной автоматизации, CI и работы кодовых агентов: расчётные и рендерные команды используют публичные маршруты без API-токена. Вход нужен только для приватного редактора, аккаунта и исторических management-операций.

Установка

Скачайте архив для Linux, macOS или Windows из GitHub Releases с тегом tmm-cli/v*. Для amd64 и arm64 публикуется файл checksums.txt. Сверьте его до распаковки.

Linux

tar archive

tar -xf tmm-cli_*.tar.gz
install tmm ~/.local/bin/tmm

macOS

tar archive

chmod +x tmm
install tmm "$HOME/.local/bin/tmm"

Windows

zip archive

Expand-Archive .\tmm-cli_*.zip
.\tmm.exe version

Быстрый старт

Расчёты и рендеры без токена
Команды CLI для linkage, XMCD, Markdown, SVG и CDW не требуют API-токена. Вход в аккаунт нужен только для приватного редактора, истории и billing UI.
# Расчётные и экспортные команды не требуют API-токена
tmm linkage ./model.yaml --output ./output
tmm md ./model.yaml ./drawing.md --format A1 --output ./output
tmm xmcd ./model.yaml --output ./worksheet.xmcd
tmm kompas scene ./model.yaml scene-name --output ./output

tmm resolve ./input.scene.json --output ./input.render.json
tmm kompas scene-json ./input.scene.json --output ./drawing.cdw
tmm kompas render-json ./input.render.json --output ./drawing.cdw

tmm linkage

Проверка YAML и артефакты

tmm md

Markdown-preview по модели

tmm kompas

CDW-сцена или страница

Команды механизма, CDW и XMCD

tmm linkage MODEL.yaml --output OUTPUT проверяет физический linkage/v2 YAML и записывает дерево результатов, включая расчётный лист XMCD и текстовый preview. Команда публичная и не требует входа в аккаунт.

tmm linkage ./model.yaml --output ./output

tmm md MODEL.yaml DOCUMENT.md --format A1|A2|A3 --output OUTPUT строит Markdown-preview без допуска, баланса или токена. --format и --output обязательны.

tmm md ./model.yaml ./drawing.md --format A1 --output ./output

tmm xmcd INPUT --output FILE.xmcd отправляет YAML в бесплатный direct XMCD endpoint без quote, баланса, run или локального KOMPAS. Сервер возвращает native application/x-mathcad+xml; CLI проверяет тип и размер, затем пишет точные bytes.

tmm xmcd ./model.yaml --output ./worksheet.xmcd

tmm kompas scene MODEL.yaml SCENE_NAME --output OUTPUT экспортирует выбранную YAML-сцену, а tmm kompas page MODEL.yaml DOCUMENT.md --format A1 --page 1 --output OUTPUT — выбранный лист Markdown. Для обеих команд --output обязателен; для страницы обязательны --format и --page.

tmm kompas scene ./model.yaml scene-name --output ./output
tmm kompas page ./model.yaml ./drawing.md --format A1 --page 1 --output ./output

Markdown может ссылаться на собственные локальные .scene.json и .render.json видимыми директивами. tmm md и tmm kompas page находят эти файлы рядом с документом и передают их как workspace-сцены: локальная сцена имеет приоритет над сгенерированной fallback-сценой, а относительные ключи разрешаются от логического --source-path. Невалидный или нечитаемый явно указанный файл останавливает команду с диагностикой.

# drawing.md
{{tmm-scene name="dynamics/custom.render.json"}}
{{tmm-scale scene="dynamics/custom.render.json" value="1.25"}}

tmm md ./model.yaml ./drawing.md --source-path dynamics/drawing.md --format A1 --output ./output
tmm kompas page ./model.yaml ./drawing.md --source-path dynamics/drawing.md --format A1 --page 1 --output ./output

Произвольные Scene JSON и CDW без токена

tmm resolve INPUT.scene.json --output OUTPUT.render.json вызывает POST /v1/scenes/resolve и записывает Scene v2. Затем tmm kompas render-json отправляет полученный или вручную исправленный .render.json в tokenless CDW endpoint. Для high-level файла можно сразу использовать tmm kompas scene-json.

tmm resolve ./input.scene.json --output ./input.render.json
tmm kompas scene-json ./input.scene.json --output ./drawing.cdw
tmm kompas render-json ./input.render.json --output ./drawing.cdw
Агенты могут исправлять промежуточные файлы
Полученные .scene.json и .render.json можно произвольно редактировать для улучшения или исправления оформления: подписей, видимости, толщин линий и раскладки. Сохраняйте валидный high-level контракт для .scene.json и Scene v2 для .render.json. Нативный CDW всё равно создаёт локальный KOMPAS Renderer.

Публичные расчёты и рендеры

Все перечисленные команды расчёта и экспорта работают без TMM_API_TOKEN, quote и механизма баланса. CLI синхронно получает проверенные артефакты для linkage, XMCD, Markdown, SVG и CDW; локальный KOMPAS Renderer нужен только для создания итогового CDW-файла.

Приватный редактор, аккаунт, история и billing UI остаются защищёнными входом пользователя. Не вставляйте account-секреты в YAML, URL, shell history, issue, CI artifact или репозиторий.

Проверка checksum

Linux

archive="$(find . -maxdepth 1 -type f -name 'tmm-cli_*' -print -quit)"
test -n "$archive"
filename="$(basename "$archive")"
grep -F "  $filename" checksums.txt | sha256sum -c -

macOS

archive="$(find . -maxdepth 1 -type f -name 'tmm-cli_*' -print -quit)"
test -n "$archive"
filename="$(basename "$archive")"
grep -F "  $filename" checksums.txt | shasum -a 256 -c -

PowerShell

(Get-FileHash .\tmm.exe -Algorithm SHA256).Hash

Скачайте один архив и проверяйте только его строку в checksums.txt. Полная команда без фильтра требует скачать все архивы релиза.

Безопасность процесса

Расчёты без секрета

Публичные команды CLI

Для расчёта и рендера не настраивайте токен и не передавайте account-секрет в процесс.

Проверяемый бинарник

Checksum

Не запускайте скачанный архив до проверки происхождения и целостности.

Skills для AI-агентов

Пошаговые переносимые skills и полный маршрут курсового задания опубликованы в WORKFLOW.md и публичном репозитории tmm-cli.

  • metric-synthesis — синтез размеров в Python/Mathcad с editable XMCD.
  • mathcad-mechanisms — расчётные листы и оформление механизмов в Mathcad.
  • tmm-yaml — одна физическая поза, ветви, пары и нагрузки.
  • tmm-cli — установка, публичные команды и диагностика.
  • tmm-graphics — форматы Scene v2, custom plots, Markdown и КОМПАС.

Выбор комплекта разделов

Состав и порядок разделов определяются заданием; отдельные разделы могут отсутствовать. Для курсового проекта выберите нужные разделы и выполняйте их в порядке задания. Для курсового ДЗ первого семестра используйте отдельный комплект из YAML, кинематики и листов одного положения.

Курсовой проект

  1. Синтез. Выполняйте численный подбор в Python или Mathcad с metric-synthesis и записывайте формулы, исходные данные и результат в редактируемый .xmcd через mathcad-mechanisms. Служебные JSON и непрозрачные файлы решения не заменяют расчётный лист.
  2. Итеративная сборка YAML. Собирайте физическую модель в web-редакторе и CLI самостоятельно или с агентом. После каждого существенного изменения проверяйте linkage/v2 командой CLI, изучайте диагностику и исправляйте модель.
  3. Кинематика. XMCD можно получить на сайте или из CLI, затем довести его оформление вручную или агентом с mathcad-mechanisms. Локальный Mathcad нужен для открытия, пересчёта и финальной проверки расчётного листа.
  4. Динамика (альфа). Не принимайте XMCD сайта или CLI за готовое динамическое решение: прочитайте доступный фрагмент и перепишите собственный расчётный лист. Создавайте .scene.json и .render.json для расчётной схемы, графиков и диаграмм по tmm-graphics. Каждый график из Mathcad должен иметь кастомную сцену и быть отрендерен в КОМПАС через CLI; пояснения можно оформить Markdown и также передать в рендер.
  5. Аналитическая кинетостатика. Получите и отредактируйте XMCD, а сцены и .render.json возьмите из CLI или соберите сами. Markdown из CLI уже содержит необходимые пояснения: после изменений проверьте материалы, отрендерьте их в КОМПАС и расставьте. Расчётный лист, сцены и пояснения должны описывать одни положения, обозначения и величины.
  6. Зубчатое зацепление и кулачковый механизм. Эти разделы не представлены на сайте и в CLI: их выполняет пользователь или агент самостоятельно с mathcad-mechanisms.

Курсовое ДЗ первого семестра

  • Сборка YAML. Собирайте физическую модель в web-редакторе и CLI самостоятельно или с агентом и проверяйте диагностику linkage/v2.
  • Кинематика. Получите XMCD на сайте или из CLI и доведите его оформление вручную или с помощью mathcad-mechanisms.
  • Листы одного положения. По требованиям ДЗ используйте лист кинематики и лист графической кинетостатики одного положения, включая соответствующие вкладки и функции CLI; этот комплект обычно не входит в курсовой проект.

После подготовки полного физического YAML бесплатная проверка запускается так:

tmm linkage /absolute/path/to/model.yaml --output /absolute/path/to/output-dir