{"slug": "the-first-agentic-experience-operating-system", "title": "The First Agentic Experience Operating System", "summary": "A developer has released Veda, an agentic-native operating system written entirely in Rust, from its UEFI bootloader and microkernel to its window system and applications, with a voice agent built into the system that wakes on the phrase \"Hey Veda.\" The agent acts through typed actions that applications declare and that run the same code as the keyboard and mouse, with the built-in apps offering more than 100 such actions, and the system holds sensitive or destructive actions until the user allows them, answerable only by the desktop shell. Veda runs Linux drivers in a VM on its own hypervisor, contained by the IOMMU and restarted on crash, and requires a Deepgram API key entered in Settings → Agent to enable the voice agent.", "body_md": "**The Agentic-Native Operating System**\n\nAn operating system written in Rust, with a voice agent built into the system.\n\n[Screenshots](#screenshots) · [Quick start](#quick-start) · [Make an app agentic](#make-an-app-agentic) · [Architecture](#architecture) · [Documentation](#documentation)\n\nSay *\"Hey Veda, switch my wallpaper to the dunes\"* and it is done. The agent\nworks in every application through the same code as your keyboard and\nmouse, and asks you before anything that is hard to undo. Everything here\nis Rust, from the UEFI bootloader and the microkernel to the window system\nand the applications.\n\n| **An agent in the system** A service from boot that wakes when you say its name. Its model, its voice and even its name are settings. | **Actions, not screen scraping** Applications declare typed actions that run the same code as the keyboard and mouse. The built-in ones offer more than 100. | **Consent the model cannot skip** The system holds sensitive and destructive actions until you allow them, and only the desktop shell can answer. | \n| **A microkernel in Rust** Capabilities, SMP, and services in user space that restart by themselves. Applications get Rust's standard library. | **Linux's drivers, contained** Linux drives the hardware in a VM on Veda's own hypervisor, held in by the IOMMU and restarted if it crashes. | **A complete desktop** A compositing window system, a lock screen, a web browser on WebKit, OpenGL ES 3.0, GCC in the Terminal, WPA3 Wi-Fi and a firewall that asks first. | \n\n| **Desktop** |  | \n| **Browser** | **Text Editor** | \n| **Photos** | **Music** | \n| **Files** | **Videos** | \n| **Settings** | **Paint** | \n| **Calculator** | **Terminal** | \n| **Interceptor** | **Unlocking** | \n\nVeda builds on an x86-64 Linux machine with KVM. Install\n[Rust](https://rustup.rs) and the build tools:\n\n## Packages on Debian and Ubuntu\n\n```\nsudo apt install qemu-system-x86 qemu-system-gui qemu-system-modules-opengl ovmf \\\n  build-essential bc curl rsync m4 flex bison meson ninja-build cmake nasm \\\n  libgmp-dev libmpfr-dev libmpc-dev python3 python3-mako python3-packaging python3-yaml\n```\n\nThe driver VM also needs KVM's nested virtualization (`kvm_intel nested=1`).\n\nThen build Veda and boot it:\n\n```\ncargo automation doctor      # check the tools\ncargo automation toolchain   # once, about half an hour: GCC, musl and Rust for Veda\ncargo automation linux       # once: the driver VM's Linux and Mesa\ncargo automation web         # once, an hour or more (optional): WebKit, for the browser\ncargo automation python      # once, a few minutes (optional): Python, its standard library\ncargo automation run         # build Veda and boot it in QEMU\n```\n\nAdd a [Deepgram](https://deepgram.com) API key in **Settings → Agent**, then\nsay **\"Hey Veda\"**, click the ring on the taskbar or press **Super+Space**.\nTry *\"Play Neon Horizon\"*, *\"Show me the lighthouse photo, full screen\"* or\n*\"Delete the City Lights photo\"* (it asks you first).\n\n**On a PC:** `cargo automation iso` writes a live system for a USB stick.\nStart it in UEFI mode, with VT-x and VT-d on and Secure Boot off. It runs\nfrom memory and leaves the PC's disks alone; see\n[what it supports](https://github.com/vahmoh/Veda/blob/main/documentation/DRIVERVM.md#status).\n\nAgent support is part of the `ui` toolkit. An application describes its\nactions, reports its state and performs actions; `ui::run` registers it\nwith the agent service and answers the agent between frames:\n\n```\nuse ui::agent::{self, Action, AppAgentInfo, Risk, Value, arg_path, arg_str, json, show_path};\n\nimpl ui::App for Notes {\n    fn update(&mut self, ui: &mut ui::Ui) { /* ... */ }\n\n    fn agent_info(&self) -> Option<AppAgentInfo> {\n        Some(agent::info(\n            \"A notes app: one note per file in ~/Notes.\",\n            vec![\n                Action::new(\"add_line\", \"Adds a line at the end of the note shown\")\n                    .param(\"text\", \"string\", \"The line\", true)\n                    .build(),\n                Action::new(\"delete_note\", \"Deletes a note for good\")\n                    .param(\"path\", \"string\", \"The note's file, such as ~/Notes/Ideas.txt\", true)\n                    .risk(Risk::Destructive)\n                    .build(),\n            ],\n        ))\n    }\n\n    fn agent_state(&self) -> Value {\n        json!({ \"note\": self.title.as_str(), \"lines\": self.lines.len() })\n    }\n\n    fn agent_invoke(&mut self, action: &str, args: &Value) -> Result<Value, String> {\n        match action {\n            \"add_line\" => { self.append(arg_str(args, \"text\")?); Ok(json!({ \"lines\": self.lines.len() })) }\n            \"delete_note\" => {\n                let path = arg_path(args, \"path\")?;\n                self.delete(&path).map_err(|e| format!(\"{} could not be deleted: {e}\", show_path(&path)))?;\n                Ok(json!({ \"deleted\": show_path(&path) }))\n            }\n            other => Err(format!(\"Notes has no action called {other}\")),\n        }\n    }\n}\n```\n\nDeclare each action's risk and run it through the same code as the keyboard\nand mouse: consent, memory and the conversation are the system's job. The\n[full guide](https://github.com/vahmoh/Veda/blob/main/documentation/AGENT.md#making-an-application-agent-compatible)\ncovers the rest.\n\n| Layer | What it is | \n|---|---|\n| **Kernel** | A capability-based microkernel: isolation, scheduling, memory and IPC, on SMP with tickless timers | \n| **Services** | Drivers, the file system, the window system, audio, networking and the agent, in user space; `init` restarts them if they fail | \n| **Drivers** | Veda drives its own disks; Linux drives the rest in the [driver VM](https://github.com/vahmoh/Veda/blob/main/documentation/DRIVERVM.md) , on Veda's hypervisor | \n| **Graphics** | A compositing window system, the immediate-mode `ui` toolkit, and OpenGL ES 3.0 on the GPU through Mesa or in software | \n| **Programs** | Rust's standard library, and C with GCC 16 and musl, over `posix` , a POSIX layer in Rust | \n| **Network** | IPv4 and IPv6, TLS 1.3, WPA3 Wi-Fi, and a firewall in stealth mode by default | \n\nWhere a proven library exists, Veda uses it: smoltcp, rustls, RustCrypto,\nFFmpeg, dav1d, glam, WPE WebKit and [more](https://github.com/vahmoh/Veda/blob/main/documentation/DEPENDENCIES.md).\n\n```\ncargo automation test        # unit tests on the host, then integration tests inside Veda\ncargo automation test --ui   # plus the GUI and agent scripts\n```\n\nThe scripts click through the desktop and the applications, and break things on purpose (Linux's drivers crash, a cable is pulled, services are killed) to check that Veda recovers by itself. The agent's scripts talk to a stand-in for Deepgram, so they are offline, deterministic and free.\n\n| Guide | Covers | \n|---|---|\n| [The agent](https://github.com/vahmoh/Veda/blob/main/documentation/AGENT.md) | How the agent works, consent, memory, and agent-compatible applications | \n| [Architecture](https://github.com/vahmoh/Veda/blob/main/documentation/ARCHITECTURE.md) | How the system fits together | \n| [The driver VM](https://github.com/vahmoh/Veda/blob/main/documentation/DRIVERVM.md) | The hypervisor, the IOMMU and Linux's drivers | \n| [Networking](https://github.com/vahmoh/Veda/blob/main/documentation/NETWORKING.md) | The network and Wi-Fi services, the firewall and TLS | \n| [The web browser](https://github.com/vahmoh/Veda/blob/main/documentation/BROWSER.md) | The browser, WebKit's port to Veda, and how pages are drawn | \n| [C on Veda](https://github.com/vahmoh/Veda/blob/main/documentation/C.md) and[Rust on Veda](https://github.com/vahmoh/Veda/blob/main/documentation/RUST.md) | Programs, the POSIX layer and the toolchains | \n| [Python on Veda](https://github.com/vahmoh/Veda/blob/main/documentation/PYTHON.md) | Python, its standard library, and CPython's port | \n| [Developing](https://github.com/vahmoh/Veda/blob/main/documentation/DEVELOPING.md) | Commands, the system image and writing applications | \n| [Libraries](https://github.com/vahmoh/Veda/blob/main/documentation/DEPENDENCIES.md) | What Veda builds on, and what it keeps of its own | \n| [Coding conventions](https://github.com/vahmoh/Veda/blob/main/documentation/CODING.md) | How the code is written | \n\nContributions are welcome. [Contributing](https://github.com/vahmoh/Veda/blob/main/CONTRIBUTING.md) covers how to\npropose a change, the standards it meets, and how it is tested and\nreviewed.\n\nVeda is free software under the\n[GNU General Public License, version 3](https://github.com/vahmoh/Veda/blob/main/LICENSE). Copyright © 2026 Vahid\nMohammadi. Its other parts (its fonts, firmware, toolchains, video\ndecoder, web engine, Python and the crates its programs are built with)\nkeep their own licences, whose texts the system carries in\n`/system/licences` and About Veda shows; see\n[Licensing](https://github.com/vahmoh/Veda/blob/main/documentation/LICENSING.md).", "url": "https://wpnews.pro/news/the-first-agentic-experience-operating-system", "canonical_source": "https://github.com/vahmoh/Veda", "published_at": "2026-10-26 11:43:55+00:00", "updated_at": "2026-10-26 11:49:39.868610+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "ai-products", "ai-tools", "developer-tools"], "entities": ["Veda", "Rust", "Deepgram", "Linux", "WebKit", "QEMU", "KVM"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/the-first-agentic-experience-operating-system", "markdown": "https://wpnews.pro/news/the-first-agentic-experience-operating-system.md", "text": "https://wpnews.pro/news/the-first-agentic-experience-operating-system.txt", "jsonld": "https://wpnews.pro/news/the-first-agentic-experience-operating-system.jsonld"}}