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 編輯器,避免大檔案或即時串流所導致的常見卡頓與閃爍問題。它透過允許開發者擴展語法,以包含語意類型與直接嵌入文件中的互動式 React 組件,解決了 Markdown 固定內聯語法的問題。

工作原理

核心是一個原生 Markdown 編輯器內核(@do-md/core-react),將 Markdown 文件視為唯一真實來源,而非轉換為中間的富文本格式。它使用決定性狀態機進行解析與渲染,確保僅更新變更的節點。針對協作與離線工作,它透過可選的 Yjs 插件採用 CRDT 基礎架構,支援段落級別的無衝突合併,以及內容與游標的即時同步。

適用對象

  • 開發者:建構 AI 界面、協作工作區,或需要輕量、支援串流的 Markdown 編輯器的 CMS 欄位。
  • 寫作者與進階使用者:需要一個快速、以本地為先的 Markdown 編輯器,能處理高達 20,000 行的文件而不會出現效能下降。
  • AI 代理創作者:可使用提供的 CLI 將內容串流至文件中,或自動化重寫。

主要特色

  • 極輕量:核心內核在 Brotli 壓縮後僅約 30 KB。
  • AI 就緒串流:可無閃爍地處理來自 LLM 的逐 token Markdown 輸出,並在串流過程中正確渲染部分語法(如未閉合的程式碼區塊標記)。
  • 可擴展語法:支援 Pandoc 風格的內聯屬性,可將 Markdown 段落轉換為即時的 React UI 組件。
  • 無衝突合併:支援段落內的細粒度合併,適用於離線與多裝置同步。
  • 本地優先:提供原生 macOS 應用與 Web 編輯器,所有處理皆在裝置本地完成。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案