Repolode
charmbracelet

charmbracelet/bubbles

为 Bubble Tea 终端应用提供的一组现成 TUI 组件,包括输入框、表格、列表、进度条等。

Star
9,002
Fork
475
未关闭 Issue
250
最近提交
18天前

这是什么?

Bubbles 是为 Bubble Tea(基于 Elm 架构的终端应用框架)打造的 Go 语言 TUI 组件库。开发者无需从零实现常见控件,可以直接引入微调针、单行与多行文本输入框、表格、可过滤列表、可滚动视口、进度条、分页器、文件选择器、计时器和秒表,以及根据快捷键自动生成的帮助视图。

每个组件本身都是一个 Bubble Tea 模型,拥有自己的 Update 和 View 方法,可以嵌入到更大的应用中并与其他组件组合使用。其中的按键绑定包可以统一定义快捷键、支持用户自定义映射,并基于同一套绑定生成帮助文本。组件支持 Unicode 输入、粘贴、滚动以及样式自定义。当前为 v2 版本,使用 charm.land 作为导入路径。

核心功能

  • 01提供微调针、文本输入、多行文本区、表格、列表、视口和进度条等组件
  • 02分页器支持圆点样式或数字页码显示
  • 03文件选择器可按扩展名过滤文件
  • 04内置倒计时和秒表组件
  • 05根据按键绑定自动生成帮助视图

适用场景

  • 为 Go 命令行工具添加加载动画和进度条
  • 在终端应用中构建多字段表单
  • 在 TUI 应用中展示可滚动列表或表格数据
  • 在终端程序中让用户选择文件或自定义快捷键

使用前须知

  • README 中没有给出安装命令,因此无法提供快速开始步骤。
  • 从 v1 升级到 v2 需要参考单独的升级指南。
  • 这些组件专为 Bubble Tea 应用设计,因此还需要使用该框架。

标签

常见问题

bubbles 是什么?
为 Bubble Tea 终端应用提供的一组现成 TUI 组件,包括输入框、表格、列表、进度条等。 Bubbles 是为 Bubble Tea(基于 Elm 架构的终端应用框架)打造的 Go 语言 TUI 组件库。开发者无需从零实现常见控件,可以直接引入微调针、单行与多行文本输入框、表格、可过滤列表、可滚动视口、进度条、分页器、文件选择器、计时器和秒表,以及根据快捷键自动生成的帮助视图。
bubbles 可以免费使用吗?用的什么许可证?
bubbles 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
bubbles 还在维护吗?
活跃维护中。bubbles 最近一次提交是在 2026年10月4日。
bubbles 适合用来做什么?
为 Go 命令行工具添加加载动画和进度条 在终端应用中构建多字段表单 在 TUI 应用中展示可滚动列表或表格数据 在终端程序中让用户选择文件或自定义快捷键
在哪里获取 bubbles?
源代码和安装说明在 GitHub 上:https://github.com/charmbracelet/bubbles

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目