Beta 1 · первая публичная бета
Ubuntu, которой управляет AI
Navision — рабочий стол для Ubuntu со своим компоновщиком Wayland на Rust. Помощник на вашей подписке Claude Code или Codex пишет код и ведёт систему. Всё, что делает мышь, он может вызвать командой.
- основа
- Ubuntu 26.04 · x86_64
- компоновщик
- Wayland · Rust · Smithay 0.7
- агенты
- Claude Code · Codex · ACP
- удалённо
- macOS · QUIC · Metal
- состояние
- Beta 1
Поставь Dockerпример
Поставь Docker и проверь, что работает
Ставлю пакет. Нужны права root:sudo apt install docker.io
Окно пароля
Docker установлен, hello-world отработал
+
~/projectsСпрашивать37%
Так работает компоновщик: кадры появляются только там, где что-то меняется. Между ними он спит, и экран держит последний кадр.
кадров за последние 6 секунд: 72 из 360
- 45мс
от запуска компоновщика до первого кадра
Медиана пяти запусков без монитора. На мониторе 4K — 261 мс.
- 0,2в секунду
пробуждения всего стола в покое
С неподвижными обоями: 0 мс процессора и 0 мс видеокарты за секунду.
- 10,3мс
от щелчка мыши до экрана
Медиана на мониторе 4K 120 Гц, 95-й процентиль — 14,2 мс.
- 73МБ
память всех процессов стола
У GNOME Shell в том же замере 176 МБ, у KDE Plasma — 330 МБ.
nova-brain · nova-agentd · nova-mcp
Claude Code в окне, а не в терминале
Помощник — чат с проектами и историей. Работу делает официальный CLI вашего агента, поэтому подписка работает как есть: Navision не трогает токены и сама не обращается к API моделей.
Любой агент, несколько подписок
Claude Code и Codex подключены напрямую. OpenCode, Gemini CLI и Qwen Code — через протокол ACP. Агента можно сменить посреди чата.
Чат управляет Ubuntu
«Поставь Docker», «что грузит сервер», «почини тест». Ссылки на файлы в ответах открывают Файлы.
Диспетчер
Отдельная сессия на быстрой модели раздаёт задачи фоновым агентам, сама к ним возвращается и отвечает голосом. Сама ничего не меняет.
Дела по расписанию и по событиям
Каждый час, по будням, без остановки или по событию CI и GitHub. Например, агент на своей локальной модели ищет баги, а подписка разбирает находки.
Работа переживает окно
Агенты живут в фоновой службе
nova-agentd. Закрыли окно или перезапустили оболочку — они продолжают.

- Claude Code
- Codex
- OpenCode
- Gemini CLI
- Local agent
Диспетчер раздаёт задачу агентам, следит за ними и возвращает ответ.
comp.sock · nova-ctl · MCP
Каждая кнопка — команда
У компоновщика есть сокет управления и сервер MCP. Всё, что вы делаете мышью, агент делает той же командой и с тем же результатом. До 16 вызовов идут параллельно.
- окна и столы
- мониторы
- запуск программ
- настройки
- снимки и запись экрана
- дерево доступности
- ui_tree
- ui_find
- ui_act
- ввод мышью и клавиатурой
- голос и музыка
- тестовый браузер
nova-rootd · polkit · nova-cage
Агенту можно доверить систему
Команда агента от root не выполняется, пока вы не увидите её целиком и не введёте пароль. Так идёт каждая команда, без «запомнить на пять минут».
- sudo apt install …Агент вызывает sudo в своей песочнице.
- nova-sudoВместо sudo — клиент Navision, он передаёт команду по D-Bus.
- nova-rootdБрокер от root. Кто звонит, он узнаёт у ядра, а не со слов клиента.
- polkit · auth_adminpolkit требует пароль администратора на каждую команду.
- окно пароляКоманда видна целиком, опасные отмечены: rm -rf /, mkfs, dd.

Пароль не видит ни один процесс пользователя
Он уходит только в системный помощник polkit. Ни агент, ни окно Помощника его не получают.
Песочница на каждый CLI
Агент работает в bubblewrap, как программы Flatpak. Скрыты
.ssh,.gnupg,.aws,.kube, связка ключей и профили браузеров. Нет доступа к устройствам ввода.Двери наружу открываются явно
Службы systemd, задачи Диспетчера и подзадачи идут через отдельные узкие двери. Всё, что запускается вне песочницы (автозапуск,
.bashrc), агенту доступно только для чтения.Свой сервер моделей
Локальная LLM по адресу и ключу: Anthropic-совместимый API работает через Claude Code, OpenAI-совместимый — через Codex. Ключ лежит в связке ключей.
nova-comp · frame_clock · nova-hold
Кадр рисуется, только когда что-то изменилось
Компоновщик — один поток событий без таймеров «на всякий случай». Его будит клиент, устройство ввода или срок конкретного кадра. Всё остальное время он спит.
Сон до события
Нет опроса и холостых циклов. Невидимое не анимируется.
Только урон
Перерисовывается изменившаяся область. Неподвижный низ сцены сведён в один слой.
vblank минус бюджет
Кадр начинается как можно позже. Бюджет не константа: он измеряется по недавним кадрам.
Тот же кадр
Быстрая программа получает сигнал раньше и успевает в текущий кадр. Буфер видеокарты применяется по сигналу готовности.
Курсор вне кадров
Указатель двигает отдельный поток на своей плоскости монитора, не дожидаясь сцены.
Два обновления монитора 120 Гц. Указатель успевает в первое, щелчок мыши — во второе. Замер на настоящем мониторе 4K.
- 0–3,3мс/с
Опоздания кадров (hitch) во всех сценариях
Это 0–2 поздних кадра из 600. Меньше 5 мс/с глаз не замечает. До новой архитектуры кадра открытие окна давало 323 мс/с.
- 0,74–1,83мс
Время видеокарты на кадр
Покой 0,74–0,77 мс, смена фокуса 1,63 мс, плавная прокрутка 1,83 мс.
- ≈ 0,2с
Перезапуск компоновщика
Монитор не гаснет: до первого кадра нового процесса на экране остаётся последний кадр старого.
Машина замеров: Ryzen 9 9900X, встроенная Radeon (2 CU RDNA2), Samsung Odyssey G8 32″ 4K 120 Гц, масштаб ×1,5, HDMI, мышь 1 кГц, ядро 7.0. Все живые числа сняты на одной машине.
Падение не теряет работу
Сокет Wayland держит отдельный процесс
nova-holdи сам поднимает компоновщик. Терминалы живут вnova-keeperи возвращаются с историей в 10 000 строк. Агенты — в своей службе.
Что переживает перезапуск
Свои приложения и программы на Qt 6 переподключаются. GTK, Chrome, Electron и X11 открываются заново на тех же местах, Chrome — со вкладками. Несохранённое в GTK-программе пропадает.
Чего пока нет
VRR работает только под полноэкранным окном. Прямой вывод окна на плоскость монитора включён лишь для окон без рамки Navision и на мониторе ещё не проверен.
scripts/benchmark · 2026-11-06 · 92aa33cd
Сравнение с GNOME, KDE и Sway — одной командой
scripts/benchmark запускает каждый стол без монитора на одной и той же видеокарте, в 3840×2160, с одними и теми же программами. Всё меряется снаружи, из /proc и счётчиков видеокарты в ядре: внутренних счётчиков Navision в сравнении нет.
Первое окно, мс
От запуска компоновщика до первого показанного кадра окна.
Память в покое, МБ
PSS всех процессов стола: компоновщик, оболочка и службы, которые он поднял.
Запуск приложений, мс
От запуска до первого кадра окна в Navision. Свои приложения и Chrome.
Цена кадра 4K, мс видеокарты
Время самой видеокарты на один полный кадр по сценам.
Пробуждения в покое, в секунду
Сколько раз за секунду просыпается стол, когда вы ничего не делаете. Меньше — лучше.
Анимация окна, мс видеокарты в секунду
Сколько стоит столу программа, которая перерисовывается на каждый кадр.
Вся таблица сравнения
| Стол | покой: процессор, мс/с | покой: пробуждений/с | покой: видеокарта, мс/с | анимация: процессор, мс/с | анимация: видеокарта, мс/с | кадров/с у программы | hitch, мс/с |
|---|---|---|---|---|---|---|---|
| Navision · живые обои | 8,7 | 149,9 | 24,4 | 30,0 | 108,5 | 60,0 | 0,0 |
| Navision · обои без движения | 0,0 | 0,5 | 0,0 | 21,0 | 107,3 | 60,0 | 0,0 |
| GNOME Shell 50.1 | 2,0 | 5,0 | 0,0 | 38,0 | 146,3 | 60,0 | 0,0 |
| KDE Plasma 6.6.6 | 1,0 | 7,2 | 0,0 | 18,5 | 85,9 | 60,0 | 0,0 |
| KWin 6.6.6 | 0,0 | 0,4 | 0,0 | 17,0 | 84,8 | 60,0 | 0,0 |
| Mutter 50.1 | 0,0 | 0,0 | 0,0 | 21,5 | 84,3 | 60,0 | 0,0 |
| Sway 1.11 | 0,0 | 0,0 | 0,0 | 15,0 | 98,2 | 62,3 | 0,0 |
Где Navision проигрывает. С живыми обоями, которые включены по умолчанию, простой стол просыпается 150 раз в секунду и занимает видеокарту на 24 мс/с; остальные столы в это время спят. С неподвижными обоями — 0,5 пробуждения. Анимация окна стоит видеокарте 108 мс/с: больше, чем у KWin (85) и Sway (98), меньше, чем у GNOME Shell (146). Sway и голый Mutter занимают меньше памяти. Столы рисуют разное (GNOME — панель, голый KWin — только фон), поэтому это сравнение стоимости, а не красоты. Weston в таблице нет: его режим без монитора сам ведёт кадры примерно в 40 Гц.
Замер 2026-11-06, коммит 92aa33cd. AMD Ryzen 9 9900X (24 потока), 59,5 ГБ, встроенная Radeon Granite Ridge, Mesa 26.0.8, Ubuntu 26.04.1, ядро 7.0.0-42. Без монитора, виртуальный vblank 60 Гц, медианы. GNOME Shell 50.1, KWin и Plasma 6.6.6, Mutter 50.1, Weston 14.0.2, Sway 1.11.
nova-remoted · QUIC · wgpu / Metal
Remote Navision: сервер без видеокарты, интерфейс рисует Mac
Navision работает на любом сервере Ubuntu, а Док, окна, меню и анимации клиент рисует сам. Поэтому движение интерфейса не зависит от сети: с сервера приходит только то, что изменилось.
Серверу не нужна видеокарта
Программы, агенты и службы работают на сервере. Картинку сервер считает на процессоре.
Оболочку ведёт Mac
Док с лупой, меню, открытие, закрытие и перетаскивание окон, смену столов клиент анимирует на своих часах тем же кодом, что и сама система. Рисует Metal.
Сцена вместо видео
Оболочка приходит списком фигур и только изменениями. Картинки передаются один раз. Видеокодека нет, поэтому текст всегда чёткий.
Чужие окна — плитками
Неизменённая плитка не отправляется, однотонная уходит одним цветом, прокрутка — сдвигом. Остальное сжимают zstd и LZ4.
Одно соединение QUIC
UDP, TLS 1.3. Движение указателя идёт датаграммами. Модель интерфейса важнее звука, звук важнее пикселей.
Вход по ключу SSH
Паролей нет. Отпечаток сертификата сервера клиент получает по SSH, одноразовый пропуск живёт две минуты.
Сервер Ubuntu
Без видеокарты и монитора. Здесь работают программы, агенты и службы.
- Полный кадр панели и Дока, 1920×1080≈ 2 КБ
- Прокрутка на строку в окне 640×400≈ 4 КБ
- Изменилась область 96×48≈ 1,2 КБ
- Звук≈ 1,5 Мбит/с
- Указатель и клавишидатаграммы
Ваш Mac
Сам рисует Док, окна, меню и анимации на Metal.
Чего мы не обещаем. Задержку по сети мы ещё не замеряли, поэтому чисел здесь нет. Программы на сервере работают без ускорения видеокартой. Клиент пока только для Mac на Apple Silicon и не нотаризован. Со звуком нужна сеть от 1,5 Мбит/с.
Cargo.toml · 98 crates · CI
Rust от компоновщика до приложений
Свой компоновщик на Smithay, не форк. Один поток событий, без async-рантайма. Домен окон не знает ни Wayland, ни видеокарты и проверяется обычными юнит-тестами.
- 98
крейтов
У каждого одна ответственность. Файл длиннее 600 строк кода не проходит CI.
- 518тыс. строк
кода на Rust
Вместе с тестами.
- 7 236
юнит-тестов
На каждом PR идут тесты затронутых крейтов, на main — все.
- 127
сценариев на копии системы
Каждый поднимает свою копию Navision без монитора. Быстрый набор — на каждом PR, все — каждую ночь.
Компоновщик
Rust 2021 · Smithay 0.7 · calloopSmithay с одним своим патчем: плоскость курсора обновляется вне общего кадра.
Отрисовка
GLES · llvmpipe · PixmanЗапасные пути считают картинку на процессоре: так идут проверки без видеокарты и Remote Navision.
Текст и растр
cosmic-text · swash · tiny-skiaРазметку можно считать без видеокарты, поэтому она проверяется тестами.
Управление
JSON socket · MCP · D-Bus (zbus)Мышь, командная строка и агент вызывают одни и те же команды.
Вход и безопасность
bubblewrap · polkit · PAM · greetdПроверенные системные механизмы вместо своих.
Звук и запись экрана
PipeWire · VAAPI / FFmpegЗапись экрана кодирует видеокарта.
Remote
QUIC (quinn) · TLS 1.3 · CBOR · zstd · wgpuТе же шейдеры, переписанные на WGSL, рисуют интерфейс на Mac.
Терминал
foot · alacritty_terminal · nova-keeperСессия живёт в отдельном процессе и переживает перезапуск оболочки.
Доступность
AccessKit · AT-SPIОдно дерево и для экранного диктора Orca, и для агента.
правило 2 · ресурсы по требованию
Что работает, когда вы ничего не делаете? Ничего
Это вопрос из ревью каждого изменения. Службы стартуют при первой надобности и гаснут, когда не нужны.
XwaylandПрограммы X11. Стартует с первым окном за 40 мс, уходя возвращает 90 МБ. гаснет через 10 сnova-sysdWi-Fi, Bluetooth, звук, яркость, пока открыт пункт управления. гаснет через 10 сnova-wifidWi-Fi от root, по вызову. гаснет через 10 сnova-rootdБрокер root, по первой команде агента. гаснет через 10 сnova-portalСистемное окно выбора файла. гаснет через 10 сnova-voxdГолос: диктовка и чтение вслух. по запросуnova-recdВидео записи экрана. процесс на записьnova-authПроверка пароля. процесс на попыткуnova-remotedСервер Remote Navision. гаснет через 10 мин без клиентаnova-soundЗвуки интерфейса. гаснет через 1,5 с тишины
ARCHITECTURE.md · сравнение
Чем Navision отличается от GNOME, KDE, COSMIC и niri
Есть только здесь
Сокет управления с MCP для агентов
У GNOME снаружи доступны D-Bus и расширения, у niri —
niri msg. Здесь агент видит дерево интерфейса и нажимает то же, что и вы.Терминалы и агенты переживают падение оболочки
В GNOME на Wayland перезапуск оболочки закрывает программы. COSMIC и niri не держат сокет Wayland отдельно.
Логика окон проверяется без Wayland
Порядок окон, плитки и столы — чистый код с юнит-тестами, без запуска графики.
Плавное колесо мыши в чужих программах
Щелчок колеса раскладывается на 18 шагов за 150 мс для GTK, Qt Widgets и терминала: в GTK 3 выходит 9 кадров вместо одного. KWin, Mutter, Sway, Hyprland и niri этого не делают.
Где сильнее другие
COSMIC взрослее
У него зрелее код, тайлинг деревом и собственный тулкит.
Панель и Док внутри компоновщика
Как у GNOME: один контекст видеокарты и дешёвое стекло. Цена решения: ошибка в панели роняет компоновщик. Поэтому перезапуск и сделан без потерь.
Покой с живыми обоями
KWin, Mutter и Sway в покое не просыпаются совсем. Navision так умеет только с неподвижными обоями.
nova-app · nova-voxd · nova-monitor
Целая система, а не тема оформления
Свои приложения написаны на одном тулките и открываются за 32–36 мс. Чужие программы работают как обычно.

Помощник
Чат с агентами, проекты, история, Диспетчер и дела по расписанию.
Терминал
Вкладки по ⌘T перетаскиваются между окнами. Ссылки и пути кликабельны. Строку, которая не команда, Enter отдаёт агенту.
Файлы
Быстрый просмотр офисных файлов и PDF. Он же — системное окно выбора файла.
Редактор
Редактор кода с подсветкой синтаксиса.
Мониторинг
Процессор, память, диски, сеть и температуры на одной странице. 20 виджетов для стола и кнопка «Спросить Помощника».
Снимки и запись
Снимки экрана с пометками и запись видео.
Диски
Разделы и форматирование.
Настройки
Аккаунты, Wi-Fi, Bluetooth, внешний вид, мониторы — в духе macOS.
Голос
Диктовка в любое поле на русском и английском, чтение ответов вслух и «Разговор» с Помощником с подавлением эха. Движки: Soniox и OpenAI.
Движение
Пружины по модели SwiftUI. Прерванная анимация сохраняет скорость. Есть режим «Меньше движения».
Чужие программы
Chrome, Electron, Qt и GTK идут родными клиентами Wayland, X11 — через Xwayland. Работает Wine.
Игры
Steam открывается отдельным игровым режимом по Super+G и заморожен, пока на экране Navision.
install.sh · Beta 1
Установка одной командой
Первая публичная бета. Обе сборки CI собирает из изменений, которые прошли все проверки.
Navision для Ubuntu
Установщик сам посмотрит машину, поставит пакеты, службы и вход. Вам останется войти и ввести свои аккаунты: при первом входе откроются Настройки → Аккаунты.
curl -fsSL https://github.com/snemesh/navision/releases/download/latest-main/install.sh | sh
Повторный запуск той же команды обновляет систему. Удалить: sudo novaos-setup remove из текстовой консоли.
Remote Navision
Откройте dmg и перетащите Remote Navision в «Программы». Сборка не нотаризована: в первый раз нажмите «Всё равно открыть» в Системных настройках → «Конфиденциальность и безопасность».
Скачать RemoteNavision.dmgНа сервере нужны Navision, вход по ключу SSH без пароля и открытые порты UDP 60100–60199.
- Только Ubuntu 26.04, x86_64. Готовых сборок для других версий нет.
- Видеокарта AMD, Intel или NVIDIA. Все замеры сняты на AMD. Драйвер NVIDIA установщик ставит сам, но на NVIDIA систему ещё не проверяли: возможны ошибки.
- Интерфейс пока на русском. Диктовка понимает русский и английский.
- Нужна своя подписка. Агенты работают через официальный CLI Claude Code или Codex на вашем аккаунте.