Datasette 新插件:用沙箱 iframe 托管自定义 HTML 应用

Datasette 新插件:用沙箱 iframe 托管自定义 HTML 应用

_

Datasette 团队本周发布了一款名为 datasette-apps 的新插件,核心功能是允许用户在 Datasette 实例中托管自包含的 HTML+JavaScript 应用。这些应用运行在受限的 iframe 沙箱内,支持通过 JavaScript 对 Datasette 中的数据库执行只读 SQL 查询,若配置了存储查询(stored queries),还可执行写入操作。

安全机制

安全性通过两层机制保障:iframe 的 sandbox 属性禁止应用访问父级 DOM、Cookie 和 localStorage;此外,Datasette Apps 在页面启动时注入了一条不可被 JavaScript 修改的 CSP(内容安全策略)头部,阻止应用向外部域名发送 HTTP 请求,防止恶意代码外泄数据。作者在测试中发现,一旦页面加载后设置该 CSP 头,恶意脚本也无法动态移除或覆盖这条策略。

安全通信

为实现受控的 API 调用,作者采用了 MessageChannel() 而非基础的 postMessage()。前者的一大优势是页面导航时会自动关闭通道,降低被外部不可信页面劫持的风险。应用执行 SQL 或触发 CSP 错误时,相关日志会回传给父级窗口显示,方便开发者调试。

产品定位

作者将这项功能定位为「让 AI 生成的定制化前端获得持久关系型数据库能力」的尝试。其灵感来源于在 Eventbrite 搭建内部文档搜索系统的早期实践——当时用客户端 JavaScript 拼接 SQL 查询,被同事当作工程玩笑,但实际迭代效率出乎意料地好。

可用性

用户可通过 GitHub 账号登录 agent.datasette.io 体验。该项目还提供简单的起始模板与自定义时间轴的复杂示例供开发者参考。

编注:信源为 Hacker News,材料为详细的功能说明与设计思路,侧重安全机制与通信协议实现,未涉及插件的安装量、社区反馈或后续更新计划。


AI圈新词Loop Engineering:设计循环而非写prompt,Agent工程迎来第三次范式转移 2026-06-19
英国立法强夺中企投资:百年钢企的中国救星与它的12亿英镑教训 2026-06-19