Что такое xj-scanner и зачем подключать AI-агента к машине
Разработчик под ником MZULALI опубликовал проект xj-scanner: связку, которая позволяет подключить Claude Code, Codex или другого AI-агента к диагностике Jeep Cherokee XJ 1994 года. Агент читает ошибки, следит за показаниями датчиков и ведёт историю поездок. Код и инструкции по запуску лежат на GitHub под лицензией GPLv3, а комплект железа автор оценивает в 15 долларов без учёта ноутбука. Те же детали приводит публикация о проекте на Habr.
Агент не общается с блоком управления напрямую. Он управляет Python-скриптом через командную строку: скрипт отправляет диагностические команды, расшифровывает ответы и сохраняет результаты в CSV-таблицу. Пользователь формулирует задачу словами, агент вызывает нужные команды и объясняет, что получилось.
Смысл затеи в конкретной проблеме. В машине стоит OBD1, блок управления двигателем разговаривает по интерфейсу SCI, и типовой OBD2-адаптер сюда просто не встанет. Самодельный мост из платы Arduino, трёх проводов и скрипта стоит как одна плата. AI-агент в этой схеме работает удобным интерфейсом к CLI-утилите, которая говорит с ЭБУ, и ничем больше. Искусственного интеллекта внутри автомобиля здесь нет.
Кто такой MZULALI и что именно он выложил
MZULALI - разработчик, автор xj-scanner. На GitHub он выложил код проекта и инструкции по запуску под лицензией GPLv3. Систему проверил на одном автомобиле: Jeep Cherokee XJ 1994 года. Конкретные шаги установки и настройки софта в открытых материалах не расписаны: подтверждён факт публикации кода и инструкций в репозитории, а не пошаговый гайд в статье.
Статус проекта стоит держать в голове. Это личная разработка энтузиаста, а не продукт с поддержкой. GPLv3 разрешает изучать и менять код на условиях лицензии, но не обещает ни обновлений, ни ответов на вопросы в трекере.
Чем AI-агент отличается от обычного OBD-сканера
Массовый сканер даёт жёсткий набор экранов: выбрал пункт меню, получил значение. В xj-scanner между человеком и железом стоит агент, который умеет запускать команды и читать их вывод. Задача «посмотри, как ведёт себя кислородный датчик на прогретом моторе» превращается в серию вызовов скрипта и разбор результата словами. Отличие в способе взаимодействия с уже существующей утилитой, а не в протоколе диагностики.
Для автомобиля 1994 года это существенно: готовых массовых решений под такой год и такой блок управления мало, а возиться с консольной утилитой без подсказок готов не каждый. Агент снимает часть этой рутины, но не отменяет необходимости понимать, что вы делаете под капотом.
Как устроена связка: от OBD1 и SCI до Claude Code
Цепочка короткая и целиком помещается в одну таблицу.
| Узел | Задача |
|---|---|
| Диагностический порт OBD1 под капотом | Точка съёма данных с блока управления двигателем |
| Три провода | Соединяют порт с Arduino Nano |
| Arduino Nano | Переходник: передаёт запросы и возвращает ответы по SCI, питается от USB |
| USB-кабель | Связь с ноутбуком и питание платы |
| Python-скрипт | Отправляет команды, расшифровывает ответы, пишет CSV |
| AI-агент (Claude Code, Codex) | Управляет скриптом через командную строку |
OBD1 и SCI: почему тут не работает обычный OBD2-адаптер
В машине используется система диагностики OBD1, а блок управления двигателем обменивается информацией по интерфейсу SCI. Разъём и обмен данными не совпадают с тем, что ждёт типовой OBD2-адаптер, поэтому в разрыв ставят микроконтроллер: он держит линию SCI и переводит запросы в вид, понятный ноутбуку. Глубина деталей по самому протоколу остаётся за рамками описания проекта, и притворяться, что там всё тривиально, не стоит.
Роль Arduino Nano: переходник, а не мозг системы
Три провода соединяют диагностический порт под капотом с платой Arduino Nano. Плата подключается к компьютеру по USB и получает питание от ноутбука, отдельный блок питания не нужен. Работа у неё простая: передать запрос с ноутбука блоку управления и вернуть обратно ответ. Расшифровка данных происходит не на плате, а в Python-скрипте. Это важное разделение: если что-то пошло не так с логикой опроса, чинить нужно скрипт, а не прошивку Arduino.
Роль Python-скрипта и AI-агента
Python-скрипт передаёт диагностические команды и расшифровывает ответы, результаты сохраняются в CSV-таблицу. Агент работает поверх: пользователь ставит задачу, агент вызывает команды скрипта в командной строке. Аналогия простая: есть консольная утилита, а агент - оператор, который помнит её команды и не пугается вывода.
Отсюда и ограничение всей конструкции: агент видит ровно то, что ему отдаёт скрипт. Он не парсит SCI и не обращается к блоку управления в обход Python. Если нужного параметра нет в скрипте, никакая формулировка задачи его не добавит.
Что умеет система: датчики, CSV и встроенные проверки
Функциональность делится на две части: чтение параметров и запуск встроенных проверок механизмов.
Какие данные попадают в CSV-таблицу
Список параметров из описания проекта:
- температура охлаждающей жидкости;
- температура воздуха на выпуске;
- положение дроссельной заслонки;
- напряжение аккумулятора;
- показания кислородного датчика.
CSV удобен тем, что с ним можно работать дальше: открыть в таблице, сопоставить два лога, отдать агенту как историю поездок. Готовых дашбордов и мобильного приложения в проекте нет, и ждать их от личной разработки не стоит.
Формат с разделителями позволяет сравнивать записи между собой: например, посмотреть, как меняется напряжение аккумулятора и температура охлаждающей жидкости на разных этапах прогрева, если вы сохранили несколько файлов. Это обычная работа с логами, а не встроенная аналитика xj-scanner.
Встроенные проверки: бензонасос, форсунки, катушки зажигания
Помимо чтения данных доступно управление встроенными проверками бензонасоса, форсунок и катушек зажигания. Это помогает локализовать неисправность, когда датчики показывают норму, а мотор работает неровно. Речь идёт именно о встроенных тестах, а не о произвольной записи в блок управления.
Активные тесты на 32-летней машине требуют аккуратности: проводка и разъёмы за это время пережили не одного владельца. Ответственность за то, что вы запускаете под капотом, лежит на вас, и никакая инструкция этого не отменяет.
Сколько стоит и что нужно, чтобы повторить
Комплект железа автор оценивает в 15 долларов. Ноутбук в эту сумму не входит, он предполагается уже имеющимся.
Минимальный список компонентов
- Arduino Nano;
- три провода от диагностического порта под капотом к плате;
- USB-кабель до ноутбука;
- ноутбук, от которого плата получает питание;
- Python-скрипт и AI-агент на стороне софта: Claude Code, Codex или любой другой.
Конкретные модели проводов и магазины автор не называет, поэтому подбор расходников остаётся на вас. Зато здесь нет ни паяльной станции, ни осциллографа: комплект намеренно минимальный.
Какие навыки понадобятся
Нужно базовое понимание Arduino, умение запустить Python-скрипт и работать в командной строке. Паяльник и аккуратность с проводкой лишними не будут. Профессиональным автоэлектриком быть не обязательно, но читать схему и не путать полярность придётся. Это проект для технически любопытных, а не готовый продукт в коробке.
Подойдёт ли это вашей машине: границы применимости
Здесь начинается главное ограничение, и смягчать его не нужно.
Что подтверждено, а что нет
Подтверждено: Jeep Cherokee XJ 1994 года, OBD1, интерфейс SCI, Arduino Nano, Python-скрипт, CSV, встроенные проверки, GPLv3 и оценка в 15 долларов. Автор проверил систему только на этой модели. Другие модели Jeep и Chrysler 1991-1995 годов с блоками семейства SBEC могут подойти, но разработчик их не тестировал. Описание проекта тоже проговаривает это прямо.
На что смотреть перед покупкой железа
Сначала год, модель и семейство ЭБУ: SBEC или нет. Потом наличие диагностического порта OBD1 под капотом. Потом готовность читать инструкции на GitHub и разбираться с командной строкой. Если машина не XJ 1994 года, исходите из того, что совместимость не гарантирована: чужие удачные запуски на SBEC 1991-1995 годов в описании проекта не упомянуты, значит и подтверждением они не служат.
Ограничения и риски самодельной диагностики
Технические ограничения
- Один протестированный автомобиль, универсальным адаптером это не делает.
- Привязка к конкретному ЭБУ и интерфейсу SCI.
- Ноутбук должен быть рядом с машиной: плата питается от его USB.
- Пошагового гайда по установке софта в открытых материалах нет.
Организационные и юридические нюансы
Код открыт под GPLv3: изучать и менять его можно на условиях лицензии, но коммерческой поддержки за этим не стоит. Ответственность за вмешательство в электронику автомобиля лежит на владельце. Отдельно про активные проверки: бензонасос, форсунки и катушки зажигания - узлы, где ошибка в подключении стоит денег и времени.
Гарантий уровня коммерческого продукта здесь нет, и требовать их от автора странно. Разумный подход: сначала собрать стенд, проверить обмен на заглушенном моторе, убедиться, что плата отвечает, и только потом лезть в активные тесты.
Что это говорит об AI-агентах: тренд, а не игрушка
Паттерн «агент поверх CLI»
Кейс показателен не автомобилем, а схемой. Claude Code и Codex не «понимают» SCI: они вызывают Python-скрипт и интерпретируют вывод. Тот же приём работает с любым железом и софтом, у которого есть командная строка: логи, тесты, сборки, сетевые утилиты. Логика одна - задача ставится словами, агент подбирает команды и объясняет результат. Похожие сценарии разбирались в материале про локальный агентский harness на 27B-модели: там агент так же работает поверх файловой системы и внешних инструментов, а не внутри них.
Где границы: без скрипта и железа агент ничего не сделает
Ценность держится на связке Arduino + Python + агент. Без переходника и скрипта агент не прочитает из ЭБУ ни одного байта и не заменит диагностику. Кнопки «починить» здесь нет: есть инструмент для технически подкованных, который экономит время на рутинных опросах датчиков и на разборе логов.
Именно поэтому проект полезно смотреть как пример архитектуры, а не как готовый продукт. Хороший агентский сценарий начинается с того, что кто-то аккуратно описал CLI-интерфейс и форматы вывода. В xj-scanner эту работу сделал Python-скрипт и CSV.
Итог: кому стоит повторять xj-scanner
Если у вас Jeep Cherokee XJ 1994 года, есть ноутбук, базовые навыки Arduino и Python и интерес к AI-агентам, проект заслуживает внимания: вход около 15 долларов плюс время на сборку и настройку. Владельцам других Jeep и Chrysler 1991-1995 годов с блоками SBEC стоит сначала оценить совместимость на свой риск, а уже потом покупать плату. Если возиться с паяльником и командной строкой не хочется, ищите готовое решение под свою модель.
Отправная точка - репозиторий на GitHub и инструкции автора под GPLv3. Публикация о проекте даёт общее представление о схеме и списке параметров, детали запуска придётся вычитывать в самом репозитории.