@yangxiaolang/smart-doc-sse-parser
v0.5.2
Published
TypeScript SDK for parsing the Smart Doc SSE response format.
Maintainers
Readme
smart-doc-sse-sdk
smart-doc-sse-sdk 是一个用于解析 Smart Doc SSE 响应的 TypeScript SDK。它把 smart-doc-plugin 里的协议处理抽成独立包,覆盖三层能力:
- SSE
data:事件解析与快照/流式消费 docs/think/error/ 正文的语义拆分- Markdown 整理与完整文档渲染
安装
pnpm add @alauda/smart-doc-sse-sdk本地开发使用 pnpm:
pnpm install
pnpm run build快速开始
如果你的输入是完整 SSE 快照:
import { parseSmartDocSseMessage } from '@alauda/smart-doc-sse-sdk';
const parsed = parseSmartDocSseMessage(rawSseSnapshot);
console.log(parsed.content);
console.log(parsed.message.refDocs);如果你还需要把结果整理成更稳定的 Markdown:
import {
formatSmartDocMarkdown,
parseSmartDocSseMessage,
renderSmartDocMarkdownDocument,
} from '@alauda/smart-doc-sse-sdk';
const parsed = parseSmartDocSseMessage(rawSseSnapshot);
const markdown = formatSmartDocMarkdown(parsed.content);
const fullDocument = renderSmartDocMarkdownDocument(parsed.message, {
title: 'Smart Doc Result',
question: 'How to install ACP?',
});核心规则
- 默认过滤
{"type":"metadata"}这类元数据事件 - 默认忽略
[DONE]这类结束消息 - 默认把
<trace>替换为<plg-hf-trace> parseSmartDocMessage()会提取<docs>/<think>/<error>- 当
data:事件之间存在空块时,会补一个换行符,尽量保留段落结构
文档
- API 说明:
docs/api.md - 规则说明:
docs/rules.md - Live Test:
docs/live-test.md - 开发说明:
docs/development.md
发布产物
对外入口是 src/index.ts,公开导出:
parseSmartDocSseSnapshotSmartDocSseParserconsumeSmartDocSseStreamconsumeSmartDocDisplayStreamparseSmartDocMessageparseSmartDocDisplayMessagenormalizeSmartDocReferenceDocsgetSmartDocDisplayThoughtProcessgetSmartDocDisplayResultparseSmartDocSseMessageformatSmartDocMarkdownrenderSmartDocMarkdownDocument
