Commit Graph
46 Commits
Author SHA1 Message Date
Repinoid ba48cd2daf fix: /response с фильтром device_id 2026-07-10 12:56:40 +04:00
Repinoid cd1c0a977e fix: hello чистит старые команды для device_id — новая сессия = чистый старт 2026-06-28 19:35:47 +04:00
Repinoid 25c8eb20b9 fix: атомарный dequeue, двойной ATI, MAX_RETRIES 620ms, ретеншн, фильтр device_id 2026-06-28 11:46:00 +04:00
Repinoid c33bd8e2de fix: раздельные execute для CREATE TABLE + INDEX 2026-06-28 11:32:07 +04:00
Repinoid d80cb26ce5 fix: raw_elm.py на SQLite очередь (gunicorn-safe), таблица command_queue в db.py 2026-06-28 11:28:15 +04:00
Repinoid 45a6640dae fix: build_dynamic_script — 6 PID (4 частых + 2 средних/редких), interval_ms 1200ms 2026-06-28 11:26:14 +04:00
Repinoid c229b730c6 feat: raw relay — очередь команд, эндпоинты, консоль, index.html 2026-06-14 18:53:24 +04:00
Repinoid d01028b12b feat: raw ELM327 console — сырой слой, API, интерактивная консоль 2026-06-14 18:24:27 +04:00
Repinoid 658b161730 fix: старт 2000ms, шаг +500ms — агрессивнее 2026-06-14 15:01:26 +04:00
Repinoid de54c1ff40 feat: POST /api/v1/test/next + авто-подбор 2026-06-14 14:05:00 +04:00
Repinoid f9c2152c9d fix: routes.py wait=1500, repeat=8 2026-06-14 13:58:16 +04:00
Repinoid 7c1391dcf4 test: wait=1500ms, 2 PID — минимальный тест связи 2026-06-14 13:57:35 +04:00
Repinoid 6e59fef093 feat: build_test_script + mode=test 2026-06-13 20:57:24 +04:00
Repinoid 50cc615d80 fix: SyntaxError - triple quotes 2026-06-10 21:39:44 +04:00
Repinoid 0598c5f8e1 fix: PUT profile создаёт профиль если его нет (upsert) 2026-06-10 21:33:47 +04:00
Repinoid 74808332be docs: история 2026-06-10 — speed-test, адаптивный интервал, threading lock 2026-06-10 20:13:11 +04:00
Repinoid 008b1c11b5 fix: threading lock in Database for concurrent writes 2026-06-10 19:49:28 +04:00
Repinoid 31cba53798 fix: sessions API — нет колонки title, используем vin/car_info 2026-06-08 11:48:14 +04:00
Repinoid 4071a420c7 bump v0.86.0-dev, /api/v1/sessions 2026-06-08 11:33:48 +04:00
Repinoid fd17b9d03e bump v0.82.0-dev, fix ping-llm auth, шрифт 11sp 2026-06-08 09:04:43 +04:00
Repinoid 6aadf66a38 fix(server): X-Api-Key проверка на upload/chat/ping-llm, лимит 2000 ответов 2026-06-07 18:27:13 +04:00
Repinoid b95cf1fbad fix(server): лимит dynamic_samples — не более 1000 2026-06-07 12:54:52 +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 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
“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 fd8059bb6a docs: пояснения почему выбрана такая логика (reasoning) 2026-06-06 07:24:17 +04:00
Repinoid 8da4876cb8 docs: подробные docstring перед каждой функцией 2026-06-06 07:22:35 +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 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 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
“Naeel” 03bf84c289 feat: car_info в upload — свободное описание авто от водителя 2026-06-04 18:44:16 +03:00
“Naeel” fc897367b6 fix: ping-llm адаптивный кэш — 60с при успехе, 7с при ошибке 2026-06-03 06:45:36 +03:00
Repinoid 820bcfcbb5 fix: nonlocal → global для _ping_llm_cache 2026-05-31 17:54:30 +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 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