vue-tui 0.1 正式发布:Vue 开发者终于能用组件写终端应用
Vue 杀进终端,vue-tui 0.1 来了
Vue 社区开发者 Yunfei He 发布了 vue-tui 0.1,Evan You 也转发了这条消息。对熟悉 Vue 的开发者来说,这件事很有意义:终端应用不再只能用 React Ink 那套心智模型,Vue 也能直接写 TUI 了。
它不是把网页塞进终端,也不是简单套一层命令行壳子,而是为 Vue 3 做了一套真正的终端渲染器。也就是说,响应式状态、、组件化写法、模板语法,都可以继续用,只是渲染目标从浏览器变成了终端。
最直观的变化:像写 Vue 页面一样写 TUI
vue-tui 的核心优势,是开发者几乎不用重新学习一套新语法。安装后引入运行时,就能直接写组件。比如一个能响应键盘输入的计数器,思路和普通 Vue 组件很接近:
<script setup lang="ts">
import { shallowRef } from "vue"
import { Box, Text, useInput } from "@vue-tui/runtime"
const count = shallowRef(0)
useInput((input) => {
if (input === "+") count.value++
if (input === "-") count.value--
})
</script>
<template>
<Box>
<Text>Count: </Text>
<Text bold color="green">{{ count }}</Text>
<Text dimColor> (+/- to change)</Text>
</Box>
</template>这种写法最大的好处是熟悉。Vue 开发者不用切换到完全陌生的命令行编程方式,依然可以用组件、状态和模板去组织界面。
布局不靠空格拼,靠真正的 Flexbox
做终端界面最麻烦的,往往不是输入和颜色,而是布局。终端屏幕是字符网格,窗口大小一变,靠手工拼空格的界面很容易乱掉。
vue-tui 使用 Yoga 计算布局,核心思路和 React Native、Ink 很像。开发者可以继续用熟悉的 flex 布局方式来组织内容,比如方向、对齐、间距、边框、背景等都由
这意味着前端开发者常见的布局思维基本可以平移过来,不需要再把终端当成“只能一行一行打印”的旧式控制台。
不只是菜单工具,而是完整终端应用框架
vue-tui 0.1 的能力明显不止基础 CLI。它已经覆盖了不少现代终端应用常见需求:
- 键盘输入与焦点管理:支持按键监听、Tab 导航和组件级焦点控制
- 现代终端能力:支持 Kitty keyboard protocol 和 bracketed paste
- 动画驱动:提供基于帧的动画支持
- 窗口响应:终端尺寸变化后可重新计算界面
- 无障碍支持:可检测屏幕阅读器并输出线性化内容
- 组件测试:可在模拟终端中渲染、输入、断言结果
仓库示例也很能说明方向。除了计数器,它还展示了 Flappy Bird、流式输出的 AI 编程 Agent 界面等内容。能跑这种示例,说明它瞄准的不是简单的一问一答工具,而是能持续刷新、接收输入、维护状态的完整终端应用。
开发体验也开始向现代前端靠拢
以前写终端程序,常见流程是改代码、退出、重新运行,再把操作流程走一遍。vue-tui 把这套体验往前端开发方式拉近了一步。
它提供了实验性的 CLI,执行 HMR热更新 相关开发命令后,可以通过 Vite 驱动终端里的热更新。修改 app.vue,界面会立即刷新。对于频繁调整布局和交互的 TUI 项目来说,这个能力很实用。
另外,它还提供了 @vue-tui/testing,可以在隔离的模拟终端里渲染组件,模拟用户按键,再检查最终输出。这种测试方式对交互类终端应用尤其重要,因为界面一复杂,手工回归会越来越慢。
为什么 Vue 开发者值得关注
vue-tui 也坦率承认,自己参考了 React Ink 的成熟设计,包括组件模型、Yoga 布局、焦点系统和渲染管线。这个路线并不丢人,反而很合理。
Ink 已经证明了“用前端组件模型做终端 UI”这件事是成立的。vue-tui 做的,是把这套成熟模式适配到 Vue 的响应式系统和开发习惯里。对熟悉 Vue 的团队来说,技术栈没变,运行场景却多了一块。
尤其在 AI 编程工具、终端代理、交互式脚手架这类场景里,TUI 的价值正在回升。很多工具已经不满足于输出日志,而是需要流式消息、输入框、权限确认、任务状态和多区域布局。AI Agent终端 这类应用,正好需要这种能力。
适合什么项目先试
从当前状态看,vue-tui 0.1 更适合验证和尝鲜,而不是直接承载核心生产业务。它已经是 Public beta,说明方向已经清晰,但稳定性和生态还在继续完善。
- 适合:个人工具、内部 CLI、终端 Demo、交互式脚手架、AI 原型
- 适合先试:需要 Vue 心智模型的 TUI 项目
- 暂缓重度依赖:长期维护的关键生产级终端系统
如果开发者本来就习惯 Vue,那么 vue-tui 的意义很明确:浏览器之外,Vue 又多了一个可以认真折腾的画布。对于想把组件化能力延伸到终端的人来说,这会是一个很值得关注的新选择。
创建: 2026-06-22
登录后才能发布评论哦
立即登录/注册