OpenCode 桌面/Web 前端的 SolidJS 主应用。src/app.tsx 组装全部 Provider(Server/SDK/ServerSync/Settings/Tabs/Command 等约 20 个 context,app.tsx:41-66)并注册 Session/Home/NewSession/Legacy 等路由;src/entry.tsx:5-11 通过 render 挂载 AppInterface 与 PlatformProvider;src/index.ts:1-30 导出 AppBaseProviders、AppInterface 及全部 context hooks(useServer/useSettings/useTabs 等)。桌面专属能力(desktop-menu.ts、updater.ts、wsl/ 目录)以子路径导出供 desktop 包复用。
· AppInterface 与 AppBaseProviders 根组件(SolidJS 应用壳)
· Server/SDK/ServerSync/Tabs/Settings/Command 等全套全局 context
· Session 会话页、Home 主页、NewSession 页、布局(新旧两套)页面
· WSL 服务器探测/管理类型与桌面菜单、更新器(updater.ts)
· i18n 中英双语词典与 locale 规范化(i18n/、context/language.tsx)
· draft-store 草稿持久化与 file-picker 常量(utils/draft-store.ts:30)
| 节点 | 机制 | 证据 |
|---|---|---|
| client | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/client |
| core | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/core |
| schema | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/schema |
| sdk | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/sdk |
| session-ui | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/session-ui |
| ui | workspace-dep | @opencode-ai/app/package.json dependencies.@opencode-ai/ui |
| 节点 | 机制 | 证据 |
|---|---|---|
| desktop | import | packages/desktop/src/renderer/index.tsx:17 |
作为 UI 应用壳层,将 session-ui/ui 的无状态组件与 server/core 的业务逻辑粘合为完整应用,同时为 desktop 提供可复用的桌面子模块(菜单/更新/WSL)出口。
官方底座,未被本机装配层直接引用
按目录分组的组级视图:点击组节点下钻查看组内模块依赖;点击模块节点查看完整路径。