Скрипты и автоматизация
Lua 5.4, action buttons в JSON, MCP-сервер и AI-чат работают с одной и той же моделью проекта. Скрипты живут внутри workspace, поэтому переезжают вместе с проектом.
Lua-скрипты
Откройте Tools → Lua Scripts. Скрипты хранятся в:
<workspace>/scripts/*.lua— общие скрипты;<project>/scripts/*.lua— скрипты проекта, имеющие приоритет.
Run выполняет скрипт в песочнице Lua; print и bm.log пишут в вывод Scripts и лог приложения. Ошибки останавливают скрипт и показываются в обоих местах. Живые операции по-прежнему требуют разрешений и подтверждений автоматизации.
lua
-- Read one DID and print the decoded value
local ecu = 0x100 -- txid; a unit string such as "ENGINE" also works
local p = bm.ecu.read_did(ecu, 0xF190)
print(string.format("%04X", 0xF190), p.value or p.hex)| Группа | Примеры |
|---|---|
| Информация о проекте и ECU | bm.ecu.list, bm.ecu.list_parameters, bm.ecu.list_dtcs |
| Параметры | bm.ecu.read_did, bm.ecu.read_all, bm.ecu.write_did |
| Неисправности | bm.ecu.read_dtcs |
| Живые операции | bm.ecu.routine_start, bm.ecu.routine_stop, bm.ecu.io_control |
| Сырой UDS | bm.ecu.raw_uds, bm.ecu.uds |
| Память | bm.ecu.read_memory, bm.ecu.write_memory |
| Аутентификация | bm.ecu.auth_levels, bm.ecu.authenticate, bm.ecu.auth_seed, bm.ecu.auth_key |
| Образы прошивки | bm.firmware.load, bm.firmware.save, bm.firmware.info, bm.firmware.recipe |
| Прошивка | bm.ecu.flash, bm.ecu.download, bm.ecu.flash_begin, bm.ecu.flash_end |
Полный справочник поставляется вместе с документацией приложения.

Action buttons
Action buttons загружаются из JSON через File → Load Actions:
json
{
"tab_name": "Actions",
"action_buttons": [
{ "name": "Session 03", "comment": "Extended session", "group": "Session", "data": "10 03" },
{ "name": "Read VIN", "comment": "Lua action", "group": "Scripts", "script": "read_vin.lua" }
]
}data— сырой UDS-запрос в hex; его отправка требует подтверждения.script— файл.luaиз папкиscripts/проекта или workspace.group— группа кнопки (по умолчаниюDefault);comment— всплывающая подсказка.
Скрипты проекта имеют приоритет над скриптами workspace с тем же именем.
AI-ассистент и MCP
- Бэкенд чата — либо HTTP (OpenAI-совместимый endpoint), либо OpenCode ACP.
- API key хранится в Диспетчере учетных данных Windows; настройки чата — в
%LOCALAPPDATA%\BlackMagic\chat.json, история проекта — вchat_history.json. - Изменения проекта и живые записи в ECU включаются отдельно в Settings → Automation. Опасные операции запрашивают подтверждение.
- Чат и MCP-клиенты вызывают одни и те же инструменты: список ECU, чтение DID/DTC, сканирование DID, запись, routines, IO control, память и отчёты.
- HTTP-раунды и вызовы инструментов записываются в лог; зависший запрос завершается по таймауту.

