编程 vue-tui:用Vue开发终端界面,3D旋转Logo + 流式Markdown渲染AI CLI界面

2026-07-25 08:42:37 +0800 CST views 8

vue-tui:用 Vue 开发终端界面,3D 旋转 Logo 只是开胃菜

来源:微信公众号

最近,Vue 生态又冒出了一个很离谱的项目。

终端里,一个巨大的 Vue Logo 正在旋转,周围还环绕着大量 Vue 核心贡献者头像。可以拖拽、旋转、缩放,甚至还带实时动画。

更关键的是,这套 3D 效果居然是用 Vue 写的。

尤雨溪看到之后,直接转发并发出灵魂疑问:3D in the terminal with Vue?!

vue-tui 是什么?

vue-tui 是一套用 Vue 开发终端界面的组件库和渲染工具链。

你依然可以使用熟悉的 Vue 能力:ref、computed、watch、Composition API、Vue 组件、模板语法、响应式状态。区别在于,最终渲染目标不再是浏览器中的 DOM,而是终端。

<script setup lang="ts">
import { ref } from 'vue'

const count = ref(0)
</script>

<template>
  <TBox>
    <TText>当前数量:{{ count }}</TText>
  </TBox>
</template>

写法和普通 Vue 页面非常接近。只需要维护状态和组件结构,底层渲染交给 vue-tui。

内置组件一览

组件用途
TBox容器盒子
TText文本
TInput输入框
TList列表
TSelect选择器
TTable表格
TTree树形结构
TDialog弹窗
TCommandPalette命令面板
TDataTable数据表格

菜单、表格、输入框、弹窗、树形结构、命令面板,都可以直接用 Vue 组件完成。

一套代码,多端运行

vue-tui 有一个很有意思的特性:一套 Vue 组件模型,可以运行在多个渲染环境

  • 浏览器 DOM
  • 终端 stdout
  • Headless tests

也就是说,可以先在浏览器中调试终端界面,然后再运行到真正的 CLI 中。测试时,也不需要每次都拉起真实终端。

它真正瞄准的是 AI CLI

看看现在的终端 AI 工具:Claude Code、Codex CLI、Gemini CLI、OpenCode——它们已经不再是传统意义上的命令行程序。

一个 AI CLI 通常需要同时展示:用户输入、模型思考状态、流式回答、Markdown、代码块、工具调用、Diff、运行日志、错误信息、多轮会话……过去一条一条执行 console.log() 的方式,已经很难支撑这种复杂界面。

vue-tui 对 AI 场景做了专门优化,其中非常重要的一项是流式 Markdown 渲染。项目可以针对不同 Markdown 内容进行单独处理,包括标题、列表、表格、链接、图片、代码块、Mermaid 等。

AI 输出内容时,是一个 Token 一个 Token 往外吐的。如果每新增一点文字,就重新解析整段历史内容,性能很快就会出问题。vue-tui 对流式内容做了单独的解析和渲染设计——已完成的内容固定下来,只更新还在生成的部分。

这类能力,明显是冲着 AI 对话、Agent Console 和实时日志来的。

总结

vue-tui 让 Vue 开发者可以用熟悉的方式写终端应用,不需要重新学习另一套 UI 开发思路。

它真正瞄准的是 AI 时代的新一代 CLI——终端正在重新变成一个完整的应用运行环境,承载智能 Agent、实时交互和复杂 UI。而 Vue,也正在从一个前端框架,逐渐变成一个更通用的 UI 开发模型。

GitHub:https://github.com/Simon-He95/vue-tui
官网:https://vue-tui.pages.dev/

推荐文章

HTML5的 input:file上传类型控制
2024-11-19 07:29:28 +0800 CST
Nginx 性能优化有这篇就够了!
2024-11-19 01:57:41 +0800 CST
JavaScript设计模式:发布订阅模式
2024-11-18 01:52:39 +0800 CST
使用Vue 3实现无刷新数据加载
2024-11-18 17:48:20 +0800 CST
Node.js中接入微信支付
2024-11-19 06:28:31 +0800 CST
120个实用CSS技巧汇总合集
2025-06-23 13:19:55 +0800 CST
ElasticSearch集群搭建指南
2024-11-19 02:31:21 +0800 CST
使用 node-ssh 实现自动化部署
2024-11-18 20:06:21 +0800 CST
Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
如何在Vue 3中使用Ref访问DOM元素
2024-11-17 04:22:38 +0800 CST
goctl 技术系列 - Go 模板入门
2024-11-19 04:12:13 +0800 CST
thinkphp swoole websocket 结合的demo
2024-11-18 10:18:17 +0800 CST
程序员茄子在线接单