SuperAPI AI 工具集

markstream-migration

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:当仓库已在使用 Markdown 渲染时,本技能用于安全地采用 Markstream,或将现有 markstream-vue 1.x 集成升级到 2.x。

迁移路线选择:先检查 package.json、锁文件、导入与渲染器 props。若已依赖 markstream-vue 1.x,阅读 references/vue-1x-to-2x.md 走路线 B,并以包依赖确认,而非仅凭 MarkdownCodeBlockNode 等共享名称判断。若要用 Markstream 替换 react-markdown、markdown-it、marked 等,阅读 references/adoption-checklist.md 走路线 A。两者都适用时,先完成 1.x 到 2.x 升级,再单独审计渲染器替换。

路线 A(采用 Markstream):审计现有渲染器用法,搜索渲染器、插件链、原始 HTML 处理、安全 props 与自定义渲染器,列出所有受影响调用点,并分类为 direct、renderer-custom、plugin-heavy、security-heavy。先替换渲染器,引入正确的 Markstream 包与 CSS(通过包 CSS 子路径导入,不依赖渲染器注入样式),在添加新特性前保持用户可见行为。迁移自定义渲染器时,将内置节点渲染器转为作用域节点类型覆盖;React 优先使用 renderer-local streamingComponents 与 htmlComponents,Svelte/Angular 优先使用 renderer-local customComponents;可信标签内容用 customHtmlTags;仅在旧管线确需时使用 parseOptions 的 preTransformTokens、postTransformTokens 或 postTransformNodes。如实说明差距,不宣称 1:1 对等。Vue 3 中 mode="chat" 用于 AI/SSE 输出,mode="docs" 用于富文档,mode="minimal" 用于轻量场景;仅需节奏控制时用 smooth-streaming="auto"(默认)。

路线 B(1.x 升级 2.x):冻结当前集成面,记录版本与解析结果,找出旧代码块依赖、渲染器值、props、公共类型、运行时辅助、预览处理器与直接解析器导入,确定最小验证集。选择一条发布线,编辑 manifest 前检查 registry 版本与 dist-tags。仅安装应用使用的适配器。按 references/vue-1x-to-2x.md 应用必要依赖与 API 变更,移除两个旧代码块运行时,将 monacoOptions / codeBlockMonacoOptions 重命名为 codeBlockOptions 并删除不支持的 Monaco 专属字段。仅在需要增强代码或 diff 块时添加 stream-diffs。保留现有 Markdown、图表、数学、HTML 策略、worker、CSS、流式与虚拟化设置,除非文档化破坏性变更要求修改。验证并保留回滚路径,报告可恢复旧线的确切 1.x 版本或 legacy dist-tag。

默认决策:先换渲染器再优化流式;不把版本升级当作渲染器采用重写;涉及 HTML 或安全规则时安全优先于功能对等;优先显式 TODO 而非模糊声明;当现有栈重度依赖 Markstream 未直接镜像的转换时,建议不要迁移。

限制:资料未提供具体安装命令、价格、平台支持范围与效果数据。