day50-dev/streamdown

Render markdown in the terminal streaming

解决的问题

Streamdown 解决了终端 Markdown 渲染器会‘劫持’屏幕进入全屏模式的问题。它提供了一种实时美化 LLM 及其他来源的 Markdown 输出的方法,而无需占据整个终端,使用户能够保持完整的键盘交互能力(如方向键和控制序列)。

工作原理

它既是一个快速、符合标准的库,也是一个命令行界面(CLI)。它可以通过标准管道、文件,或使用 --exec 标志作为其他程序的包装器来处理 Markdown,同时保持正确的 I/O 处理。它使用插件系统扩展其解析器和渲染器(例如支持 LaTeX 数学公式),并支持现代终端功能,如 OSC 8 超链接和 OSC 52 剪贴板集成。

适用人群

希望在终端中获得流畅、实时的 Markdown 渲染体验的开发者和 AI 高级用户,特别适用于 AI 工作流和 LLM 输出,同时不牺牲终端控制权。

特性亮点

  • 实时流式渲染:在生成时即时渲染 Markdown,非常适合 LLM 输出。
  • 非侵入式:不占据整个屏幕;保持标准终端行为。
  • 干净的代码复制:确保代码块可干净复制,不会插入额外换行。
  • 广泛支持:支持 CJK 字符且不截断,并在兼容终端中支持图像渲染。
  • 可扩展:内置插件系统,支持自定义解析和渲染逻辑。
  • 剪贴板集成:可自动将最终代码块复制到系统剪贴板。

相关

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