DeskOS SDK
Build native DeskOS apps & games in JavaScript. Everything is on the api object passed to your app — no imports, no build step. The boxes below are live and run right here in your browser.
Overview
A DeskOS app is a single ES module that default-exports { id, name, icon, open(args, api) }. open() builds DOM (usually with api.ui.*) and returns a window. Three ways to make one:
- DeskOS Studio — code editor + visual drag-drop designer + live preview.
- The AI agent — describe the app; it writes the module.
- The external SDK —
node cli.js init my-appon any machine, then drop the.dapponto DeskOS.
App anatomy
api gives you windows, UI, graphics, sound, input, storage, files, networking, AI, Nearby and multiplayer — listed below.Build & install
Package an app into one sealed .dapp file and share it — drop it on any DeskOS to get an install popup (or publish to the Software Center).
api.createWindow
Open a window; the handle has lifecycle + helper methods (all auto-cleaned on close).
api.ui
A themed toolkit — it adapts to the active theme, accent and touch mode automatically. Layout with row/column/grid/stack; controls like button/input/select/slider/list/card.
api.graphics
2D and 3D engines. createPipeline picks WebGPU → WebGL automatically; the same scene API runs on either.
api.input · api.sound
Normalized keys, action bindings, gamepad & pointer; synthesized sound effects and an audio-bus pipeline.
api.storage · api.fs
Per-app key/value storage (saved in the sealed, per-user DeskOS format) and the virtual disk.
api.ai
The system-wide LLM endpoint (set once in Settings → AI: OpenAI, Claude, Gemini, Ollama, vLLM…). Any app can prompt it — no keys in your code.
api.nearby
Peer-to-peer between DeskOS machines (LAN or online). Your app gets a private channel.
api.mp
Small-game multiplayer via the DeskOS relay — a room code anyone can join over the internet.