desktop

oc-desktop · package · G10-应用 · Layer 0

① 作用

Electron 桌面壳。src/main/index.ts:15-51 聚合应用生命周期:spawnLocalServer 拉起本地 sidecar 服务、registerIpcHandlers 注册 IPC、createMenu 构建原生菜单、setupAutoUpdater 自动更新、WSL sidecar 管理(wsl/servers.ts)、migrate 数据迁移与 store 清理;src/preload 暴露安全的桥接 API;src/renderer 复用 @opencode-ai/app 渲染 Web UI(renderer/cli.ts:7 通过 window.api.installCli 安装 CLI)。

② 提供能力

· Electron 主进程:窗口/菜单/托盘/深链(main/windows.ts、main/menu.ts)
· 本地 sidecar server 生命周期管理(main/server.ts spawnLocalServer)
· IPC 桥与 preload 安全 API(preload/index.ts)
· 自动更新(main/updater.ts + electron-updater)
· WSL 发行版内服务器编排(wsl/)
· 背景 CLI 与原生翻译注入(background-cli.ts、native-translations.ts)

③ 依赖(上游)

节点机制证据
appimportpackages/desktop/src/renderer/index.tsx:17
uisemantic-depstage-01 @opencode-ai/desktop

④ 被依赖(下游)

无下游依赖

⑤ 为什么存在(why)

设计意图(官方)

为 Web UI 提供原生桌面能力(本地服务托管/更新/菜单/WSL),是独立于 @opencode-ai/app 的 Electron 分发层。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

典型场景与协作

模块内部结构 DAG(108 模块 · 154 边 · 组级视图) 内部结构基线 v1.18.29,v1.18.35 包级结构未变(36 包集合逐一致)

按目录分组的组级视图:点击组节点下钻查看组内模块依赖;点击模块节点查看完整路径。

组级视图