do-md/domd

30KB Markdown-native WYSIWYG editor for React, built for AI streaming, human editing, huge files, macOS, Web, and agent workflows.

解決する課題

DOMD は、大規模なファイルやリアルタイムストリーミングに関連する一般的な遅延やちらつきを回避する、高パフォーマンスな WYSIWYG Markdown エディタを提供します。Markdown の固定されたインライン構文の問題を解決し、開発者がドキュメント内に直接セマンティック型やインタラクティブな React コンポーネントを拡張できるようにします。

動作方法

中心となるのは、Markdown ドキュメントを真実のソースとして扱う Markdown ネイティブエディターカーネル(@do-md/core-react)です。中間のリッチテキスト形式に変換するのではなく、Markdown をそのまま扱います。解析とレンダリングには決定論的状態機械を使用し、変更されたノードのみを更新することで、効率的な更新を実現します。コラボレーションやオフライン作業には、オプションの Yjs プラグインを介して CRDT ベースの基盤を採用し、段落レベルでの競合のないマージとコンテンツ・カーソルのリアルタイム同期を可能にします。

対象ユーザー

  • 開発者:AI インターフェース、コラボレーティブワークスペース、または軽量でストリーミング対応の Markdown エディタを必要とする CMS フィールドを構築する人。
  • ライターおよびパワーユーザー:20,000 行までのドキュメントをパフォーマンス劣化なく処理できる、高速でローカルファーストの Markdown エディタが必要な人。
  • AIエージェント作成者:提供される CLI を使ってドキュメントにコンテンツをストリーミングしたり、自動的に再書き換えを実行したりできる。

特徴

  • 極めて軽量:Brotli 圧縮後、コアカーネルはわずか 30 KB 未満。
  • AI対応ストリーミング:LLM からのトークン単位の Markdown 出力を、ちらつきなく処理。途中の構文(例:開いている囲み記号)も正しくレンダリング。
  • 拡張可能な構文:Pandoc 風のインライン属性をサポートし、Markdown のスパンをライブな React UI コンポーネントに変換可能。
  • 競合のないマージ:段落内の細粒度なマージをサポートし、オフラインや複数デバイス間の同期を可能に。
  • ローカルファースト:ネイティブ macOS アプリとウェブエディタを提供。処理はすべてデバイス上で実行。

関連

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