D9010 VmApp GitHub

Samples

Apps that run in the launcher

These samples ship with the launcher. They are real apps, chosen to show different languages and different levels of access. Under each one is the full list of what it asks for. Everything else stays out of reach.

How apps get onto your Mac. You install apps from inside the D9010 VmApp Launcher (File → Load examples, or Install from file), where the permission sheet shows you what each app wants before it runs. This website deliberately has no download buttons for apps: the launcher is the front door, so you always see the permissions first.

Notes

Node.js · dev.vmapp.notes

Markdown notes in a folder you choose. A Node app written for Electron, ported by changing one line.

It asks for

  • A folder to keep the notes in (read and write)
  • A folder where exported pages are delivered (write only)

Todo

C# (.NET 8) · dev.vmapp.todo

A small to-do list with a C# engine. Everything stays in the app's own private storage.

It asks for

  • Nothing: no folders, no internet

Hasher

Rust · dev.vmapp.hasher

Computes a SHA-256 fingerprint for every file in a folder you pick, with an engine written in Rust.

It asks for

  • Whichever folder you pick in its dialog (read only)

Particles

Node.js + WebGPU · dev.vmapp.particles

A million-particle showcase. The window draws on your Mac's GPU at full speed while the scene is computed inside the VM.

It asks for

  • Nothing: no folders, no internet

Desk Helper

Node.js · dev.vmapp.deskhelper

A computer-use demo that can look at your screen, click and type for you, and use tools you register. Every power is off until you grant it.

It asks for

  • Your screen (only when you press its button)
  • Pointer and keyboard (only when you press its buttons)
  • Host tools and MCP servers you register yourself

Code - OSS (VS Code)

Node.js · dev.vmapp.vscode

VS Code 1.142.0 built from its open source, with its server, terminal, extensions and git all inside a VM. It sees only the folders you share.

It asks for

  • The project folder you open (read and write)
  • The internet, any public site (git, npm, extensions); never your local network
  • Your clipboard, and opening local servers in your browser

Terminal

Node.js · dev.vmapp.terminal

A shell and Google's Gemini CLI inside a VM. They can touch only the folder you grant and reach only the Google API host you allow.

It asks for

  • A project folder (read and write)
  • generativelanguage.googleapis.com (Google's Gemini service)

Local LLM

Node.js + llama.cpp · dev.vmapp.localllm

Chat with a language model that runs on your own Mac. Your conversations never leave it. The only internet use is downloading the model you pick.

It asks for

  • huggingface.co (to download a model)
  • Optionally your Mac's GPU

Ollama

Node.js + Ollama · dev.vmapp.ollama

The real Ollama server, in a VM. Chat with models that run on your Mac; pull them from Ollama's model registry.

It asks for

  • registry.ollama.ai and its storage host (to pull models)

Ollama Desktop

Go + React · dev.vmapp.ollama.desktop

Ollama's own desktop app, window and backend, built from Ollama's source and run in a VM. A good example of converting an existing app.

It asks for

  • Ollama's model registry and storage
  • ollama.com (optional: sign-in, cloud models)

Ollama (GPU, experimental)

Go + Vulkan · dev.vmapp.ollama.gpu

The Ollama sample using your Mac's GPU through an experimental Vulkan backend. Without the GPU switched on and allowed, it runs on the CPUs.

It asks for

  • Ollama's model registry and storage
  • Your Mac's GPU (experimental, off until you turn it on)

An app catalog is coming

A public catalog is built and will open later. It will let you search and browse apps, see what is popular, and read what each one asks for before you install. Anyone will be able to publish: every version is kept, a bad release can be withdrawn with a reason, and users choose whether to stay on a version or follow updates. Apps will be fetched by the launcher itself, so the permission sheet always comes first. See the roadmap.

To build your own app now, start with Building apps.