React-рендерер для создания интерактивных CLI-приложений с компонентами и Flexbox-макетами в терминале.
anomalyco/opentui
Библиотека для создания терминальных интерфейсов на Zig с биндингами для TypeScript, React и Solid.
- Звёзды
- 13,593
- Форки
- 787
- Открытые issues
- 214
- Последний коммит
- 14 часов назад
Что это?
OpenTUI — библиотека для создания терминальных интерфейсов. Её нативное ядро написано на Zig и доступно через биндинги для TypeScript, поэтому разработчики могут создавать терминальные приложения напрямую на TypeScript или собирать их с помощью рендереров React и Solid.
Для компоновки используется flexbox, позволяющий размещать в терминале блоки и текст. Среди встроенных компонентов — списки выбора, поля ввода и прокручиваемые области, которыми можно управлять с клавиатуры и мыши. Проект также поддерживает менее распространённые возможности терминала: воспроизведение звука, отображение изображений и рендеринг 3D-графики.
В монорепозитории есть несколько пакетов: ядро, рендереры React и Solid, библиотека привязки клавиш, компонент QR-кодов, рендерер Three.js WebGPU и интеграция с SSH-сервером. По заявлению проекта, OpenCode использует OpenTUI в production.
Ключевые возможности
- 01Нативное ядро на Zig с биндингами для TypeScript.
- 02Компоновка блоков и текста в терминале с помощью flexbox.
- 03Списки выбора, поля ввода и прокручиваемые области с поддержкой клавиатуры и мыши.
- 04Рендереры React и Solid для создания компонентных терминальных интерфейсов.
- 05Поддержка воспроизведения звука, отображения изображений и 3D-рендеринга.
Сценарии использования
- Создание интерактивных инструментов командной строки со сложной компоновкой.
- Создание терминальных дашбордов и интерфейсов в стиле чата на React или Solid.
- Доступ к терминальному приложению по SSH с помощью встроенной интеграции с сервером.
Быстрый старт
- 1
Установите основной пакет с помощью Bun
bun install - 2
Установите документацию OpenTUI как навык для ИИ-агента
npx skills add https://opentui.com --skill opentui
Что важно знать
- Для сборки из исходного кода требуются Bun версии 1.4.1 или выше и Zig 0.16.0.
Темы
Частые вопросы
- Что такое opentui?
- Библиотека для создания терминальных интерфейсов на Zig с биндингами для TypeScript, React и Solid. OpenTUI — библиотека для создания терминальных интерфейсов. Её нативное ядро написано на Zig и доступно через биндинги для TypeScript, поэтому разработчики могут создавать терминальные приложения напрямую на TypeScript или собирать их с помощью рендереров React и Solid.
- opentui можно использовать бесплатно? Какая у него лицензия?
- opentui распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- opentui всё ещё поддерживается?
- Активно поддерживается. Последний коммит в opentui — 21 окт. 2026 г..
- Для чего можно использовать opentui?
- Создание интерактивных инструментов командной строки со сложной компоновкой. Создание терминальных дашбордов и интерфейсов в стиле чата на React или Solid. Доступ к терминальному приложению по SSH с помощью встроенной интеграции с сервером.
- Как установить opentui?
- Установите основной пакет с помощью Bun: bun install Установите документацию OpenTUI как навык для ИИ-агента: npx skills add https://opentui.com --skill opentui
- Где скачать opentui?
- Исходный код и инструкции по установке — на GitHub: https://github.com/anomalyco/opentui
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Эффекты шейдеров WebGPU в виде готовых компонентов для React, Vue, Svelte, Solid и обычного JavaScript.
Простой терминальный интерфейс для git, который ускоряет подготовку изменений, коммиты, rebase и работу с ветками с помощью клавиатуры.
Терминальная программа для чтения и форматирования Markdown-файлов и репозиториев с оформлением в CLI.
Rust-крейт для создания терминальных интерфейсов (TUI) с переиспользуемыми виджетами и простой моделью отрисовки.
Терминальный просмотрщик и обработчик JSON для интерактивной навигации, сворачивания и преобразования данных в shell.