Open Web Desktop (OWD) is a framework designed to provide a simple environment for building web-based desktop experiences. It's built with Vue.js & TypeScript, and it leverages the extensible Nuxt.js architecture.
Demo Β· Community Β· Documentation
- Fully extendable through apps, modules and themes
- Bundled with popular Vue.js libraries like Pinia and VueUse
- Designed to make the most of the Nuxt.js ecosystem
- Styled with PrimeVue and Tailwind for a consistent UI
- Fully localizable with nuxt-i18n support
desktop/β monorepo dev desktop (workspace apps, modules, themes). Usepnpm run devfrom the repo root.template/β scaffold copied bynpm create owd/desktop init. Do not edit by hand; regenerate withpnpm desktop template(orpnpm template:sync) after changing the starter desktop or publishing@owdproject/*packages. Blueprint sources live inpackages/core/template-blueprint/.
Bootstrap a new project by running:
npm create owdOnce the process is done, you can start to develop:
cd owd-client
# Run the dev server with hot-reload
pnpm install
pnpm run dev
# Build for production
pnpm run generateThanks to Tailwind and PrimeVue, you can create custom themes from scratch and ensure a consistent look across all apps. Each theme defines its own style, making your desktop both cohesive and uniquely yours.
Developing apps/themes in isolation: publishable packages use a playground/ mini-desktop and nuxt-module-build β see docs/agents/OWD_APP_MODULE_PLAYGROUND.md (examples: app-about, app-wasmboy).
Applications Β· Modules Β· Themes
Discover apps by searching the owd-apps tag on GitHub.
For example, to add the To-do app:
desktop add app-todo
# from npm only:
desktop add app-todo --npmThis installs (or clones) the package and registers it in desktop/desktop.config.ts. The owd command is a deprecated alias for desktop.
Discover modules by searching the owd-modules tag on GitHub.
For example, to add Pinia persistence backed by IndexedDB (idb-keyval):
desktop add module-persistence
# or your fork:
desktop add module-persistence --from your-github-userThemes are full desktop environments that style all UI components independently, using PrimeVue.
Each theme provides a unique look and feel while maintaining consistent functionality across applications.
Discover themes by searching the owd-themes tag on GitHub.
desktop add theme-gnomeBe the first to support this project and help us keep it growing! Sponsor the project
Open Web Desktop is released under the MIT License.