AI Skill Hub 强烈推荐:Vue 终端UI框架 是一款优质的Agent工作流。AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
Vue 终端UI框架 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
Vue 终端UI框架 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:npm 全局安装 npm install -g vue-tui # 方式二:npx 直接运行(无需安装) npx vue-tui --help # 方式三:项目依赖安装 npm install vue-tui # 方式四:从源码运行 git clone https://github.com/vuejs-ai/vue-tui cd vue-tui npm install npm start
# 命令行使用
vue-tui --help
# 基本用法
vue-tui [options] <input>
# Node.js 代码中使用
const vue_tui = require('vue-tui');
const result = await vue_tui.run(options);
console.log(result);
# vue-tui 配置说明 # 查看配置选项 vue-tui --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export VUE_TUI_CONFIG="/path/to/config.yml"
Public beta — the @vue-tui/runtime API is stabilizing toward 1.0; dev-mode HMR is still experimental. Bug reports welcome.
vue-tui is a Vue-native application framework for interactive terminal UIs. Build with components, develop with HMR, test with confidence.
<p align="center"> <a href="https://npmx.dev/@vue-tui/runtime"><img alt="@vue-tui/runtime npm version" src="https://img.shields.io/npm/v/@vue-tui/runtime?label=%40vue-tui%2Fruntime&color=42b883"></a> <a href="https://npmx.dev/@vue-tui/use"><img alt="@vue-tui/use npm version" src="https://img.shields.io/npm/v/@vue-tui/use?label=%40vue-tui%2Fuse&color=42b883"></a> <a href="https://npmx.dev/@vue-tui/components"><img alt="@vue-tui/components npm version" src="https://img.shields.io/npm/v/@vue-tui/components?label=%40vue-tui%2Fcomponents&color=42b883"></a> <a href="https://npmx.dev/@vue-tui/vite"><img alt="@vue-tui/vite npm version" src="https://img.shields.io/npm/v/@vue-tui/vite?label=%40vue-tui%2Fvite&color=42b883"></a> <a href="https://npmx.dev/@vue-tui/testing"><img alt="@vue-tui/testing npm version" src="https://img.shields.io/npm/v/@vue-tui/testing?label=%40vue-tui%2Ftesting&color=42b883"></a> </p>
<template>, TSX, or both.@vue-tui/vite provides hot module replacement (HMR) in the terminal.@vue-tui/testing to render components, send terminal input, and inspect frames.<p align="center"> <a href="./examples/flappy-bird"><em>Flappy Bird</em></a> — one of the <a href="#examples">examples</a> included in the repo <br /><br /> <a href="./examples/flappy-bird"> <img src=".github/assets/flappy-bird-demo.gif" alt="Flappy Bird built with vue-tui" width="690" /> </a> </p>
Choose the method that matches your application.
| Example | Description |
|---|---|
[basic-template](./examples/basic-template) | Vue SFC with <template> syntax |
[basic-jsx](./examples/basic-jsx) | Same app in TSX |
[coding-agent](./examples/coding-agent) | AI coding agent with LLM streaming and interactive UI |
[flappy-bird](./examples/flappy-bird) | Physics-based terminal game with reactive state and borders |
[scroll-box](./examples/scroll-box) | Bounded viewport with app-controlled scrolling |
| Package | Description |
|---|---|
[@vue-tui/runtime](https://www.npmjs.com/package/@vue-tui/runtime) | @vue-tui/runtime is a Vue 3 renderer for terminal applications. It provides core components, layout, input, focus, and lifecycle APIs. _Its API is stabilizing._ |
[@vue-tui/use](https://www.npmjs.com/package/@vue-tui/use) | @vue-tui/use provides composables and components that use only public Runtime APIs. |
[@vue-tui/vite](https://www.npmjs.com/package/@vue-tui/vite) | vueTui() provides terminal HMR and default Vite settings for a standalone Node bundle. Embedded applications use their existing build without this plugin. _This package is experimental._ |
[@vue-tui/testing](https://www.npmjs.com/package/@vue-tui/testing) | @vue-tui/testing provides a deterministic host for component tests. Tests can inspect renderer frames or the emulated terminal screen. |
[@vue-tui/components](https://www.npmjs.com/package/@vue-tui/components) | @vue-tui/components provides <ScrollBox>, <Spinner>, <Table>, <Newline>, and <Spacer>. |
| Component | Import from | Description |
|---|---|---|
[<Box>](./packages/runtime/src/vue/components/box.vue) | @vue-tui/runtime | Layout container — flex, size, spacing, border, background, clipping, and v-show |
[<Text>](./packages/runtime/src/vue/components/text.vue) | @vue-tui/runtime | Text — foreground/background color, six modifiers, wrapping, truncation, and v-show |
[<Static>](./packages/runtime/src/vue/components/static.vue) | **@vue-tui/runtime/inline** | Commits a mounted subtree to Inline terminal history |
Box and Text have closed prop surfaces: unknown props, misspellings, browser attributes, and listeners such as @click are rejected at runtime instead of silently ignored. The full prop tables are in the Runtime guide.
v-show belongs to the visual host layer, not to a component allowlist. Vue forwards v-show through a component chain when its current effective root is one Box or Text. Custom single-root components therefore support it without additional code. Newline, Spacer, Spinner, ScrollBox, and a non-empty Table also support v-show. An empty Table with no explicit columns renders no host node or layout space.
Fragment and text roots produce a Vue development warning, and v-show has no effect. Comment roots ignore v-show without a warning. Static remains the explicit history-boundary exception.
Static is the only export on that subpath, and it is deliberately absent from the package root. It has no collection API — use ordinary Vue iteration with stable keys. Each instance commits its output once and then releases its subtree; effective Fullscreen rejects Static.
<script setup lang="ts">
import { Static } from "@vue-tui/runtime/inline";
</script>
<template>
<Static v-for="entry in completedEntries" :key="entry.id">
<CompletedEntry :entry="entry" />
</Static>
</template>
| Component | Import from | Description |
|---|---|---|
[<UseInputWhileMounted type?>](./packages/use/src/input-while-mounted/use-input-while-mounted.vue) | @vue-tui/use/components | Emits global input, optionally filtered by type, while mounted and renders only its default slot |
useKeyInput(), usePasteInput(), and useTextInput() deliver the exact frozen key, paste, and text members of TuiInputEvent. Paste preserves empty payloads, newlines, and control characters; text preserves optional logical-key information. All three accept the same live handler and reactive activation forms as useInput().
Both useInputWhileMounted forms retain useInput()'s broadcast semantics. A literal type narrows the handler or emitted event to the selected text, key, or paste member. The bound ref is a lifecycle signal rather than a focus or routing target; v-show remains mounted and active.
Higher-level components composed only from the primitives above, published separately so the core stays small. Package guide.
| Component | Description |
|---|---|
[<ScrollBox>](./packages/components/src/scroll-box/scroll-box.vue) | Bounded sticky-bottom viewport; the app drives scrolling through its imperative handle |
[<Spinner>](./packages/components/src/spinner/spinner.vue) | Animated loading spinner — dots / line presets or custom frames, optional label |
[<Table>](./packages/components/src/table/table.vue) | Non-interactive, terminal-width-aware bordered table for typed object rows |
[<Newline>](./packages/components/src/newline/newline.vue) | Emits count newline characters inside a <Text> |
[<Spacer>](./packages/components/src/spacer/spacer.vue) | A growing Box that fills the free main-axis space |
高质量的Vue终端UI框架,支持AI工作流
该工具未明确声明开源协议,商业使用前请联系原作者确认授权范围,避免侵权风险。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
总体来看,Vue 终端UI框架 是一款质量优秀的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | vue-tui |
| 原始描述 | 开源AI工作流:The Vue framework for terminal UIs. SFC & JSX, Yoga flexbox, HMR, and testing ou。⭐70 · TypeScript |
| Topics | vueterminaluitypescriptai |
| GitHub | https://github.com/vuejs-ai/vue-tui |
| 语言 | TypeScript |
收录时间:2026-05-29 · 更新时间:2026-05-30 · License:未公布 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端