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>
This commit is contained in:
+168
@@ -0,0 +1,168 @@
|
||||
# Штурман — видение и позиционирование
|
||||
|
||||
> Статус: черновик 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 остаются в силе.
|
||||
Reference in New Issue
Block a user