day50-dev/streamdown

Render markdown in the terminal streaming

解決する課題

Streamdownは、端末のmarkdownレンダラーが画面をフルスクリーンモードに奪ってしまう問題に対処します。リアルタイムでLLMやその他のソースからのmarkdown出力を美しく表示しつつ、端末を完全に占有せずに、矢印キーなどのキーボード操作を完全に維持できます。

動作方法

これは高速で標準準拠のライブラリとしても、コマンドラインインターフェース(CLI)としても機能します。標準パイプ、ファイル、または--execフラグを使って他のプログラムをラップすることで、markdownを処理できます。適切なI/O処理を維持します。プラグインシステムにより、パーサーやレンダラーを拡張できます(例:LaTeX数式のサポート)。また、OSC 8ハイパーリンクやOSC 52クリップボード統合といった現代的な端末機能もサポートしています。

対象ユーザー

AIワークフローおよびLLM出力向けに、端末で洗練されたリアルタイムmarkdownレンダリング体験を求める開発者やAIパワー・ユーザー。端末の制御を失わず、快適に利用できます。

特徴

  • リアルタイムストリーミング: 出力が生成されるたびにmarkdownをレンダリングし、LLM出力に最適です。
  • 非侵襲的: フルスクリーンを占有せず、標準的な端末の挙動を維持します。
  • クリーンなコードコピー: 改行が挿入されず、コードブロックをきれいにコピーできます。
  • 広範なサポート: CJK文字を切り捨てずに処理し、対応する端末では画像表示もサポートします。
  • 拡張可能: カスタムパースやレンダリングロジック用のプラグインシステムを備えています。
  • クリップボード統合: 最終的なコードブロックを自動的にシステムクリップボードにコピーできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト