tui

oc-tui · package · G8-终端UI · Layer 1

① 作用

终端 UI 应用。src/index.tsx:1 导出 run/TuiInput;src/app.tsx:1-50 用 @opentui/solid 渲染整棵组件树(SDK/Data/Location/Theme/Clipboard 等 Provider 与 Session 路由),构建在 @opencode-ai/sdk/v2 客户端之上(src/context/sdk.tsx:1)。src/plugin/runtime.tsx 加载 @opencode-ai/plugin/tui 插件,feature-plugins/ 内含 diff-viewer/notifications/which-key/sidebar 等内置插件(src/feature-plugins/builtins.ts:1)。

② 提供能力

· 终端渲染运行时(src/app.tsx:1,基于 @opentui/solid)
· 会话交互 UI:输入/补全/历史/frecency(src/component/prompt/*)
· 对话框系统:模型/agent/主题/会话列表等 20+(src/component/dialog-*.tsx)
· 内置 TUI 插件:diff-viewer/通知/which-key/侧栏(src/feature-plugins/builtins.ts)
· 多 Context Provider:sdk/data/sync/theme/clipboard(src/context/*)
· V2 SDK 数据层接入(src/context/data.tsx、sdk.tsx)

③ 依赖(上游)

节点机制证据
coreworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/core
pluginworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/plugin
sdkworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/sdk
uiworkspace-dep@opencode-ai/tui/package.json dependencies.@opencode-ai/ui

④ 被依赖(下游)

节点机制证据
cliworkspace-dep@opencode-ai/cli/package.json dependencies.@opencode-ai/tui
opencodesemantic-depstage-01 opencode

⑤ 为什么存在(why)

设计意图(官方)

将终端交互封装为独立可复用包,经 opencode 的 cli/tui/layer.ts 加载,同时支持 TUI 插件扩展(@opencode-ai/plugin/tui),使 CLI 与桌面端共用交互逻辑。

改造关联

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

⑥ 怎么用(how)

怎么用

典型场景与协作

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

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

组级视图