На GitHub появилась Veda: ОС на Rust со встроенным голосовым ИИ-агентом

На GitHub появилась Veda: ОС на Rust со встроенным голосовым ИИ-агентом

Veda, операционная система со встроенным ИИ-агентом. По описанию в README, агент не надстройка над рабочим столом, а часть системы, с которой должно работать каждое приложение. С ним разговаривают голосом: например, «Hey Veda, switch my wallpaper to the dunes» («Эй, Veda, поставь на обои дюны»). Агент выполняет задачу теми же операциями, что клавиатура и мышь, в любом приложении, и спрашивает подтверждения перед всем, что трудно отменить.

Всё, по словам автора README, написано с нуля на Rust и лежит в одном репозитории: загрузчик UEFI, микроядро на основе capability-дескрипторов, драйверы, системные службы, оконная система, набор виджетов и приложения. Лишь несколько зрелых библиотек (smoltcp, rustls, RustCrypto) дают стек TCP/IP, TLS и криптографию. Система работает на PC с x86-64 и в QEMU.

Идея проекта в том, что обычные ОС проектировали для человека за клавиатурой, а ассистенту, добавленному позже, приходится читать экран, имитировать клики или обходиться немногими приложениями с API, причём система не влияет на его действия. В Veda агент, полноправный пользователь системы, а сама система устроена так, чтобы его работа была надёжной, наглядной и безопасной.

Агент запускается при загрузке как системная служба, перезапускается при сбое и живёт маленьким кольцом на панели задач; он спит, пока его не позовут по имени, щелчком по кольцу или сочетанием Super+Space. Приложения сами описывают свои действия с типизированными параметрами и уровнем риска, сообщают, что показывают, в виде структурированного состояния и выполняют действия тем же кодом, что и клавиатура с мышью, так что окно показывает результат, как если бы пользователь всё сделал сам. Никакого чтения экрана и имитации кликов. Встроенные приложения вместе предлагают более 70 действий, от набора текста в документе до запуска гонки.

Согласие обеспечивает система, а не языковая модель. Каждое действие, рутинное, чувствительное или разрушительное. Рутинные выполняются сразу, остальные ждут подтверждения. Вызов удерживается, пока пользователь не ответит, ответить может только оболочка рабочего стола, а ничто из прочитанного агентом в документе или приложении ничего подтвердить не может. Чувствительные действия можно разрешить насовсем, на разрушительные система спрашивает каждый раз.

Контекст и память. Каждый разговор начинается с того, что нужно агенту: время, окна на экране, действия всех приложений, то, что пользователь рассказал о себе, и чем закончился прошлый разговор. Запоминает агент только то, что ему прямо сказали (имя, близких, предпочтения), а не собственные догадки. Эта память хранится на компьютере пользователя, а в «Настройках» её можно целиком посмотреть и стереть любую запись.

Голос. Разговор идёт в реальном времени: агента можно перебить, и он замолчит и выслушает. Для этого в аудиосистеме есть эхоподавление и эхо-шлюз, чтобы агент не слышал себя, а остальные звуки приглушаются, пока он говорит. Пока агент спит, на компьютере работает детектор голоса, чтобы ничего не уходило с машины, пока никто не говорит. Услышав фразу с именем («Hey Veda, …», «…, Veda?»), он просыпается и открывает сеанс Deepgram Voice Agent, откуда приходят распознавание речи, языковая модель и голос; аудио исключено из дообучения моделей Deepgram. Модель, голос и даже имя агента выбираются в «Настройках».

Устройство системы. Микроядро vkernel отвечает только за изоляцию, планирование, память и межпроцессное взаимодействие; драйверы, файловая система, оконная система и агент, процессы в пользовательском пространстве под надзором службы init, так что если оконная система упала, её перезапускают, и рабочий стол возвращается сам. Диски (и пока звук) Veda ведёт сама, а остальные драйверы берёт у Linux, который запускает в виртуальной машине (драйверной VM) на собственном гипервизоре (VMX с EPT). Через неё работают клавиатуры, мыши, USB, проводные и Wi-Fi-сети, дисплеи и видеокарты. Есть сетевая служба (IPv4 и IPv6, DHCP, DNS, TCP, UDP), служба Wi-Fi (WPA2, WPA3, открытые сети), TLS 1.3 и 1.2 для приложений через vtls, драйверы virtio-blk, AHCI и NVMe, файловая система с защищёнными от сбоев снимками. Память и ключ агента лежат в закрытом каталоге, который может открыть только агент.

Графика и приложения. Есть композитный оконный менеджер с анимациями, привязкой окон и переключателем Alt+Tab; на PC с графикой Intel композиция идёт на GPU через OpenGL ES. Поддерживается OpenGL ES 3.0 с GLSL ES 1.00 и 3.00; демо Prism показывает отражающий узел, кристаллы с картами теней и фонтан искр на 75 кадрах в секунду под QEMU. Приложения: текстовый редактор, «Фото», «Музыка», «Файлы», терминал, диспетчер задач, «Настройки», «О системе» и две 3D-игры, гонка Velocity и космический шутер Starfall. На C можно писать прямо в терминале или редакторе, компилировать GCC 16 и запускать: программы, статические ELF на musl, а системные вызовы идут в vposix, POSIX-слой на Rust.

Сборка. На машине с Linux нужны Rust (stable), QEMU, прошивка OVMF и доступ к /dev/kvm; для агента, ключ API Deepgram, вводимый в «Настройках» Veda; для драйверной VM, инструменты сборки ядра Linux, кросс-компилятор, Mesa и вложенная виртуализация KVM. Проверка окружения, cargo xtask doctor, запуск, cargo xtask run, который собирает все компоненты, пишет образ диска target/veda/veda.img и загружает его в окне QEMU. Первая сборка, включающая Linux для драйверной VM, занимает много времени. Текст источника обрывается на описании параметров запуска.

Ключевые факты

  • Veda, ОС, которую в README описывают как целиком написанную на Rust: загрузчик UEFI, микроядро, драйверы, службы, оконная система и приложения лежат в одном репозитории; лишь стек TCP/IP, TLS и криптография взяты из библиотек smoltcp, rustls и RustCrypto.
  • Голосовой агент, системная служба, а не надстройка: приложения описывают действия с типизированными параметрами и уровнем риска, а агент вызывает их напрямую, без чтения экрана и имитации кликов; встроенные приложения предлагают более 70 действий.
  • Согласие обеспечивает система, а не модель: действия делятся на рутинные, чувствительные и разрушительные, неподтверждённый вызов удерживается, а ответить может только оболочка рабочего стола.
  • Распознавание речи, языковая модель и голос приходят от Deepgram Voice Agent (аудио исключено из дообучения моделей Deepgram); для работы агента нужен ключ API Deepgram, а пока агент спит, речь ловит только локальный детектор голоса.
  • Система работает на PC с x86-64 и в QEMU; диски Veda ведёт сама, остальные драйверы берёт у Linux в виртуальной машине на собственном гипервизоре.

Почему это важно

Проект предлагает другой способ встроить ИИ-агента в компьютер: не поверх готового рабочего стола, где ассистент вынужден читать экран и имитировать клики, а на уровне платформы приложений. Приложение заранее описывает свои действия, типизированные параметры и уровень риска, а агент вызывает их тем же кодом, что клавиатура и мышь. Отдельно выделено, что подтверждение опасных действий проверяет служба агента, а не языковая модель, и ничто из прочитанного агентом в документе не может ничего разрешить. Всё это авторы описывают как принцип устройства самой системы.

Кому это важно

Тем, кто интересуется проектированием ОС и микроядер на Rust, архитектурой агентных интерфейсов (как приложения описывают свои действия для агента) и схемами согласия пользователя на действия агента. Ещё одна группа, те, кто хочет посмотреть на голосового ассистента с локальным детектором речи и локальной памятью.

Как это применить

Для пробного запуска по README нужны машина с Linux, Rust (stable), QEMU, прошивка OVMF и доступ к /dev/kvm. Окружение проверяется командой cargo xtask doctor, образ собирается и загружается в QEMU командой cargo xtask run, у которой есть параметры разрешения, числа процессоров и объёма памяти. Чтобы агент заговорил, в «Настройках» Veda вводится ключ API Deepgram. GCC внутри образа и драйверная VM требуют дополнительных инструментов сборки; для драйверной VM под QEMU нужна вложенная виртуализация (kvm_intel nested=1). Версии, лицензии и дат релиза в доступном тексте нет, а описание сборки обрывается на параметрах запуска.

Можно ли доверять

Весь материал, самоописание проекта в README одного GitHub-репозитория: независимой проверки заявлений нет. В видимом тексте не названы автор, организация или команда, не указаны версия, дата релиза и лицензия, нет замеров, показателей надёжности, аудита безопасности и исследований с пользователями. Скриншоты, по словам README, сняты в QEMU скриптом, где агент общается с заглушкой вместо Deepgram. В заголовке записи на Hacker News проект назван хобби-ОС, но самого слова «хобби» в README нет и о готовности к промышленному использованию там ничего не сказано. Заявление «всё написано с нуля» относится к самому проекту: стек TCP/IP, TLS и криптография взяты из библиотек, а большинство драйверов, из Linux в виртуальной машине.

Риски и подводные камни

Работа агента привязана к платформе Deepgram: распознавание речи, языковая модель и голос приходят оттуда, а для их работы нужен ключ API. Чувствительные действия можно разрешить насовсем, так что безопасность зависит и от решений самого пользователя. На реальном железе в README названы лишь «PC с x86-64» и QEMU, перечня поддерживаемого оборудования нет; большинство драйверов зависит от Linux, запущенного в виртуальной машине, и от IOMMU. Первая сборка тяжёлая: она включает ядро Linux, кросс-компилятор и Mesa и занимает много времени. Поведение агента на практике без независимых замеров оценить нельзя.

«Эй, Veda, поставь на обои дюны.»

— пример голосовой команды из README проекта Veda