SuperAPI AI 工具集

charm-stack

通用与其它

查看项目

更新于 10-16 01:12

技能介绍

用途:使用 Charm 技术栈构建终端用户界面(TUI)。Bubbletea 是框架,Bubbles 提供组件,Lipgloss 负责样式,Huh 用于表单。适用于创建 TUI 应用、交互式表单、带样式的终端输出等场景。

主要能力:

  • Bubbletea:采用 Elm 架构(Model-Update-View),处理消息(KeyMsg、WindowMsg、自定义消息),支持 tea.Cmd 异步命令、tea.Batch 批量命令、tea.Tick 定时命令、窗口尺寸处理及程序选项(如 WithAltScreen、WithMouseCellMotion)。
  • Bubbles 组件:提供 Spinner(多种类型如 Dot、Line、Pulse 等)、Text Input、List、Table、Viewport(滚动)、Progress 等现成组件,每个都是 tea.Model。
  • Lipgloss 样式:支持颜色(ANSI 16/256、True Color、自适应色)、布局与间距(Width、Height、Padding、Margin、Align)、边框(多种类型及选择性边框)、JoinHorizontal/JoinVertical 拼接、Place 定位,以及粗体、斜体、下划线等高级样式。
  • Huh 表单:构建交互式表单,字段类型包括 Input、Text、Select、MultiSelect、Confirm,支持校验、分组、无障碍模式,并可嵌入 Bubbletea 中。

使用方式:按 Elm 架构实现 Init、Update、View 三个函数;通过 tea.NewProgram 启动程序;组合 Bubbles 组件并调用其 Update/View;用 Lipgloss 定义样式并渲染;用 Huh 创建表单并运行。项目可参考 CLY 的模块结构(cmd.go 注册命令,spinner.go 定义模型)。

适用场景:终端交互式应用、命令行工具界面、表单输入、带样式的终端输出、加载状态展示等。

限制:资料未提供具体安装命令、收费信息、平台支持范围及性能数据;需遵循 Elm 架构,不可跳过 Init,需正确处理 tea.Cmd 以支持异步操作。