SuperAPI AI 工具集

datalens-html-pages

前端与建站

查看项目

更新于 10-15 20:33

技能介绍

用途:在 DataLens 中构建、修复或发布独立 HTML 页面或报告。这类页面是完整自包含的 HTML 文档,通常为 AI 生成报告,存于私有 bucket,通过短时效预签名 URL 在锁定沙箱 iframe 中渲染,上传时注入 CSP meta 标签。注意:它不用于图表内 HTML(如 markup 函数、HTML 表格单元格、ChartEditor.generateHtml),后者标签属性白名单更严且无脚本。

主要能力与限制:页面运行在 sandbox="allow-scripts" 且无 allow-same-origin 的不透明源 iframe 中。脚本可运行,但外部资源仅限白名单:脚本来自 cdn.jsdelivr.net、cdnjs.cloudflare.com、cdn.tailwindcss.com、yastatic.net 及 Yandex Maps 域名;样式另含 fonts.googleapis.com;字体另含 fonts.gstatic.com 与 data:;图片限 yastatic.net、Yandex Maps 主机、data:、blob:;媒体仅 data:/blob:;connect-src 仅 Yandex Maps 主机。需将数据内联进页面,禁用 localStorage、sessionStorage、indexedDB、cookie、fetch、XHR、WebSocket、嵌套 iframe、表单提交等。

使用方式:编写完整 <!DOCTYPE html>,内联自有 CSS/JS,库仅从允许 CDN 加载,Google Fonts 用标准 link 方式。Yandex Maps 使用 JS API 2.1(非 v3),从 api-maps.yandex.ru 加载,容器需固定高度。主题与语言通过查询参数读取:theme 取 light/dark/system,lang 取 ru/en,并做自适应设计。导出文件用 parent.postMessage({code:'EXPORT',data:{name,mime,data}},'*') 交给宿主;链接需拦截点击并 postMessage OPEN_URL。上传前用 python scripts/validate_page.py report.html 校验,编码须为 UTF-8 并在前 1024 字节声明 meta charset,大小上限约 10 MB,建议低于 5 MB,不要包裹 markdown 代码围栏。发布细节见 references/publication.md。设计方面,建报告或仪表盘前先询问用户是否采用 DataLens 设计原则;若无法询问则默认不应用并说明。适用场景为 AI 生成报告等独立页面;限制是页面为报告而非可信应用面,不应放入需保密的查看者数据、参数或私密实时 LLM 输出。