Skip to content

[Feature]: 支持 Artifacts 预览和 HTML 实时渲染 #36

Description

@chenyme

Affected area

Frontend / UI

Problem or use case

当前对话中如果模型生成 HTML、CSS、JavaScript 或完整页面代码,用户只能查看代码文本,无法直接在应用内预览最终效果。对于网页片段、组件 Demo、可视化页面、交互原型等内容,需要手动复制到外部环境运行,使用成本较高。

希望支持类似 Artifacts 的预览能力,让用户可以直接查看模型生成内容的实时渲染效果。

Proposed behavior

支持 Artifacts 预览和 HTML 实时渲染能力:

  • 当模型生成 HTML / CSS / JavaScript / React 组件等可预览内容时,可以在对话中打开预览面板。
  • 支持 HTML 内容的安全沙箱渲染,避免影响主应用环境。
  • 支持代码和预览之间切换。
  • 支持实时更新渲染效果,流式生成过程中可逐步刷新预览。
  • 支持复制源码、重新生成、下载 HTML 文件等基础操作。
  • 渲染失败时展示清晰错误,而不是空白页面。
  • 预览环境应隔离脚本权限、网络访问、存储访问和父页面 DOM 访问,避免 XSS 或越权风险。

Alternatives considered

用户手动复制代码到外部开发环境中运行,但这种方式不够直观,也不适合快速预览模型生成的 UI 或页面效果。

Compatibility, deployment, or migration impact

配置变更:预计不需要,除非后续提供是否启用 Artifacts 的管理员开关。

API 变更:预计不需要,优先作为前端渲染能力实现。

数据库迁移:预计不需要。

部署变更:预计不需要。

向后兼容:现有对话内容保持不变。该能力应作为新增展示方式,不影响原有 Markdown、代码块和消息渲染。

Documentation or API contract impact

需要补充说明 Artifacts 预览能力、支持的内容类型、安全限制、沙箱策略和已知限制。

Pre-submit checklist

  • I searched existing issues and pull requests.
  • This request is focused on one feature or improvement.
  • I described user-facing, API, configuration, or deployment impact where relevant.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions