Files
shturman/docs/vision.md
T
kk0t9 9e685edd02 docs: заложить фундамент проектирования Штурмана
Каркас документации + содержательный фундамент (фаза проектирования,
реализация отложена):

- vision: видение, позиционирование, границы (вариант B, 2 красные линии)
- principles: 13 сквозных принципов (red lines, offline-first, power-safe…)
- architecture: тонкое ядро + SDK, planes, lifecycle, песочница, хостинг UI,
  карта связей + журнал из 6 решений
- dev-environment: разработка с Mac (Lima/ARM64, vcan, Vehicle Simulator)
- индексы contracts/ и domains/ (+ единый шаблон домена, заделы по камерам)
- заготовки glossary, capability-catalog, roadmap

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 19:28:16 +03:00

169 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Штурман — видение и позиционирование
> Статус: черновик v0.2 (на ревью). Канонический рассказ о смысле проекта.
> Технические решения — в [architecture.md](architecture.md) и доменах; здесь — зачем и что.
## В одном абзаце
Штурман — открытый (MIT) русскоязычный программный слой для автомобиля. Он
превращает дешёвый головной блок или одноплатник в быстрый, красивый и
расширяемый бортовой интерфейс с голосовым ассистентом на русском — ассистентом,
который не просто болтает, а **видит данные твоей машины и объясняет их
по-человечески** (общение в духе Grok в Tesla). По смыслу имени штурман —
со-пилот, который ведёт по маршруту и держит руку на пульсе машины: проект делает
ровно это. По сути это **операционная система для автомобиля на базе Linux** (экран,
мультируль и т.д.) со всей стандартной мультимедией и потенциалом расширений.
Ничего, что управляет двигателем, тормозами или другими критичными узлами.
## Проблема, из которой всё растёт
- **Фрагментация «мозгов».** Софт и электроника машин различаются чуть ли не под
каждый рестайлинг даже у одного производителя. Боль OEM, владельцев и особенно
механиков.
- **Афтемаркет.** Миллионы машин без нормального экрана или с дешёвым китайским
Android-блоком: медленным, лагучим, уродливым, без кастомизации, с языковым
барьером и плохой поддержкой.
- **Взрыв голосовых ИИ в машинах.** Mercedes (ChatGPT → Gemini-агент), Tesla
(Grok), VW (IDA на ChatGPT), Hyundai (Naver), BMW в Китае (Alibaba/DeepSeek),
китайцы агрессивнее всех. Но всё — проприетарное, западное или китайское.
**Ни одного — ни в российском авто, ни в открытом коде.**
- **Российский контекст.** После 2022 АвтоВАЗ потерял западных поставщиков и
просел по электронике (ЭБУ двигателя, ABS, ESP, приборки). Латается китайским
и отечественным, но язык, цена и поддержка китайских решений — заноза. Нужна
локализованная, поддерживаемая альтернатива — её нет.
## Пустая клетка
Наложив всё друг на друга, видим незанятое место: **открытый, русскоязычный,
поддерживаемый, кастомизируемый** слой для авто. Пусто не случайно, а структурно:
на уровне OEM всё закрыто стандартами (AUTOSAR — 20-летний отраслевой стандарт
для ECU с сотнями компаний-членов); полноценные открытые автомобильные ОС
существуют, но тяжёлые и заточены под автопроизводителей (Automotive Grade Linux);
а safety-critical упирается в сертификацию функциональной безопасности и
ответственность. Клетка пуста не потому что её легко занять, а потому что
**некому — кроме того, кто сидит ровно на этом пересечении.**
## Что Штурман делает на самом деле
1. **Интерфейс.** Быстрый, красивый, не-лагучий головной экран: навигация, медиа,
телефон, ассистент, экран машины, настройки. Прямой ответ на главный изъян
китайских блоков. Дифференциация — в качестве опыта, не в наличии экрана.
2. **Голосовой ассистент на русском.** Лаконично интегрирован в интерфейс (как в
Tesla). Пайплайн гибридный: распознавание и синтез речи — локально (Vosk,
Silero); «мозг» — через сменный бэкенд. Онлайн — российские LLM (GigaChat,
YandexGPT; работают в РФ, 152-ФЗ, данные в России). Офлайн — небольшая
локальная модель на устройстве, чтобы ассистент не умолкал в тоннеле или без
сети. Бэкенд провайдер-независим: один отвалился — автоматически переключились
на другой. Ассистент **запоминает информацию о водителе в контекстные `.md`
файлы** — персонализация со временем.
3. **Контекст машины (главное).** Через OBD-II/CAN (**строго на чтение**) Штурман
видит реальные данные: скорость, обороты, температуры, напряжение бортсети,
активные ошибки — и подаёт их ассистенту в контекст. На «почему горит чек?» он
читает реальный код ошибки из ЭТОЙ машины и объясняет простым русским. Этого
нет ни у кого в связке «открытое + русское» — мост к боли механиков и
владельцев.
Поверх всего — **открытый расширяемый API**: сообщество и интеграторы добавляют
плагины, экраны, интенты ассистента, не трогая ядро.
## Чем Штурман сознательно НЕ является (и почему)
Границы держат проект жизнеспособным и юридически чистым.
- **Никогда не пишет в шину и не управляет критичными узлами. Только чтение.**
Архитектурная гарантия, не настройка: write-пути в системе просто нет. Так
снимается вся сертификационная и юридическая яма функциональной безопасности —
единственное, что делает проект подъёмным для маленькой команды.
- **Не строит свою ОС** — живёт поверх обычного Linux. Ядро решено; ценность — в
слое опыта и локализации над ним.
- **Не претендует на индустриальный стандарт** — это место AUTOSAR; ценность
стандарта определяется принятием, которым владеют консорциумы, а не разработчик.
- **Не обещает работать на любом заводском железе.** Универсальность — ловушка
масштаба AGL (тачскрины, тюнеры, камеры, питание у всех свои). Вместо этого —
**один хорошо выбранный таргет, доведённый до конца.** НО заложен грамотный
**API для автопроизводителей/автолюбителей**, чтобы адаптировать всё под
конкретное железо/авто. Портируемость — через API силами других, а не
«универсально из коробки». Это разница между соло-проектом, который заканчивается,
и платформой, которая не заканчивается.
## Где настоящий моат
ИИ сам по себе — **не** преимущество: ассистенты коммодитизируются, китайские
блоки получат их быстро. Защищённость — в трудноповторимом сочетании: **русская
локализация** (язык + RU-LLM-провайдеры + 152-ФЗ) + **открытость** (MIT, без
AGPL-боли) + **трюк с контекстом машины** + **по-настоящему хороший UX** + **фокус
на нише афтемаркета/ретрофита**. Западное проприетарное не зайдёт на этот рынок,
китайское не станет локализовать и открывать, OEM строят закрыто.
## Как это устроено технически (кратко; детали — в [architecture.md](architecture.md))
Голый Linux на одноплатнике класса RK3588 (хватает на красивый UI и локальную
небольшую модель, приличная mainline-поддержка). Независимые процессы общаются
через шину **D-Bus**: интерфейс, ассистент, сервис данных машины, питание, связь.
Падение ассистента не роняет UI; плагины цепляются к той же шине. Два решения —
**с первого дня**: (1) read-only rootfs с записью только в отдельный раздел
(резкое обесточивание корраптит память — так умирают одноплатники от forced
power-off); (2) управляемое питание и graceful shutdown по сигналу зажигания. Без
них красивый интерфейс однажды просто не загрузится. Навигация, медиа, телефон —
наращиваются слоями.
## Стратегия: открытость как фундамент, продажа как апсайд
Проект **открыт в любом случае**; его ценность не зависит от продажи. Открытый
Штурман сам по себе — актив: репутация, доверие, сообщество, портфолио, «построил
настоящее и довёл до конца». Коммерция — апсайд сверху, а не точка, без которой
проект мёртв: сервис интеграции/локализации/поддержки для афтемаркета или Tier-1;
демо для АвтоВАЗа строго на несейфти-companion-слое; своя «коробка» для ретрофита.
Не выйдет продать — остаётся сильный открытый проект; выйдет — ещё и бизнес.
**Проигрышного исхода нет.**
## Для кого
- **Энтузиаст-ретрофитчик** — красивый, быстрый, кастомный блок вместо китайского.
- **Механик / владелец** — ассистент впервые объясняет ошибки и поведение машины
по-русски на основе её реальных данных.
- **(Апсайд) OEM / Tier-1 / афтемаркет-интеграторы и автопроизводители в РФ** —
локализованная открытая альтернатива без зависимости от китайцев и без языкового
барьера.
## Как проект растёт (лестница; детали — в [roadmap.md](roadmap.md))
Каждая ступень — законченная, демонстрируемая вещь: интерфейс → ассистент онлайн →
контекст машины (**killer-демо**) → офлайн + Plugin API (маховик сообщества) →
навигация + образ + документированный ретрофит (первый «продукт»). Остановиться
можно на любой ступени — каждая самоценна.
## Суть
Поставить флаг там, где пусто: первый открытый, русскоязычный, по-настоящему
хороший бортовой companion. Глубокий настолько, чтобы его уважали инженеры
(Linux-bring-up, голосовой пайплайн, работа с CAN, архитектура из независимых
сервисов), красивый и осязаемый настолько, чтобы хотелось показывать, и
ограниченный в скоупе настолько, чтобы реально закончить. А повезёт — фундамент
для бизнеса.
---
## Рамки — решено (2026-06-15)
Выбран **вариант B**: Штурман — это полноценная расширяемая платформа («ОС
поверх Linux» в широком смысле), и мы сознательно шире, чем §2 спеки. При этом
две красные линии остаются абсолютными.
**Нерушимые красные линии (не обсуждаются — безопасность + 152-ФЗ/юр. чистота):**
- **Никогда не safety-critical** — не управляем двигателем, тормозами, ABS/ESP,
рулём, подушками.
- **CAN только на чтение** — никакой записи в шину, никаких actuator-команд.
Write-пути нет в системе в принципе (архитектурная гарантия).
**Открыто к пересмотру (закладываем в каталог как возможное; решаем по фазам):**
- **Несколько HW-таргетов.** Спека требовала один (RK3588). Для платформенной
амбиции мульти-железо допустимо — но не ценой bring-up-боли на старте: первый
таргет всё равно один, остальное — позже (через HAL/board-support API).
- **Глубже стокового Linux.** Допускаем собственный образ/ядро/дистрибутив и
более глубокую системную интеграцию, если это реально нужно платформе. Не
самоцель — каждое углубление обосновывается потребностью.
> §2 исходной спеки (жёсткие «НЕ полноценная ОС» и «один таргет») этим решением
> переопределяется. Две safety/legal-линии из §2 остаются в силе.