SuperAPI AI 工具集

markstream-vue2-vite

前端与建站

查看项目

更新于 10-16 02:22

技能介绍

用途

markstream-vue2-vite 用于在宿主应用为 Vue 2、打包器为 Vite 的场景下,把 markstream-vue2 集成进项目。当 Codex 需要处理 Vite 友好的 worker 导入、为 Mermaid 等依赖配置 ?worker 或 ?worker&inline 时,可使用该技能。

主要能力与工作流程

  1. 确认仓库是 Vue 2 且使用基于 Vite 的工具链。
  2. 安装 markstream-vue2,并只安装被请求的可选 peer 依赖。
  3. 在 reset 样式之后引入 markstream-vue2/index.css。
  4. 当仓库需要打包 worker 时,使用 Vite worker 导入;此处允许 markstream-vue2/workers/... 配合 ?worker 或 ?worker&inline 模式。
  5. 对 Vue 2.6 仓库,明确 Composition API 的取舍决策。
  6. 对 AI 聊天或流式 UI,优先保留内容并使用内置的平滑流式渲染。

流式渲染相关配置

  • smooth-streaming="auto" 是默认值,当 typewriter=true 或 max-live-nodes <= 0 时激活。
  • typewriter 只控制闪烁光标,默认 false。
  • fade 控制节点进入与流式文本的淡入动画,默认 true。
  • 流式与历史恢复:在聊天 UI 中,同一个 MarkdownRender 先进行流式渲染,当 final=true 后切换为历史内容。
  • 流式场景:smooth-streaming="auto"、:fade="false"、typewriter=true。这是保守的视觉/性能选择,并非 API 不兼容。该适配器尚未采用 Vue 3 的有界追加淡入,因此同时启用两者前需验证其动画行为。
  • 恢复历史场景::smooth-streaming="false"、:fade="true"、typewriter=false。内容已完整,节奏控制会拖慢它,但淡入可提供精致的进入动画。
  • 动态切换::smooth-streaming="isStreaming ? 'auto' : false"、:fade="!isStreaming"。
  • 仅当内容由 worker 预解析、使用共享 AST store 或需要自定义 AST 控制时,才改用 nodes + final。

安全与默认决策

  • 记住 html-policy 现在默认为 safe,Mermaid 通过 mermaid-props 默认开启 strict 模式。
  • 在基于 Vite 的 Vue 2 仓库中,优先使用打包 worker 而非 CDN worker。
  • 保持 UnoCSS 或 Tailwind 的 reset 在 Markstream CSS 之前。
  • 仅当打包器特定选择无关紧要时,才使用通用的 markstream-vue2 技能。
  • 除非任务是保留可信的旧版渲染,否则保持 html-policy="safe" 与 Mermaid strict 模式。
  • 如果某个可信界面需要旧行为,仅在该界面使用 html-policy="trusted" 与 :mermaid-props="{ isStrict: false }",并说明原因。

验证与文档

  • 使用最小可用的 Vite dev 或 build 命令进行验证。
  • 相关文档目标:docs/guide/vue2-quick-start.md、docs/guide/vue2-installation.md、docs/guide/tailwind.md、docs/guide/troubleshooting.md。

适用场景与限制

适用于 Vue 2 + Vite 项目集成 markstream-vue2,尤其是需要打包 worker、处理 Mermaid、构建 AI 聊天或流式 Markdown 渲染界面的情况。限制方面:该适配器尚未采用 Vue 3 的有界追加淡入,同时启用相关动画前需自行验证;Composition API 在 Vue 2.6 仓库中需显式决策;安全策略默认收紧,放宽需限定在可信界面并说明理由。