Терминальный менеджер загрузок на Go с управлением с клавиатуры: разбивает файлы на параллельные части и загружает их с нескольких зеркал.
charmbracelet/bubbletea
Фреймворк на Go для создания терминальных интерфейсов по паттерну model-update-view из The Elm Architecture.
- Звёзды
- 45,471
- Форки
- 4,035
- Открытые issues
- 272
- Последний коммит
- 13 дней назад
Что это?
Bubble Tea — фреймворк на Go для создания терминальных приложений: от небольших интерактивных утилит до полноэкранных программ. Он следует The Elm Architecture: приложение представлено моделью, хранящей состояние, функцией Update, обрабатывающей сообщения, например нажатия клавиш, и функцией View, которая отображает интерфейс на основе этого состояния. Среда выполнения сама перерисовывает интерфейс, поэтому разработчикам достаточно описать UI, не управляя выводом в терминал вручную.
Фреймворк поддерживает встроенную в строку, полноэкранную и смешанную компоновку. В него входят отрисовщик на основе ячеек, понижение глубины цвета для терминалов с ограниченной палитрой, декларативные представления с настройками вроде режима alternate screen и отслеживания мыши, обработка ввода с клавиатуры и мыши, а также поддержка буфера обмена. Команды позволяют выполнять операции ввода-вывода, например запускать таймеры или отправлять сетевые запросы, не блокируя интерфейс.
Bubble Tea часто используют вместе с соседними библиотеками того же проекта: Bubbles с готовыми компонентами, например полями ввода и областями просмотра, Lip Gloss для стилизации и компоновки, а также Harmonica для анимации.
Ключевые возможности
- 01Реализует The Elm Architecture с методами Init, Update и View у модели.
- 02Предоставляет отрисовщик на основе ячеек и встроенное понижение глубины цвета.
- 03Поддерживает встроенную в строку, полноэкранную и смешанную компоновку терминала.
- 04Обрабатывает ввод с клавиатуры и мыши, а также обеспечивает нативный доступ к буферу обмена.
- 05Предлагает систему команд для асинхронных операций ввода-вывода, например таймеров и запросов.
Сценарии использования
- Создание на Go интерактивных CLI-утилит с формами, списками или меню.
- Создание полноэкранных терминальных панелей мониторинга или файловых менеджеров.
- Разработка терминальных игр и визуализаций, реагирующих на события ввода.
Быстрый старт
- 1
Импортируйте пакет Bubble Tea v2 в код Go
- 2
Скачайте bubbletea и его зависимости
go mod tidy
Что важно знать
- Проект написан на Go, поэтому для его использования нужны практические знания Go.
- Для перехода с v1 необходимо следовать отдельному руководству по обновлению, поскольку в v2 изменён API.
Темы
Частые вопросы
- Что такое bubbletea?
- Фреймворк на Go для создания терминальных интерфейсов по паттерну model-update-view из The Elm Architecture. Bubble Tea — фреймворк на Go для создания терминальных приложений: от небольших интерактивных утилит до полноэкранных программ. Он следует The Elm Architecture: приложение представлено моделью, хранящей состояние, функцией Update, обрабатывающей сообщения, например нажатия клавиш, и функцией View, которая отображает интерфейс на основе этого состояния. Среда выполнения сама перерисовывает интерфейс, поэтому разработчикам достаточно описать UI, не управляя выводом в терминал вручную.
- bubbletea можно использовать бесплатно? Какая у него лицензия?
- bubbletea распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- bubbletea всё ещё поддерживается?
- Активно поддерживается. Последний коммит в bubbletea — 8 окт. 2026 г..
- Для чего можно использовать bubbletea?
- Создание на Go интерактивных CLI-утилит с формами, списками или меню. Создание полноэкранных терминальных панелей мониторинга или файловых менеджеров. Разработка терминальных игр и визуализаций, реагирующих на события ввода.
- Как установить bubbletea?
- Импортируйте пакет Bubble Tea v2 в код Go Скачайте bubbletea и его зависимости: go mod tidy
- Где скачать bubbletea?
- Исходный код и инструкции по установке — на GitHub: https://github.com/charmbracelet/bubbletea
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Терминальная программа для чтения и форматирования Markdown-файлов и репозиториев с оформлением в CLI.
Терминальная заставка на Go, которая запускается при простое shell и показывает анимированные сцены: созвездия, дождь, частицы и другие.
CLI и TUI, которые прослеживают цепочку систем, запустивших процесс, занявших порт или контейнер либо открывших файл.
Консольный менеджер паролей для команд, совместимый со стандартным UNIX-инструментом pass; хранит секреты в зашифрованном виде с помощью GPG и ведёт их версии в git.
Консольная TUI-утилита на Go для поиска устройств в локальной сети и изучения их характеристик без повышенных привилегий.