介绍
Incremark 是一个专为 AI 流式输出场景设计的增量式 Markdown 解析器。
问题背景
在 AI 对话场景中,AI 通常以流式方式输出 Markdown 文本。传统的处理方式是:
每次收到新 chunk → 拼接到已有文本 → 重新解析完整文本 → 重新渲染这种方式存在严重的性能问题:
- 重复解析:已经解析过的内容被反复解析
- CPU 开销大:随着文本增长,解析时间呈 O(n²) 增长
- 页面卡顿:用户体验差
解决方案
Incremark 采用增量解析策略:
每次收到新 chunk → 追加到缓冲区 → 检测完成的块 → 只解析新块 → 增量更新核心优势
- 已完成的块不再重新解析 - 长文档场景最高 46 倍加速
- 智能边界检测 - 准确识别块何时完成
- 保持解析正确性 - 处理代码块、列表等复杂嵌套结构
架构设计
┌─────────────────────────────────────────────────────┐
│ @incremark/core │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Parser │ │ Detector │ │ Types │ │
│ │ 增量解析器 │ │ 边界检测器 │ │ 类型定义 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│@incremark/vue│ │@incremark/react│ │@incremark/devtools│
│ Vue 集成 │ │ React 集成 │ │ 开发工具 │
└─────────────┘ └─────────────┘ └─────────────┘适用场景
- ✅ AI 聊天应用(ChatGPT、Claude 等)
- ✅ 流式文档生成
- ✅ 实时 Markdown 预览
- ✅ 需要低延迟渲染的场景
在线演示
立即体验 Incremark: