AI交互组件开发Skill

AI 对话流式渲染、打字机、可视化图表组件的开发模式。当需要开发 AI 对话界面、流式输出渲染、图表可视化等交互组件时使用。

Sky-Cube 34c6342 2.3 KB Updated

File contents

AI交互组件开发Skill

适用场景

开发 AI 交互类前端组件:对话消息流式渲染、打字机效果、Markdown 渲染、图表可视化、会话控制(停止/重新生成)。

执行步骤

  1. 流式渲染:消费 SSE 或回调流,增量追加文本到消息状态;渲染用 requestAnimationFrame 或短间隔批量合并,避免逐字高频渲染。
  2. 打字机效果:基于流式增量直接渲染即为天然打字机;需要动画时按帧推进,支持「停止/继续/中断」状态切换。
  3. Markdown 渲染:选成熟渲染库,渲染前必须 sanitize 过滤脚本与危险标签,禁止直接 v-html/dangerouslySetInnerHTML 未经消毒内容。
  4. 图表可视化:数据到图表组件(如 ECharts)统一走适配层;大数据量下采样;图表 resize 与主题切换统一处理。
  5. 会话控制:停止生成(中断请求并清理连接)、重新生成、清空会话;每个消息带状态(进行中/完成/失败/已中断)。
  6. 异常与性能:断流重连或提示重试;长会话列表虚拟滚动;消息内容防抖保存,避免高频接口调用。

规范要点

  • 流式连接必须随组件销毁清理,防止内存泄漏与后台请求堆积。
  • AI 输出内容一律视为不可信:渲染前 sanitize,链接加 rel 与白名单校验。
  • 进行中状态禁止用户重复触发同一请求,停止/中断必须真正终止网络请求。
  • 图表配置抽为可复用封装,禁止页面内堆积配置对象;数据更新与销毁时机明确。
  • 长文本与长列表必须虚拟化,滚动跟随与用户手动滚动区分处理。

输出模板

## AI 交互组件方案
组件清单:流式消息/输入框/停止控制/Markdown 渲染/图表
流式处理:SSE 解析方式 + 渲染合并策略 + 中断清理
安全处理:内容 sanitize 方案 + 链接/脚本白名单
会话状态机:消息状态流转(进行中/完成/失败/中断)

自检清单

  • 流式增量渲染无卡顿,连接随销毁清理
  • AI 输出内容渲染前 sanitize,无 XSS 风险
  • 停止/中断真正终止请求,无重复提交
  • 长列表虚拟滚动,图表统一封装
  • 失败/中断状态有明确 UI 与重试入口

Sky-Cube/fullflow-dev-agent/tree/main/.claude/skills/ai-interactive-components commit 34c634240b

Frequently asked questions

npx skillmds@latest add sky-cube/ai-skill-4