simonw/browser-compat-db
受Mozilla新推出的MDN MCP服务启发,Simon Willison将mdn/browser-compat-data仓库中的浏览器兼容性数据转换为SQLite数据库。他使用Claude Code for web (Opus 4.8)和sqlite-utils生成转换脚本,并通过GitHub Actions工作流将约66MB的数据库部署到GitHub CDN,支持开放CORS头,用户可以直接下载或通过Datasette Lite在线探索。
2026年6月24日,Simon Willison在其博客上发布了一个名为simonw/browser-compat-db的新项目。该项目源于Mozilla新推出的MDN MCP服务,该服务提供了一种通过模型上下文协议访问MDN文档的方式。受此启发,Willison决定将Mozilla维护的全面浏览器兼容性数据仓库mdn/browser-compat-data转换为SQLite数据库,以便更便捷地访问和查询。
为了实现这一转换,Willison利用了Claude Code for web(Opus 4.8)来生成Python脚本。该脚本依赖于他之前开发的sqlite-utils工具包,能够将JSON格式的兼容性数据高效地导入SQLite数据库。生成的数据库文件大小约为66MB,包含了大量关于浏览器、版本及特性支持的详细信息。
一个关键的挑战是如何让这个数据库能够通过GitHub CDN公开访问,并且支持开放的CORS头,以便其他应用能够直接获取数据。Willison注意到GitHub Releases并不提供CORS头,但存储在常规GitHub仓库中的文件默认支持CORS。于是他借助Codex Desktop(GPT-5.5)构建了一个GitHub Actions工作流。该工作流在每次更新时自动构建数据库文件,然后将生成的browser-compat.db文件强制推送到一个名为“db”的独立孤儿分支上。这样,数据库文件就托管在了GitHub的CDN上,并带有开放的CORS头。
用户可以直接从GitHub仓库的db分支下载该数据库文件,也可通过Datasette Lite在线工具进行交互式探索。Datasette Lite是一个基于Web的SQLite数据库浏览器,支持SQL查询,使得开发者能够快速检索特定浏览器版本的兼容性信息。例如,用户可以查询某个CSS属性在哪些浏览器版本中受支持。
Willison的这一举措展示了如何利用AI辅助编程工具(如Claude Code和Codex Desktop)与自动化工作流(GitHub Actions)相结合,将复杂的数据源转化为开放、可交互的资源。这不仅降低了前端开发中兼容性查询的门槛,也体现了AI在数据处理和工具构建中的潜力。