Upstream opencode, zero changes
The official Web UI and agent core run as-is — the project only applies idempotent patches. Whenever opencode ships, the new capabilities come along.
OC Desktop is the desktop form of opencode: Windows, Linux and macOS run the upstream official release, while HarmonyOS (2in1 / tablet) is delivered by this project as a third-party port. The opencode server lives inside the app itself and the official Web UI loads same-origin over a local port — zero upstream changes.
HarmonyOS edition v2.0.26 · based on upstream opencode v2.0.26 · built and signed (signed HAP)
Windows / Linux / macOS are distributed by upstream opencode (BETA) · downloads and source point at the official channels
OC Desktop for HarmonyOS (the UI itself is Simplified Chinese) — the shot follows the theme
why OC Desktop
The complete opencode experience, folded into a real desktop app.
The official Web UI and agent core run as-is — the project only applies idempotent patches. Whenever opencode ships, the new capabilities come along.
The server starts inside the app and the UI loads same-origin over a local port. Everything stays on the machine — no CORS, no cloud relay, no account.
A terminal PTY and external processes are unavailable on HarmonyOS, so plain-JS tools override shell / grep / glob instead — the capability lands in the app itself.
Only the permissions it needs — network plus document directories. Window title, UI and icons are unified as OC Desktop instead of the upstream brand.
pick your desktop
One app, four desktop shapes. The one you need is right below.
v2)shell, grep, glob.deb / .rpm / .AppImagebrew install --cask opencode-desktopOC Desktop is a desktop form built on the open-source project opencode: the Windows / Linux / macOS edition is distributed upstream, the HarmonyOS edition is this project's third-party port. Neither is affiliated with the upstream team.
HarmonyOS known limits: terminal PTY and tools that need external processes (LSP / MCP / git) are unavailable on this platform; installing plugins online is off by default.
how it works
The app starts the opencode server on the device (random port + password).
The renderer (ArkWeb / Chromium) loads the official Web UI embedded in the server.
Credentials and headers, data directories and tool overrides are handled by the shell — the UI needs no changes.
Zero upstream changes · No CORS · No custom protocol · Data stays local