# oh_webos **Repository Path**: lightsever/oh_webos ## Basic Information - **Project Name**: oh_webos - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # oh_webos HarmonyOS WebView 桌面 server。在 host 上跑一个 HTTP/WebSocket 服务器,浏览器(含 HarmonyOS 设备浏览器)连接后渲染桌面 UI,可加载多个 webview app。 ## 构建 ```bash ./install.sh ``` 脚本会 `dotnet build` 并 symlink 到 `~/bin/oh_webos`。 ## 用法 ```bash # 启动 server(默认端口 9903,被占用则自动找下一个可用端口) oh_webos startserver # 停止 server oh_webos stopserver # 打开浏览器到 server oh_webos show # 在桌面里启动一个 app oh_webos run hello # 列出所有已注册的 app oh_webos applist ``` 启动 server 后,访问 `http://127.0.0.1:/` 或 `http://<内网IP>:/` 即可看到桌面。 ## 架构 - **C# WebSocket server** (`src/oh_webos/`):负责桌面状态、终端 PTY、app 注册、文件 API - **HTML/JS 桌面客户端** (`src/oh_webos/content/desktop.html`):xterm.js 终端 + dock + 多窗口管理 - **apps** (`apps/`):每个 app 一个目录,含 `manifest.json` + `app.ts/app.js/app.css` ## apps 每个 app 目录结构: ``` apps// ├── manifest.json # id, name, icon, windows, ... ├── app.ts # 主窗口 TypeScript 源码 ├── app.js # 编译产物(运行时加载) ├── app.css # 样式 └── .ts # 子窗口(可选) ``` `apps/tsconfig.json` + `apps/types.d.ts` 是共享 TypeScript 配置和全局类型声明。 ## 单实例 server 在 `~/.oh_webos/server.json` 记录 PID/端口。再次 `startserver` 会提示已在运行而非启动第二个。 ## 来源 从 [oh_dotnettool](https://gitee.com/lightsever/oh_dotnettool) 移植而来,oh_webos 专注 webview 桌面 server,oh_tool 保留 hdc/hap 命令。