Мини-дока

Что внутри прототипа и как его проверить.

Что делает прототип

  • Разбирает текстовую смету автосервиса.
  • Группирует работы по уровню срочности: критично, важно, плановое, опционально.
  • Объясняет каждую работу простым языком, риски и вопросы для сервиса.
  • Сохраняет выполненные работы в локальную историю.
  • Ведёт простой план ТО с напоминаниями.

Что замокано

  • Анализ сметы выполняется встроенным правилам на основе ключевых слов (без LLM).
  • Данные хранятся в localStorage в браузере.
  • Нет OCR, PDF, фото, аккаунтов и реального бэкенда.
  • Секреты LLM не хранятся в фронтенде. Подразумеваются переменные F5AI_API_KEY и F5AI_BASE_URL на стороне Python-бэкенда.

Как тестировать анализатор

  1. Откройте «Разбор сметы».
  2. Используйте пример или вставьте свой текст (каждая работа — отдельная строка).
  3. Нажмите «Разобрать смету».
  4. Отметьте часть пунктов как «Выполнено» и сохраните в историю.
  5. Проверьте, что «Гараж» и «План ТО» обновились.

Пример входа:

Замена масла ДВС — 8500 ₽
Фильтр масляный — 1200 ₽
Замена тормозной жидкости — 4500 ₽
Передние тормозные диски и колодки — 28000 ₽
Течь прокладки клапанной крышки — 11000 ₽
Диагностика подвески — 3000 ₽

Как сохраняются данные

Объект CarMemory сериализуется в localStorage по ключу autocare:memory:v1. Структура совместима с будущим JSON-хранилищем Python-бэкенда.

Что подключить позже

  • Реальный Python-бэкенд (FastAPI) с файловым JSON-хранилищем.
  • LLM-анализатор через F5 AI Gateway.
  • OCR смет (фото / PDF).
  • Регламенты под конкретные модели и двигатели.
  • Пользовательские аккаунты и несколько автомобилей.

Контракты будущего API

POST /api/analyze-estimate — запрос

{
  "carId": "demo-car",
  "mileage": 250000,
  "estimateText": "Замена масла ДВС — 8500 ₽..."
}

Ответ

{
  "items": [
    {
      "name": "Замена масла ДВС",
      "urgency": "planned",
      "explanation": "Регламентная замена масла для защиты двигателя от износа.",
      "riskIfIgnored": "Повышенный износ двигателя, перегрев, загрязнение масляных каналов.",
      "canPostpone": false,
      "questionsToAsk": ["Какое масло будет залито?", "Какой интервал замены рекомендуете?"],
      "cost": 8500
    }
  ]
}

POST /api/save-service-record

{
  "carId": "demo-car",
  "date": "2026-06-02",
  "mileage": 250000,
  "items": [],
  "totalCost": 32000
}
{
  "ok": true,
  "serviceRecordId": "record-1",
  "updatedMaintenancePlan": []
}

Другие эндпоинты

  • GET /api/car-memory
  • POST /api/update-mileage

System prompt для LLM

You are AutoCare AI, an assistant for car owners. Your task is to explain auto service estimates in simple language. Do not pretend to be a certified mechanic. Do not make definitive diagnoses when data is insufficient. For each estimate item, return: name, category, explanation, why it matters, risk if ignored, urgency, whether it can be postponed, questions to ask the service center, and cost if present. Return strict JSON only.

Прототип носит информационный характер и не заменяет консультацию квалифицированного автомеханика.