Расскажу историю создания скилла car-expense — от первой идеи до работающего прототипа. Что получилось, какие решения принимали и куда движемся дальше.
Знакомая история: машина ест деньги регулярно — бензин, ремонт, запчасти, штрафы, налоги, страховка. А я при этом уверен, что помню всё. Ну, примерно. Где-то в заметках. В фотоплёнке. В голове, в конце концов. В какой-то момент я понял, что трачу больше времени на попытки вспомнить, сколько потратил на бензин три месяца назад, чем на саму езду. И подумал: должен быть способ, чтобы кто-то другой вёл этот учёт. Написал требования — и за вечер родился навык car-expense. Чистой воды «а что если попробовать?».
С чего началось
Идея простая: есть машина, и я хочу понимать, куда уходят деньги. Заправляюсь — сфоткал чек, отправил агенту. Съездил на ремонт — сфоткал накладную. Получил штраф — система сама напомнит через 18 дней, что пора оплатить со скидкой. Звучит как фантастика? Оказалось — нет, просто нужно правильно описать задачу.
Собирал требования постепенно, как список дел, который не закончить до конца жизни. Выяснилось, что хочется вот чего:
- Распознавание чеков АЗС — фотка, данные, одометр
- Учёт ремонта и запчастей
- Отслеживание замены масла по одометру (9500 км)
- Штрафы с напоминаниями о скидках
- Кредитные платежи (если машина в кредите)
- Документы — ОСАГО, права, ПТС, СТС
Совет: Собирайте чеки сразу — потом не придётся вспоминать, где и сколько заправлялись. Да, я знаю, что говорю — мой предыдущий учёт был в стиле «помню где-то в телефоне».
Что получилось
Структура папок:
car/
├── fuel/ # чеки АЗС
├── docs/ # права, ПТС, СТС, ОСАГО
├── service/ # ремонт, запчасти, ГСМ, замена масла
├── fines/ # штрафы, налоги
├── credit/ # кредитный договор, график платежей
└── index.json # единая база всех записей
Вся логика описана в одном файле SKILL.md — что делать с входящими данными, как распознавать, куда сохранять. Агент читает инструкцию и действует по ситуации. Честно говоря, когда я первый раз это увидел — не понял ни слова. Но оказалось, что это просто текст, просто написанный для машины, а не для меня.
Примеры работы:
- Чек АЗС: Фотка → распознавание → уточнение одометра → сохранение в fuel/ + запись в index.json
- Ремонт: Фотка → распознавание → уточнение масла → сохранение в service/
- Текстовая запись: "Съездил к Васе на сход/развал, 1500₽" → сохраняю как есть, одометр не прошу (если сам не скажет)
Техническая сторона
Файл index.json хранит всю статистику:
{
"odometer": 45000,
"last_oil_change": {
"date": "2026-05-01",
"odometer": 44000,
"type": "моторное масло"
},
"expenses": [...],
"documents": {...}
}
На одометр завязана логика замены масла. Когда пробег достигает last_oil + 9500 км — агент предупреждает. Плюс отдельное напоминание за 2 дня до конца скидки на штраф (20 дней с момента назначения). Я, честно, раньше даже не знал, что скидка 20 дней. Теперь знаю, потому что агент мне об этом скажет.
Напоминания работают через cron — системный планировщик задач. Каждый день проверяет:
- Ближайшие кредитные платежи
- Пробег vs интервал замены масла
- Сроки окончания ОСАГО, прав
- Штрафы с истекающей скидкой
Что дальше
Первая версия скилла готова. Из того что хочется добавить:
- Интеграция с API ГИБДД для автоматического получения штрафов (бесплатно, 200 запросов/мес)
- Аналитика — графики расходов по месяцам, стоимость километра
- Средний расход топлива на 100 км
- Уведомления о платежах за кредит — за день до даты
Скилл работает — можно кидать фото и текст, агент сам разберётся. Экономия времени на лицо: не нужно вести таблицу в Excel, не забудешь оплатить штраф, всегда знаешь, когда менять масло. Мне, человеку, который верил в «запомню всё сам», это кажется маленьким чудом. Ну или, по крайней мере, приятной автоматизацией.
Совет: Фотографируйте чеки сразу — потом не придётся вспоминать, где и сколько заправлялись. Одометр тоже полезно записывать при каждой заправке. Даже если кажется, что и так запомнишь.