Skip to content

介绍

Incremark 是一个专为 AI 流式输出场景设计的增量式 Markdown 解析器

问题背景

在 AI 对话场景中,AI 通常以流式方式输出 Markdown 文本。传统的处理方式是:

每次收到新 chunk → 拼接到已有文本 → 重新解析完整文本 → 重新渲染

这种方式存在严重的性能问题:

  • 重复解析:已经解析过的内容被反复解析
  • CPU 开销大:随着文本增长,解析时间呈 O(n²) 增长
  • 页面卡顿:用户体验差

解决方案

Incremark 采用增量解析策略:

每次收到新 chunk → 追加到缓冲区 → 检测完成的块 → 只解析新块 → 增量更新

核心优势

  1. 已完成的块不再重新解析 - 长文档场景最高 46 倍加速
  2. 智能边界检测 - 准确识别块何时完成
  3. 保持解析正确性 - 处理代码块、列表等复杂嵌套结构

架构设计

┌─────────────────────────────────────────────────────┐
│                    @incremark/core                   │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  │
│  │   Parser    │  │  Detector   │  │    Types    │  │
│  │  增量解析器  │  │  边界检测器  │  │   类型定义   │  │
│  └─────────────┘  └─────────────┘  └─────────────┘  │
└─────────────────────────────────────────────────────┘

          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
   ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
   │@incremark/vue│ │@incremark/react│ │@incremark/devtools│
   │  Vue 集成    │ │  React 集成  │ │   开发工具   │
   └─────────────┘ └─────────────┘ └─────────────┘

适用场景

  • ✅ AI 聊天应用(ChatGPT、Claude 等)
  • ✅ 流式文档生成
  • ✅ 实时 Markdown 预览
  • ✅ 需要低延迟渲染的场景

在线演示

立即体验 Incremark:

下一步

Released under the MIT License.