r3bl-org/r3bl-open-core
Fully async Rust TUI engine 🦀. For powering AI/LLM coding agents, Cloud/SSH workflows & interactive CLIs: non-blocking readline, inline dialogs, React/Elm-style full-screen TUI, Markdown editor, PTY multiplexing & rust-analyzer MCP server.
r3bl-open-core (ROC)
简介 – 一个基于 Rust 的异步终端用户界面(TUI)框架,将现代响应式 UI 模式(类似 React/Elm)带到命令行。它以五个 crate 的 monorepo 形式提供,核心是 r3bl_tui,并包含现成的生产力应用和构建工具。
对 AI/LLM 工作流的重要性 – ROC 明确设计用于托管 AI 编码代理和执行框架的快速交互式前端。与典型的基于 Node/ink 的终端不同,它运行纯 Rust,提供零延迟 PTY 处理、非阻塞输入和确定性进程生命周期——这在编排长时间运行的沙箱工具(容器、微虚拟机等)时至关重要。
主要功能
- 异步、非阻塞 I/O –
readline_async让 REPL 在用户输入时继续运行后台任务。 - 内联对话框 –
choose提供单次多选菜单,内联渲染而不会占用整个屏幕。 - 全屏应用 – 响应式、防恐慌的原始模式 UI,具有声明式 CSS 样式、flexbox 布局和内置 Markdown 编辑器。
- 终端多路复用和 PTY – 内存虚拟终端、虚拟标签页、二维水平平移,以及将子进程输出与可见视口分离的 PTY 多路复用器。
- Unicode 感知渲染 –
GCString正确处理字素簇、复杂表情符号和宽字符,防止切片恐慌和视觉撕裂。 - 性能优先设计 – 基于 newtype 的坐标安全、SIMD 支持的
Flat2DArray缓冲区、双缓冲差异渲染,以及绕过crossterm实现最小延迟的 Linux 专用自定义direct_to_ansi驱动器。 - 跨平台 – 在 Linux(原生驱动程序)、macOS、Windows 和 BSD 上通过
crossterm回退方式工作。 - 测试和基准测试 – 无头 PTY 测试宏、视觉快照测试和内置火焰图剖析。
主要用例
- AI/LLM 编码代理 – 为需要可靠 PTY 编排和快速 UI 反馈的代码生成机器人构建终端前端。
- DevOps 和云工具 – 具有虚拟标签页和高延迟容忍渲染的丰富、响应式 SSH 友好工作区。
- 交互式 Markdown – 通过语法高亮和内联代码执行进行实时编辑。
- 一般开发者生产力 –
giti、edi和env-source等应用展示了如何组合可重用的终端组件。
生态系统
| Crate | 角色 |
|---|---|
r3bl_tui |
核心异步 TUI 引擎、PTY 原语 |
r3bl-cmdr |
现成的生产力应用(git UI、编辑器、env 加载器) |
r3bl-build-infra |
构建时工具(cargo-rustdoc-fmt、spawny) |
r3bl-rust-analyzer-mcp-server |
用于 IDE/代理集成的高性能 rust-analyzer 服务器 |
r3bl_analytics_schema |
隐私优先的分析和升级模式 |
成熟度 – crates.io 上超过 270 万 次下载,仓库内置自动化跨平台测试和基准测试。该项目通过将外部依赖限制在维护良好的基础库(如 tokio、mio 和 mimalloc)来强调供应链完整性。
入门指南 – 通过 Cargo 将所需 crate 添加到 Rust 项目,然后使用提供的原语(readline_async、choose、全屏小部件)来组合应用。README 包含演示 PTY 多路复用和水平平移的示例二进制文件(例如 pty_mux_example)。
所有细节直接取自仓库的 README;未添加任何外部信息。
相关
- 项目
- 项目
- 项目
- 项目
- 项目