HN 日本語サマリー

← 一覧へ戻る
Web開発

Show HN: Capsule – データをSQLiteに保存する単一ファイルWebアプリ

Show HN: Capsule – Single-file web apps that save their data into SQLite (withcapsule.app)

352 pointsby bashtian150 コメント

要約

Capsuleは、HTMLアプリとそのデータを単一のSQLiteファイルにパッケージ化できるRust製Tauriアプリです。HTMLファイルやアセットはデータベースに直接埋め込まれ、ユーザーデータはlocalStorageまたはMongoDBライクなAPIで保存されます。プライバシーとセキュリティを重視し、ファイルシステムへの直接アクセスやインターネットアクセスには許可が必要です。ローカルまたはリモートのAIモデルも利用可能です。

全文翻訳

皆さん、こんにちは。

HTMLページを構築するのは現在非常に簡単ですが、データを保存するにはどこかにホスティングが必要で、後で共有するのが難しいという問題が常にありました。この数ヶ月間、私はCapsule(ファイル拡張子名でもあります)というアプリを開発してきました。これはRustとTauri 2.0で書かれており、HTMLアプリとそのデータを単一のSQLiteファイルにパッケージ化できます。

HTMLファイルと関連するアセットはデータベースに直接埋め込まれます。ユーザーデータは、localStorageのキー/バリューペアとして保存するか、MongoDBにインスパイアされたコレクションAPIを使用してドキュメントとして保存し、ファイル内のテーブルに保存できます。PDFファイルや画像などの他のアセットもデータベースに直接保存して、異なるドキュメントをまとめておくことができます。必要に応じて、すべてのデータをCSVまたはJSONに簡単にエクスポートできます。

プライバシーとセキュリティは私にとって大きな優先事項だったので、ドキュメントはデフォルトでは何もできません。ファイルシステムへの直接アクセス権はなく、インターネットにアクセスするには許可が必要です。パーミッションモデルはまだ改善に取り組んでいるところです。Capsuleドキュメントは、ドキュメント固有のAI機能のためにローカルまたはリモートのAIモデルを使用することもできます。

このアプローチの1つの欠点は、複数人が同時に作業すると、それぞれが異なるコピーを作成してしまうことです。同じファイルの異なるコピーをマージできるようにするため、各データエントリには一意のUUIDとタイムスタンプが付与されています。

1.0バージョンではファイル形式の仕様を公開する予定なので、他のアプリもCapsuleファイルを読み書きできるようになります。Webプレビュー(https://withcapsule.app/preview)で、あらかじめ作成されたテンプレートを試すことができます。また、以下のプロンプトを使用して、Capsuleに最適化されたカスタムアプリを作成するために、お好みのAIプロバイダーを利用することもできます。

"Please read the app wizard instructions at https://withcapsule.app/prompt.txt and help me design an app.“

ファイル形式についてはまだ作業中ですが、新しいバージョンごとにマイグレーションがあるため、将来的に新しいバージョンのアプリを使用する際にデータが失われることはありません。このアプローチが有効だと思われるアイデアやユースケース、あるいはうまくいかない点があれば、ぜひお知らせください。