Omnistack
Embedded application platform

Ship to a real board — and prove it ran

Omnistack carries a requirement all the way to an application running on physical hardware, then goes back to that hardware and verifies it. Not a screenshot, not a mock: the actual panel, the actual click, the actual component tree.

嵌入式应用平台

把应用送上真板子,并且证明它真的跑了

Omnistack 把一句需求一路带到真实硬件上运行,然后再回到那块硬件上验证它。 不是截图,不是模拟:是实际的屏幕、实际的点击、实际的组件树。

What it does

Requirement what you want built Architecture scenarios · devices · contracts Generate signed app packages Simulate before any hardware Deploy to the physical board Verify on the real panel evidence flows back: component tree · software frames · anything still unproven Every stage leaves behind something the next one can check — including the last one.
◧
Authoring

Design the system first

Before a line of UI exists, the work is a framework: which scenarios, which devices, which apps, and which contract binds them. The platform each capability lands on is a decision with stated criteria, not a default.

◇
Building

Apps carry no native code

An application is a signed, data-only package — UI, manifest, assets, localisation. Every effect it has on the outside world goes through a declared contract, so one bad app cannot take the system down.

◉
Verification

The board answers for itself

The panel is read and clicked directly. No replayed recording, no screenshot comparison — the software frame captured beside each assertion is the same observation that satisfied the assertion.

它能做什么

需求 你要造的东西 架构 场景 · 设备 · 契约 生成 签名的应用包 模拟 在碰硬件之前 部署 送到真实板子 验证 在真实屏幕上 证据回流:组件树 · 软件帧 · 尚未证明的部分 每一环都留下下一环能检查的东西——最后一环也是。
◧
设计

先把系统设计出来

在还没有一行界面之前,产出的是一个框架:哪些场景、哪些设备、哪些应用、什么契约把它们绑在一起。每个能力落在哪个平台,都是有判据的决定,不是默认继承。

◇
构建

应用不带原生代码

一个应用是签名的、纯数据的包——界面、清单、资源、多语言。它对外的每一个作用都经过声明过的契约,所以一个坏应用拖不垮整套系统。

◉
验证

板子自己作证

面板被直接读取和点击。没有回放、没有截图比对——那张和断言取自同一次观测的软件帧,就是证据本身。

Four products, one direction of travel

Omnistack is not one product with four names. They stack: a person works in Studio, an agent does the work, a skill tells it how, and AppOS is what is still running on the board when the session ends. Each layer knows only the one beneath it.

Omnistack Studio The surface. A person talks to an agent here. The panel runs the package live while they do. WHAT IS IN IT Desktop application Live .appk preview in the panel Board management · A2A Omnistack Agents Five workers, each granted only the tools its own stage needs. WHO THEY ARE system-architect · app-generator android-builder · nx5-deploy agent-test Omnistack Skills Loaded on demand, never built in. This is the only place the domain knowledge lives. THIRTY-TWO PROCEDURES appos-* — the AppOS domain omnistack-* — documents and diagrams superpowers-* — process discipline AppOS What actually runs on the board. An application is a signed, data-only package. FIVE LAYERS, ENFORCED AT BUILD TIME application · application-framework platform-system-service · device-service vendor-linux-bsp WORK TRAVELS THIS WAY
The last layer is the only one that outlives the session. Everything above it can be closed and reopened without the board noticing.
Why it is layered

The knowledge is not in the agent

An agent that has not loaded appos-five-layer does not know that the layers exist, and an agent that has not loaded appos-nx5-developer-deploy will confidently invent a deploy procedure. Keeping the knowledge in procedures rather than in a prompt is what lets five agents share one domain without sharing one another.

Why it matters to you

One bad layer cannot be hidden by the one above

An application that reaches for the hardware directly is refused at build time, not in review. A deploy that cannot read all eight checks back from the board is not reported as ready. Each layer refuses on its own behalf, which is the only reason the claim at the top holds.

四个产品,一个方向

Omnistack 不是一件东西四个名字,它们是叠起来的:人在 Studio 里干活,agent 干这个活, skill 告诉它怎么干,而会话结束后还留在板子上跑的是 AppOS。每一层只认它下面那一层。

Omnistack Studio 界面。人在这里和 agent 说话。 面板同时把这个包真跑起来给他看。 里面有什么 桌面应用 面板内实时预览 .appk 板子管理 · A2A Omnistack Agents 五个工人,每个只被授予自己那一阶段 真正需要的工具。 它们是谁 system-architect · app-generator android-builder · nx5-deploy agent-test Omnistack Skills 按需加载,从不内置。领域知识只存在于这里。 三十二个流程 appos-* — AppOS 领域 omnistack-* — 文档与图 superpowers-* — 流程纪律 AppOS 板子上真正跑的东西。 应用是签名的纯数据包。 五层,构建期强制 application · application-framework platform-system-service · device-service vendor-linux-bsp 工作只往这一个方向走
只有最后一层比会话活得久。它上面的一切都可以关掉再打开,而板子毫无察觉。
为什么要分层

知识不在 agent 身上

一个没加载 appos-five-layer 的 agent 根本不知道有这五层; 一个没加载 appos-nx5-developer-deploy 的 agent 会自信地编出一套部署流程。 把知识放在流程而不是提示词里,才让五个 agent 共用同一个领域而互不干扰。

这对你意味着什么

坏的那一层藏不住

一个直接伸手碰硬件的应用会在构建期被拒绝,而不是在评审时被指出; 一次读不回八项检查的部署不会被报成 ready。每一层都替自己拒绝, 这也是最上面那个结论站得住的唯一原因。

A real system it produced

This is not an illustration. It is the topology a running Omnistack workspace emitted for a door-entry call system, read straight from its design output — same schema, same nodes, same edge label.

DEVICE Default door unit door-unit DEVICE 7" indoor unit indoor-unit network Call by room number · video preview · A/V call indoor-door-topology drawio-skill/diagram-ir/v1 — emitted by the workspace, rendered here
Two devices, one declared link. Everything else the system does hangs off edges like this one.

The same document carries each node's backing specification, so a device in a diagram is not a label — it is a pointer to the requirements it was built from.

它产出的一个真实系统

这不是示意图。这是一个运行中的 Omnistack 工作区为门口呼叫对讲系统输出的拓扑, 直接读自它的设计产物——同样的 schema、同样的节点、同样的连线标签。

DEVICE 默认门口机 door-unit DEVICE 7 寸横屏室内机 indoor-unit network 按房号呼叫 · 视频预览 · 音视频通话 indoor-door-topology drawio-skill/diagram-ir/v1 — 工作区输出,此处渲染
两台设备、一条声明过的连线。系统其余的一切都挂在这样的边上。

同一份文档里还带着每个节点背后的规格来源——所以图上的一个设备不是一个标签, 而是指向它所依据的需求的指针。

Where to go next

接下来看哪里