Agentic OS · Linux 内核 · 上面全是 Rust

一台设备
两位使用者

你和你的 agent 共用一台小设备。QingOS 让 agent 能动手做事;权限、确认和每一行日志,都留在你手里。

● qinit● qing● qaudio开机后,整台机器就这三个进程

内核 3.2 MB · 3 个进程 · 用户态全是 Rust · app 是 wasm · 没有系统调用 · 不可逆的事按实体键 · 签名的 A/B 升级 · 没有 shell · 没有桌面 · 没有发行版

一个点是一个进程。灰的:常见的 Linux 开机后,示意规模。亮的:QingOS。

01 · 别的都不跑

别人几百个进程
我们三个

一个 Linux 发行版,没等你碰它,就起了几百个程序。QingOS 只留内核,上面每一行都是我们自己的 Rust。会坏的、要补的、能被攻击的、要等的,都少了。

3.2 MB
内核,从 allnoconfig 起配
~1 秒
从上电到亮灯(QEMU)
~33 MB
运行时内存,含 app
0
出厂设备上的 shell

02 · 为什么是 QingOS

为 agent 而做
对人负责

两位使用者

人和 agent,同一台设备,各拿各的钥匙。

两个都是系统真正的使用者。各有自己的身份、权限和日志。agent 做了什么,你都看得到,也随时能停。

实体键

agent 按不到的键。

付钱、发出去、开锁,每次都等你的手指按真键。嘴上说「好」不算。

wasm app

app 没有系统调用。

每个 app 是一个 wasm 模块加一份清单。它只拿得到运行时给的东西,每个动作都要报风险档。

权力在本地

模型在云上,权力在家里。

模型在远端跑。权限和日志不出设备。请求出门前,私事先替掉。

不靠模型

模型不在,照样安全。

守门人不调模型。断了网、模型挂了,权限和本地动作照常工作。

多种身体

一套系统:屏、机器人、掌机。

机型文件写明硬件有什么,QingOS 就只画、只跑这些。没有屏,就没有屏的代码;没有舵机,就没有舵机的代码。

03 · 守门人

agent 提要求
守门人做决定

agent 想做的每件事,都走同一道门。守门人不猜意图,只看一件事:这个动作的后果有多大。

第一档 · 本地

直接做。

定个计时,调个灯。容易改回来,所以不问。灯环闪一下。

守门人 → 做 → 记日志
第二档 · 远端

问一次。

查航班,写草稿。第一次让你选:A 这一次,B 以后都行。随时能收回。

守门人 → 问 → 记住 → 记日志
第三档 · 不可逆

每次,
都要你按键。

付钱、发出去、开锁。嘴上说「好」不算。没有常设权限。没人按,就不做。

守门人 → 等按键 → 记下谁按的

只有一道门。 agent 碰网络、文件、硬件,都要经过守门人。

一个动作一行。 放行的动作写进设备上的日志,留 30 天。

你说了算。 常设权限由你给,也由你收回。

04 · 里面

底下是 Linux
上面是我们的

留下内核,是要它的驱动、进程隔离和快启动。init、网络、Wi‑Fi 加密、音频、屏和升级,都是我们自己的 Rust。

脸屏 · 语音 · 灯环 · 局域网控制台
appwasm,在运行时里隔离着跑
运行时大脑→守门人→app
底座qinit · qnet(DHCP、DNS、SNTP、WPA2)· 音频 · A/B 升级
Linux 内核主线 · 只编要用的驱动

05 · 设备

已经跑在
四种身体上

从桌上的 8 寸屏,到靠 15 个舵机走路的鸭子。同一套系统,同一个守门人,同一种 app。

09:41

每天在用

桌屏

Arduino UNO Q 接 8 寸竖屏触摸屏。开机进 QingOS,走 Wi‑Fi 升级。

产品

家庭时光屏

家人的照片和近况,放在家里的一块屏上。带自己的服务端和 iOS app。

仿真中 · 硬件在路上

小黄鸭 VibeDuck

两条腿、15 个舵机的鸭子。会走、会滑、会东张西望,还会轮唱。走路的策略是 wasm app 里的一个文件。

VibePlay

游戏机

Anbernic RG 34XXSP。每个游戏是一个整屏的 wasm app,从签过名的集市装,也能从旁边的掌机装。

不开源
值得亲眼看它跑

我们和硬件伙伴一起做 QingOS。你做的设备要让人和 agent 一起用,来聊聊。