day50-dev/streamdown
Render markdown in the terminal streaming
What it solves
Streamdown addresses the issue of terminal markdown renderers that "hijack" the screen into a full-screen experience. It provides a way to beautify markdown output from LLMs and other sources in real-time without taking over the terminal, allowing users to maintain full keyboard interactivity (such as arrow keys and control sequences).
How it works
It functions as both a fast, standards-compliant library and a command-line interface (CLI). It can process markdown via standard piping, files, or as a wrapper around other programs using the --exec flag to maintain proper I/O handling. It uses a plugin system to extend its parser and renderers (e.g., for LaTeX math) and supports modern terminal features like OSC 8 hyperlinks and OSC 52 clipboard integration.
Who it’s for
Developers and AI power users who want a polished, real-time markdown rendering experience in their terminal, specifically for AI workflows and LLM outputs, without sacrificing terminal control.
Highlights
- Real-time Streaming: Renders markdown as it is generated, suitable for LLM outputs.
- Non-Intrusive: Does not take over the full screen; maintains standard terminal behavior.
- Clean Code Copying: Ensures code blocks remain cleanly copyable without injected line breaks.
- Broad Support: Handles CJK characters without truncation and supports image rendering in compatible terminals.
- Extensible: Includes a plugin system for custom parsing and rendering logic.
- Clipped Integration: Can automatically copy the final code block to the system clipboard.
Related
- Project
- Project
- Project
- Project