HeadlinesBriefing favicon HeadlinesBriefing.com

Capsule:单文件 SQLite Web 应用

Hacker News •
×

Hey HN,我一直有个问题:构建 HTML 页面很简单,但保存数据需要托管到某处,而且分享并不容易。过去几个月,我一直在开发一个名为 Capsule 的应用(这也是它的文件扩展名),它用 Rust 和 Tauri 2.0 编写,允许将 HTML 应用及其数据打包进单个 SQLite 文件。HTML 文件及任何相关资源直接嵌入数据库。用户数据既可以作为 localStorage 键值存储保存,也可以通过受 MongoDB 启发的集合 API 作为文档保存在文件的表中。你也可以直接将其他资源(如 PDF 文件或图片)保存在数据库中,以便将不同文档放在一起。如果需要,所有数据都可以轻松导出为 CSV 或 JSON。隐私和安全是重中之重,因此文档开箱即用时无法执行任何操作。它们没有直接访问文件系统的权限,访问互联网也需要授权。权限模型仍在持续改进中。Capsule 文档还可以使用本地或远程 AI 模型实现文档级 AI 功能。这种方法的一个缺点是:多人协作会产生不同的副本。为了能够合并同一文件的不同副本,每个数据条目都拥有唯一的 UUID 和时间戳。我计划在应用 1.0 版本时开放文件格式规范,以便其他应用能够读写 Capsule 文件。你可以在 https://withcapsule.app/preview 的网页预览中试用,使用预置模板或任意 AI 提供商创建自定义的、针对 Capsule 优化的应用。我仍在完善文件格式,但每个新版本都有迁移机制,因此将来使用更新版本的应用时数据永远不会丢失。