Skip to content

Vue TUI

Vue TUI

Vue TUI 是面向 Vue 3 的 terminal UI component library 和 renderer toolkit。你可以用同一套组件模型渲染到浏览器 DOM,也可以渲染到真实终端 stdout;适合构建 CLI、terminal-style dashboard、日志视图、markdown transcript 和 agent console。

适合什么场景

  • 浏览器里的 terminal UI、playground、文档 demo 和视觉验收页面
  • 真实终端里的 Vue 组件式 CLI
  • 需要 DOM renderer、stdout renderer 和 headless tests 共用一套 UI 逻辑的项目
  • 大列表、append-only log、streaming markdown、agent transcript 这类高吞吐界面

安装

bash
pnpm add @simon_he/vue-tui vue

Vue 是 peer dependency。当前发布包支持 Vue >=3.3.0 <4

运行时支持

发布包的 CLI/runtime 目标支持 Node.js >=16.17。仓库开发、构建、文档与 release 校验仍建议使用 Node.js 20;这是工具链要求,不代表运行时要求。

入口选择

入口稳定性主要用途
@simon_he/vue-tuiPublicBrowser-safe terminal core、DOM renderer、稳定 Vue 组件和 input host plugin
@simon_he/vue-tui/corePublicterminal core、buffer-facing types、ANSI/theme/path/hyperlink helpers
@simon_he/vue-tui/renderer/domPublicDOM renderer factory 和 renderer capabilities
@simon_he/vue-tui/vueAdvanced扩展 Vue 组件、composables、router helpers 和 Vue runtime internals
@simon_he/vue-tui/runtimeAdvancedruntime wiring、selection helpers 和 clipboard abstraction
@simon_he/vue-tui/observabilityAdvancedframe perf store、profiler hooks 和 trace helpers
@simon_he/vue-tui/cliPublicNode-only headless app、stdin driver、stdout renderer、path provider、recording
@simon_he/vue-tui/markdownPublicTMarkdownTextTVirtualMarkdown、markdown parser、block source
@simon_he/vue-tui/mermaidPublicoptional beautiful-mermaid bridge、renderer helper、wrapper component
@simon_he/vue-tui/experimentalExperimentalTVirtualListTLogView、TLog companions、append-only log store
@simon_he/vue-tui/agentExperimentalagent/console 常用的 transcript、tool-call、log、markdown、overlay 组件聚合入口
@simon_he/vue-tui/agent/mermaidExperimentalagent namespace 下的 optional Mermaid bridge

稳定面是 terminal core、DOM renderer、CLI runtime、基础 Vue 组件、markdown API 和 optional Mermaid bridge。/experimental/agent API 仍可能在下一个 stable release 前变化;生产应用建议把这些 import 隔离在少量边界文件内。agent 代码需要 Mermaid wrapper 时可以用 /agent/mermaid,不改变 /agent 主入口的 optional peer 边界。

快速路径

目标先读这些页面
英文入口页Vue Terminal UIVue CLI UICLI Stdout RendererTerminal Log ViewerMarkdown Transcript
了解能力边界Live Showcase组件总览组件验收核心 API
跑示例Examples IndexAgent Console 示例
做 CLIRuntimeCLI EventsPlatform ContractsTerminal UI Best Practices
做高吞吐 UITerminal UI Best PracticesPerformanceBenchmarksOpenTUI Solid 对比协议高吞吐渲染TLogView Lab
准备发布API Maturity1.0 Release CandidateTLogView Release Readiness

完整 props / events 以 组件 API(自动生成) 为准。

核心模型

层级内容
CorecreateTerminal()、buffer、planes、ANSI、scrollback
RendererDOM renderer、stdout renderer、row cache、ANSI output
Vue LayerTerminalProvider、布局组件、交互组件、runtime、router
Eventspointer / keyboard / wheel 映射、capture/bubble、focus

常见组合是把 transcript、chrome、input 和 overlay 分到不同 TRenderPlane,让高频正文更新和低频 UI chrome 拆开 repaint。

示例命令

bash
pnpm -C examples/basic dev
pnpm run run:basic:terminal
pnpm run run:agent-console:terminal
pnpm run example:tlog-view-lab
pnpm run example:agent-console
pnpm run example:agent-console:smoke

发布前完整验证:

bash
pnpm run release:dry-run

反馈

Bug reports, feature requests, and documentation issues are tracked on GitHub Issues.