OPFS + Pyodide 测试工具:在浏览器中持久化编辑 SQLite 数据库
Simon Willison 发布了一个 OPFS + Pyodide 测试工具,探索在浏览器中通过 WebAssembly 运行 Python 应用并持久化编辑本地 SQLite 文件的可能性。对 Datasette Lite 用户和 Web 开发者有重要参考价值。
一句话看懂
Simon Willison 构建了一个 OPFS + Pyodide 测试工具,用于验证 Datasette Lite 能否在浏览器中持久化编辑用户本地的 SQLite 文件。
详细发生了什么
Simon Willison 一直在思考一个问题:Datasette Lite——一个完全在浏览器中通过 Pyodide 和 WebAssembly 运行的 Python Datasette 应用——是否能够编辑存储在用户电脑上的持久化 SQLite 文件?
为此,他利用 Claude Code for web 构建了一个测试工具(playground UI),名为“OPFS + Pyodide test harness”。该工具利用 Origin Private File System(OPFS,源私有文件系统)API,尝试在不同浏览器中实现浏览器内 Python 应用对本地文件的持久化读写。OPFS 是 File System API 的一部分,允许 Web 应用在用户同意的情况下,在浏览器沙箱内读写本地文件。
这个工具目前已在 simonwillison.net 上公开,任何人都可以访问并测试其在不同浏览器中的表现。
中文圈视角
这个测试工具对中文 Web 开发者有直接参考价值:
- 国产浏览器兼容性:OPFS 是较新的 API,Chrome、Edge 支持较好,但国产浏览器(如 360、QQ 浏览器)可能尚未完全实现。该工具可以帮助开发者快速验证自己的浏览器是否支持。
- Datasette Lite 的本地化潜力:如果 Datasette Lite 能通过 OPFS 编辑本地 SQLite 文件,那么中文用户可以在不安装 Python 环境的情况下,直接在浏览器中分析 CSV、JSON 等数据文件,对数据分析入门者非常友好。
- 平替方案:国内类似产品如“SQLite Viewer”或“DataGrip”的 Web 版,但大多需要服务器支持。OPFS + Pyodide 方案完全离线运行,数据不出本地,对注重数据安全的用户更有吸引力。
- 监管合规:数据完全在本地处理,不经过任何服务器,符合国内对数据出境的严格监管要求。
目前中文社区对此讨论较少,该工具填补了浏览器端 Python 持久化存储的测试空白。
几条值得记住的细节
- 工具地址:https://tools.simonwillison.net/opfs-pyodide
- 核心 API:Origin Private File System (OPFS),属于 File System API 的一部分
- 构建方式:使用 Claude Code for web 自动生成
- 目标应用:Datasette Lite,一个浏览器内的 Python Datasette 实例
- 测试目的:验证不同浏览器对 OPFS + Pyodide 组合的支持程度
一句话总结
这个测试工具让你在浏览器里跑 Python 并持久化编辑本地 SQLite 文件成为可能,尤其适合数据敏感的中文用户。