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 测试宏、视觉快照测试和内置火焰图剖析。

主要用例

  1. AI/LLM 编码代理 – 为需要可靠 PTY 编排和快速 UI 反馈的代码生成机器人构建终端前端。
  2. DevOps 和云工具 – 具有虚拟标签页和高延迟容忍渲染的丰富、响应式 SSH 友好工作区。
  3. 交互式 Markdown – 通过语法高亮和内联代码执行进行实时编辑。
  4. 一般开发者生产力 – 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;未添加任何外部信息。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目