AI 快讯 编译自 simon_willison #工具发布#Datasette#数据可视化

Datasette Apps 发布:在 Datasette 内托管自定义 HTML 应用,支持 SQL 查询

Datasette 团队推出 datasette-apps 插件,允许用户在 Datasette 实例中托管自包含的 HTML+JavaScript 应用,并通过 iframe 沙箱安全执行只读或写入 SQL 查询。本文详解其设计动机、使用场景,并分析对中文数据爱好者的实际价值。

编译发布 2026/06/19 原文发布 2026/06/18

一句话看懂

Datasette Apps 让你在 Datasette 中嵌入自定义 HTML+JS 应用,通过 iframe 沙箱安全执行 SQL 查询,实现数据驱动的交互式界面。

详细发生了什么

Datasette 团队发布新插件 datasette-apps,允许用户在 Datasette 实例中托管自包含的 HTML+JavaScript 应用。这些应用运行在严格限制的 iframe 沙箱中,可通过 JavaScript 对 Datasette 数据执行只读 SQL 查询。若配置了存储查询(stored queries),还可执行写入操作。

官方提供了两个示例:一个极简应用和一个复杂的时间线应用。后者展示了如何用 Datasette Apps 构建搜索、筛选、分页等功能,所有数据来自 Datasette 的 SQLite 数据库。该插件旨在让数据发布者轻松创建定制化的数据浏览界面,而无需搭建独立的前端服务。

中文圈视角

对中文用户而言,Datasette Apps 的价值在于:

  1. 降低数据可视化门槛:国内很多数据分析师和记者使用 Datasette 发布数据集,但定制前端界面需要额外学习 React/Vue 等框架。Datasette Apps 允许直接用 HTML+JS 写一个查询界面,部署在同一个 Datasette 实例上,无需单独托管。

  2. 与国产工具对比:类似功能在国产开源项目如 DataV(阿里)或 Superset 中需要复杂配置,而 Datasette Apps 更轻量。但注意 Datasette 本身是 Python 项目,国内用户可能需要自行部署(支持 Docker),且默认无中文界面。

  3. 合规提醒:若在 Datasette 中存储敏感数据,通过 Apps 暴露的 SQL 查询可能带来数据泄露风险。建议仅对公开数据集启用写入查询,或使用只读模式。

  4. 未被讨论的盲点:Datasette Apps 的 iframe 沙箱限制了 JavaScript 对父页面的访问,但 SQL 注入风险依然存在——用户编写的 SQL 查询可能被滥用,需谨慎配置权限。

几条值得记住的细节

  • 应用运行在 iframe 沙箱中,默认只读 SQL,写入需配置存储查询。
  • 示例时间线应用支持搜索、筛选、分页,数据来自 Datasette 的 SQLite 数据库。
  • 插件开源在 GitHub:datasette/datasette-apps,可通过 pip 安装。
  • 应用可被固定(pin)到 Datasette 界面,方便快速访问。
  • 支持全屏模式,适合嵌入到其他页面或大屏展示。

一句话总结

如果你用 Datasette 发布数据,现在可以零成本为它加上自定义交互界面,无需另起炉灶。