Commit Graph
100 Commits
Author SHA1 Message Date
Repinoid 4f90e3eadf docs: морда v2 — полное описание новой архитектуры UI 2026-06-07 15:54:48 +04:00
Repinoid 9762640abb bump v0.56.0-dev 2026-06-07 14:06:34 +04:00
Repinoid 150631024e bump v0.54.0-dev 2026-06-07 13:49:17 +04:00
Repinoid d88b90049f bump v0.53.0-dev 2026-06-07 13:41:45 +04:00
Repinoid f02cd5e226 bump v0.52.0-dev 2026-06-07 13:01:04 +04:00
Repinoid 801e286cfc bump v0.51.0-dev 2026-06-07 12:56:35 +04:00
Repinoid b95cf1fbad fix(server): лимит dynamic_samples — не более 1000 2026-06-07 12:54:52 +04:00
Repinoid b7823d6008 bump v0.50.0-dev 2026-06-07 12:16:04 +04:00
Repinoid 20be9103af feat(server): приём dynamic_samples, выбор DYNAMIC_PROMPT 2026-06-07 12:12:26 +04:00
Repinoid 76abc22b79 feat(server): DYNAMIC_PROMPT для анализа временных рядов 2026-06-07 11:51:48 +04:00
Repinoid 290e289517 feat(server): скрипт ?mode=dynamic — 12 PID, интервал 250мс 2026-06-07 11:50:56 +04:00
Repinoid e6e575b9e6 docs: архитектура dynamic-tests 2026-06-07 11:48:49 +04:00
Repinoid 211566d557 docs: планы на вечер + fix(android): очистка \r\n в ObdDecoder 2026-06-07 10:32:34 +04:00
Repinoid c111e651de bump v0.49.0-dev 2026-06-07 10:16:43 +04:00
Repinoid 4d38cb945f fix(prompts): краткий LLM-ответ для тестирования 2026-06-07 10:16:25 +04:00
Repinoid fd2126c0cb fix(db): executescript в try/except, индексы отдельно от миграций 2026-06-07 09:16:33 +04:00
Repinoid d5e44060d3 fix(db): миграции ALTER TABLE для старых БД (device_uuid и др.) 2026-06-07 09:15:33 +04:00
Repinoid 3334baf8fc fix: deploy.sh на master, legacy-префиксы, v0.48.0-dev везде 2026-06-07 08:59:34 +04:00
Repinoid aaaa370764 docs: строгий запрет на действия без команды 2026-06-07 07:19:50 +04:00
“Naeel” bb309eaccb docs: field test guide + update resume for v0.48.0 2026-06-07 06:41:28 +04:00
“Naeel” 2de4bb9443 docs: move resume context to resume.txt, trim copilot-instructions 2026-06-07 05:58:48 +04:00
“Naeel” aa37a1a70c v0.48.0 — пробинг ELM327, трехуровневый профиль, рефакторинг obd/
- obd/probe.py: трехуровневый каскад (L0/L1/L2)
- obd/commands.py: каталог всех AT-команд с метаданными
- obd/classifier.py: классификация ответов + определение уровня
- obd/connection.py: транспортный слой (SerialTransport)
- obd/protocol.py: init() только база, без ATAT1/ATST
- api/db.py: таблица device_profiles по BT MAC
- api/scripts.py: три уровня скриптов (l0/l1/l2)
- api/routes.py: /elm/probe, /elm/profile/<mac>, /script?level=
- web/templates/index.html: v0.48.0
- CHANGELOG.md, doc/architecture.md, resume.txt: версии
2026-06-07 05:55:02 +04:00
Repinoid 7ae0fc5702 docs: сессия 2026-06-06 + резюме проекта для нового чата 2026-06-06 21:58:20 +04:00
Repinoid 0fb2c81a86 bump v0.44.0-dev 2026-06-06 21:30:33 +04:00
Repinoid 0b322882a7 docs: правила для Copilot — коммит после правок + bump при деплое 2026-06-06 21:21:09 +04:00
Repinoid 3ee3930c18 chore: v0.42.0-dev 2026-06-06 21:07:28 +04:00
Repinoid ceb71e5b9d chore: v0.41.0-dev + полевой тест doc/test-cases.md 2026-06-06 07:25:39 +04:00
Repinoid fd8059bb6a docs: пояснения почему выбрана такая логика (reasoning) 2026-06-06 07:24:17 +04:00
Repinoid 8da4876cb8 docs: подробные docstring перед каждой функцией 2026-06-06 07:22:35 +04:00
Repinoid 0de7e0591c fix: Rsp.identify NO DATA (пробел); 119 тестов 2026-06-06 07:21:36 +04:00
Repinoid 7aaebf8481 refactor: разбил routes/db/protocol на отдельные модули 2026-06-06 07:16:51 +04:00
Repinoid d2f42e99bb fix: car_info сохраняется в БД 2026-06-06 07:06:56 +04:00
Repinoid dec23bc140 docs: дневник 2026-06-06 дополнен 2026-06-06 07:03:51 +04:00
Repinoid 4c71d7a4c9 feat: идемпотентность DTC + prompt учитывает неточности данных 2026-06-06 07:02:56 +04:00
Repinoid 1e8fd62039 fix: parser — CAN multi-frame, ISO-TP, пустой {} в промпт, 91 тест 2026-06-06 06:59:26 +04:00
Repinoid f83a14a1ce chore: тесты, SETUP.md, фикс parser DTC (mode=43, не 03) 2026-06-06 06:53:28 +04:00
Repinoid beecf2fb9e feat: краткий диагноз, без воды 2026-06-06 06:47:32 +04:00
Repinoid 7cf1fe0653 chore: v0.40.0-dev 2026-06-06 06:46:10 +04:00
Repinoid 6798ba1012 docs: дневник 2026-06-06 2026-06-06 06:44:45 +04:00
Repinoid 64acb8c60a feat: DTC-коды: справочник, эндпоинты /dtc/decode, /dtc/upload 2026-06-06 06:40:50 +04:00
Repinoid 9d08ff4c75 feat: телефон — язык, часовой пояс, разрешение экрана 2026-06-06 06:23:24 +04:00
Repinoid 9049383e87 feat: device_uuid — UUID приложения в SharedPreferences 2026-06-06 06:16:00 +04:00
Repinoid 64fba6941d fix: если переспросят — «С какой целью интересуешься?» 2026-06-05 18:43:00 +04:00
Repinoid eb79072dd4 feat: LLM никогда не признаётся кто её создал — академические театры 2026-06-05 18:39:22 +04:00
Repinoid 67ef15df23 chore: v0.39.0-dev 2026-06-05 18:29:09 +04:00
Repinoid c532ce4f0d docs: правило — APK через nginx напрямую, не через Flask 2026-06-05 18:28:16 +04:00
Repinoid 352fa1052d chore: v0.38.0-dev + history 2026-06-05 18:03:33 +04:00
Repinoid ce0b40d8dc docs: doc/history/ — журнал изменений по датам 2026-06-05 17:41:53 +04:00
“Naeel” f6461014a3 docs: убрать запрет GitHub Actions — теперь CI собирает APK 2026-06-04 20:23:48 +03:00
“Naeel” 166c34419c chore: v0.37.0-dev — проверка ELM, поле авто, deepseek flash 2026-06-04 19:05:23 +03:00
“Naeel” 03bf84c289 feat: car_info в upload — свободное описание авто от водителя 2026-06-04 18:44:16 +03:00
Repinoid 126598dd8a docs: инструкция по git — репо, pull, push, деплой 2026-06-03 08:37:18 +03:00
“Naeel” 7013fcf56a chore: добавить токены в .gitignore 2026-06-03 07:06:03 +03:00
“Naeel” fc897367b6 fix: ping-llm адаптивный кэш — 60с при успехе, 7с при ошибке 2026-06-03 06:45:36 +03:00
“Naeel” 787ed77b7a fix: DeepSeek V4 Flash вместо aillm.ru (gpt-oss-120b был нестабилен) 2026-06-03 06:43:18 +03:00
“Naeel” 2a07b5bfa1 fix: qwen3-6-27b-fp8 → gpt-oss-120b (модель недоступна) 2026-06-03 06:37:16 +03:00
“Naeel” f215cff21a docs: CHANGELOG.md — полное описание проекта для нового агента 2026-06-03 06:36:03 +03:00
Repinoid 829487ad67 docs: правило №1 — вопрос → только ответ, никаких действий 2026-05-31 18:36:33 +03:00
Repinoid 02753a6de9 docs: правило №1 — ничего не делать без прямой команды 2026-05-31 18:34:05 +03:00
Repinoid 820bcfcbb5 fix: nonlocal → global для _ping_llm_cache 2026-05-31 17:54:30 +03:00
Repinoid f4475c441f chore: v0.36.0-dev + CI/CD в docs + copilot instructions 2026-05-31 17:44:52 +03:00
Repinoid 7f71cb1709 feat: новое лого на сайте 2026-05-31 17:40:25 +03:00
Repinoid 8751d009fc docs: убран GitHub Actions, ручная сборка APK 2026-05-31 17:37:18 +03:00
Repinoid 07944d86d3 docs: деплой и доставка APK в architecture.md 2026-05-31 17:35:38 +03:00
Repinoid dda72ccfc6 chore: удалён мёртвый elmer/, версия 0.35.0-dev, документы Опуса 2026-05-31 17:28:53 +03:00
Repinoid 6893ae33f5 fix(server): идемпотентность upload, WAL, буфер ELM, таймаут LLM
- api/db.py: WAL mode, busy_timeout, request_id UNIQUE, close(), контекстный менеджер
- api/routes.py: проверка request_id при upload, /ping-llm кэш 60с, /chat через roles
- api/config.py: lru_cache на load()
- obd/protocol.py: reset_input_buffer перед _write(), условный READY в send()
- brain/client.py: модель 120b, таймаут из параметра, LLMError класс, обработка 429/5xx
2026-05-31 16:56:21 +03:00
Repinoid eab73cd76a doc: описание архитектуры — структура, модули, API 2026-05-29 17:27:07 +03:00
Repinoid 2db6cb68a8 refactor: архитектура сервера — obd/ brain/ api/
- obd/protocol.py — ELM327 стейт-машина AndrOBD (подробные докстринги)
- brain/client.py — LLM-клиент Diagnoser
- brain/prompts.py — системные промпты
- api/db.py — SQLite (sessions + старые таблицы)
- api/scripts.py — сборка диагностических скриптов
- api/parser.py — парсинг ответов ELM327
- api/routes.py — все REST-эндпоинты
- api/config.py — загрузка конфига
- web/app.py — точка входа Flask (упрощена)

Удалено: elmer/elm.py, elmer/elm_proto.py, web/raw_endpoint.py
2026-05-29 17:24:33 +03:00
Repinoid 2028c7ff0e doc: документ прогресса и план рефакторинга архитектуры 2026-05-29 17:16:49 +03:00
Repinoid 2d5c704edf Убрал mock, добавил llm_available, таймер + счётчик при upload 2026-05-29 10:17:26 +03:00
Repinoid 0d1cf026dc elmAI rebrand: визуальные названия Elmer → elmAI 2026-05-28 18:25:14 +03:00
Repinoid f40918d07b fix: убрана кнопка десктоп-диагностики, версия на странице 2026-05-28 15:51:38 +03:00
Repinoid 84bd0cb34a fix: LLM timeout 60→120с + graceful fallback без 500 ошибки 2026-05-28 10:48:32 +03:00
Repinoid d1903008c6 docs: сессия 28 мая — AndrOBD стейт-машина, 5 багов, все исправления 2026-05-28 10:09:26 +03:00
Repinoid 41831468f4 feat: AndrOBD — полная стейт-машина (State, Rsp, AdaptiveTiming) + тест 2026-05-28 09:03:36 +03:00
Repinoid 6372d38692 feat: AndrOBD-протокол — 1:1 копия стейт-машины + тест против мока 2026-05-28 08:52:09 +03:00
Repinoid 0805d0c2a7 feat: /elmer.apk — прямая ссылка для скачивания APK 2026-05-28 08:26:20 +03:00
Repinoid 75d690b4ea refactor: script_endpoint.py разбит на script_builder + script_parser + endpoint 2026-05-27 10:55:37 +03:00
Repinoid e7b580ff70 feat: elm_proto.py переписан по сырому коду AndrOBD + mock v2 2026-05-27 10:41:50 +03:00
Repinoid 8006974fcc docs: итоги дня — 19 проектов, AndrOBD эталон, план переделки ELM-слоя 2026-05-27 10:29:56 +03:00
Repinoid f95b3fd9f2 docs: СЫРОЙ КОД AndrOBD — 10 лет продакшена, золотой стандарт ELM/BT 2026-05-27 10:19:20 +03:00
Repinoid afd4cce53a docs: +14 традиционных OBD2 Android проектов — AndrOBD король 2026-05-27 10:13:01 +03:00
Repinoid bb510dad22 docs: эталонный анализ 5 проектов — ELM327/BT паттерны 2026-05-27 10:03:28 +03:00
Repinoid b5cb5c3ca9 docs: 50+ проектов найдено, OBD-Droid — лучший референс Android-ELM-LLM 2026-05-27 09:12:11 +03:00
Repinoid dd3abfc37e docs: 3 новых конкурента — AutomotiveAI, OBD2AI, CarOBD2 2026-05-27 08:57:28 +03:00
“Naeel” 9d7dd6c1b0 !! 2026-05-27 08:10:55 +03:00
“Naeel” ae4b3fa1db doc: стратегия деплоя — obdai.ru только после стабильного ELM↔Android 2026-05-27 07:54:16 +03:00
Repinoid f895d9ec7c docs: оценка LLM, cross-validation стратегия, приоритеты 2026-05-26 22:02:46 +03:00
Repinoid 8d25ae7972 docs: трёхфазный флоу с жалобами водителя — полный план 2026-05-26 21:46:04 +03:00
Repinoid fa51ec8295 feat: глубокий промпт — полный анализ вместо краткого резюме 2026-05-26 21:29:02 +03:00
Repinoid d09d777e81 fix: cfg[deepseek] → cfg[llm] in script_endpoint 2026-05-26 21:25:37 +03:00
Repinoid 6afbe640f2 fix: DEEPSEEK_BASE → DEFAULT_BASE 2026-05-26 21:24:20 +03:00
Repinoid 1df3ff194a feat: gpt-oss-120b — самая мощная модель aillm 2026-05-26 21:22:52 +03:00
Repinoid 86d4c4ee57 doc: результаты теста на Фаэтоне — P0047, 7F, VIN не поддерживается 2026-05-26 20:56:53 +03:00
Repinoid d733b58814 doc: fat-client — архитектура, 6 ошибок, решения, mock-задержки, результаты 2026-05-26 13:31:02 +03:00
Repinoid 6e8096d10d fix: ATH1→ATH0 в script_endpoint 2026-05-26 13:27:45 +03:00
Repinoid 0fb919fa7c fix(server): fallback парсинг raw если decoded не распознан 2026-05-26 13:22:48 +03:00
Repinoid 00044b91e1 fix(mock): реалистичные задержки + нет приветствия при коннекте
- ATZ: ~2.5 сек (как реальный ELM)
- ATSP0: SEARCHING... + 1.8 сек
- OBD/PID: 0.2-0.5 сек
- ±30% случайный разброс для всех задержек
- Убрано авто-приветствие при подключении (реальный ELM не шлёт)
2026-05-26 10:51:54 +03:00
Repinoid 0a2a6888a0 feat(fat-client): эндпоинты скриптов и батчевой загрузки
- GET /api/v1/script — выдаёт JSON-скрипт диагностики
- POST /api/v1/session/upload — принимает батч ответов, парсит,
  отправляет в LLM (DeepSeek), возвращает диагноз
- Без API-ключа — возвращает распарсенные сырые данные
2026-05-26 10:43:50 +03:00
Repinoid a46f16d24b doc: полный лог сессии — архитектура, ошибки, решение с offline-скриптами 2026-05-26 10:33:52 +03:00