Developer Platform

Publish your app to the NyouOS app store, or build your own web system on top of the open-source NyouOS.

Publish your app to the app store

All third-party apps are reviewed by email before appearing in the NyouOS app store. Submit as follows:

1

Package your app

Bundle all app files (HTML/CSS/JS/icons) into a zip archive, or host them as a reachable web page. Include a square icon (256×256 PNG recommended).

2

Upload to Lanzou Cloud

Upload the archive or web files to Lanzou Cloud and generate a share link. This is the download channel the app store uses.

3

Send the submission email

Send the Lanzou download link to the NyouOS official mailbox:

📮 To: nyouos@163.com
📌 Subject must start with: [发布App] Your App Name

The email body should include:

  • App name (Chinese and English)
  • One-line description
  • Lanzou download link
  • Icon (attachment or link)
  • Version, e.g. 1.0.0
Once approved, your app appears in the store and we will email you the result. Please do not send content unrelated to the system or that violates public morals.

How to build your own web system on NyouOS

NyouOS is open source under GPLv3. You are free to use, modify and redistribute it, but derivative works must also be open sourced under GPLv3. Here is the end-to-end customization flow.

1. Get the source and run it locally

Download or clone the whole 27.0/ directory. The project has no npm dependencies and no build step. Serve it with any static file server:

# inside the 27.0 directory, pick one
python -m http.server 8000
npx http-server . -p 8000

Then open http://localhost:8000/. On first launch you will walk through OOBE; the default PIN is 1234.

Do not double-click index.html directly — the file:// protocol breaks fetch and resource validation.

2. Understand the layout

NyouOS On Web 27.0/
├─ index.html              # page skeleton; loads css/js in order
├─ css/                    # system styles (main.css holds theme variables)
├─ js/
│  ├─ core/                # storage, state, i18n, Daola, window components
│  ├─ ui/                  # desktop, taskbar, OOBE, lock screen
│  ├─ apps/                # 14 built-in apps
│  └─ main.js              # entry point; public API on window.FluentOS
├─ Theme/
│  ├─ Icon/nyouos_logo.png # your logo (light/dark variants)
│  ├─ Picture/             # wallpapers
│  └─ ...
└─ scripts/                # manifest generation and validation

3. Rebrand to your own name

Swap the brand name and logo for yours:

⚠️ Do not rename runtime identifiers such as window.FluentOS, the fluentos.* localStorage keys, or IndexedDB names — changing them will break existing apps and user data.

4. Add your own apps

Each app is a JS file in js/apps/. The easiest path is to open the built-in Developer Center (Settings → Labs → turn off "Hide Developer Center") and use the visual app builder.

From the console you can call the system API directly:

FluentOS.openApp('files');      # open Files
FluentOS.setTheme('dark');      # switch to dark
FluentOS.notify('hello', 'notification body');
FluentOS.debug.getState();      # inspect state

5. Regenerate manifests after changes

Whenever you touch index.html, js/, css/ or Theme/, rerun these scripts or boot validation will fail:

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\generate-resource-manifest.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\generate-storage-manifest.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\validate-project.ps1

6. Deploy

Drop the whole 27.0/ folder onto any static host. The official site nyouos.pages.dev runs on Cloudflare Pages:

  1. Sign up for Cloudflare Pages, connect your Git repo or upload the folder directly.
  2. Leave the build command empty; set the output directory to 27.0 (or your subfolder).
  3. Bind your custom domain.

7. GPLv3 obligations

Because NyouOS is GPLv3, if you distribute a modified version (including as a public website), you must:

Source repositories

NyouOS is open source under GPLv3. Two mirrors are kept in sync; clone either:

Contact

📮 Apps / partnerships / feedback: nyouos@163.com
Always include [发布App] in the subject when submitting an app.