Библиотека Go с готовыми интерактивными виджетами — формами, таблицами, деревьями, списками и текстовыми полями — для создания терминальных интерфейсов.
mum4k/termdash
Кроссплатформенная библиотека на Go для создания настраиваемых терминальных дашбордов с изменяемым размером и интерактивными виджетами.
- Звёзды
- 3,044
- Форки
- 150
- Открытые issues
- 49
- Последний коммит
- в прошлом месяце
Что это?
Termdash — библиотека на Go для создания терминальных дашбордов. Она размещает виджеты в виде бинарного дерева или сетки, обрабатывает изменение размера окна терминала и периодически перерисовывает экран либо делает это в ответ на события. Разработчики могут задавать виджетам собственные границы, внешние и внутренние отступы и цвета, а также менять компоновку во время работы.
В библиотеку входит широкий набор виджетов: графики (линейный, столбчатый, круговой, кольцевая диаграмма, спарклайн, тепловая карта), индикаторы прогресса и статуса (шкала, текст, временная шкала, сегментный дисплей), а также элементы ввода (кнопка, текстовое поле, флажок, выпадающий список, переключатель, слайдер, вкладка, модальное окно). Библиотека обрабатывает события клавиатуры и мыши, а контейнеры и виджеты могут получать фокус.
Проект позиционируется как легко читаемая и тестируемая кодовая база. Публичные API могут меняться до выхода версии 1.0.0; несовместимые изменения перечислены в журнале изменений.
Ключевые возможности
- 01Компоновка в виде бинарного дерева или сетки с полноценной поддержкой изменения размера терминала.
- 02Изменение компоновки во время работы, в том числе контейнеры и виджеты, способные получать фокус.
- 03Обработка событий клавиатуры и мыши.
- 04Широкий набор виджетов: графики, индикаторы прогресса и элементы управления вводом.
- 05Поддержка текста в UTF-8 и примитивы рисования для разработки собственных виджетов.
Сценарии использования
- Создание терминальных дашбордов для мониторинга серверов, метрик или системных ресурсов в реальном времени.
- Разработка интерактивных терминальных инструментов на Go с формами, вкладками и модальными окнами.
- Визуализация в терминале потоковых данных, например логов, результатов нагрузочного тестирования или активности блокчейна.
Темы
Частые вопросы
- Что такое termdash?
- Кроссплатформенная библиотека на Go для создания настраиваемых терминальных дашбордов с изменяемым размером и интерактивными виджетами. Termdash — библиотека на Go для создания терминальных дашбордов. Она размещает виджеты в виде бинарного дерева или сетки, обрабатывает изменение размера окна терминала и периодически перерисовывает экран либо делает это в ответ на события. Разработчики могут задавать виджетам собственные границы, внешние и внутренние отступы и цвета, а также менять компоновку во время работы.
- termdash можно использовать бесплатно? Какая у него лицензия?
- termdash распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- termdash всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в termdash — 14 сент. 2026 г..
- Для чего можно использовать termdash?
- Создание терминальных дашбордов для мониторинга серверов, метрик или системных ресурсов в реальном времени. Разработка интерактивных терминальных инструментов на Go с формами, вкладками и модальными окнами. Визуализация в терминале потоковых данных, например логов, результатов нагрузочного тестирования или активности блокчейна.
- Где скачать termdash?
- Исходный код и инструкции по установке — на GitHub: https://github.com/mum4k/termdash
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Терминальный текстовый редактор и IDE без настройки: привычные сочетания клавиш, поддержка мыши, интеграция с LSP и командная палитра.
Rust-крейт для создания терминальных интерфейсов (TUI) с переиспользуемыми виджетами и простой моделью отрисовки.
Библиотека C++ в заголовочных файлах для создания терминальных интерфейсов в функциональном компонентном стиле, без внешних зависимостей.
Настраиваемая терминальная панель на Go, которая показывает в модулях часто проверяемые показатели и данные, например GitHub, календарь и DigitalOcean.
Терминальная панель мониторинга на Bubble Tea: один YAML-файл задаёт источники данных на основе shell-команд и сетку виджетов.