セルフホスト型サービス
Ceceliaee/patina avatar
Ceceliaee/patina

PatinaでWindowsのアプリ利用時間をローカルに記録する

Tauri と React で構築された美しい Windows デスクトップ時間追跡アプリ。

スター 514フォーク 23TypeScriptMIT
GitHub

ひと目でわかる

これは何?
Windows 10/11でフォアグラウンドアプリ、アイドル、ロック、スリープの境界を記録し、SQLiteへ保存するTauri v2とReact製の個人向け時間追跡アプリです。
誰に向いている?
Patinaは、Windows上の自分のアプリ利用時間をアカウントやクラウド同期なしで振り返りたい個人に向きます。チーム共有、クラウド連携、macOSやLinux、重い分析が必要な用途にはREADME上の対象外です。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

フォアグラウンドを記録の起点にする

Patinaは現在フォアグラウンドにあるアプリを自動記録し、手動タイマーなしで時間履歴を作るデスクトップアプリです。READMEは一時的なウィンドウやシステムノイズを減らし、アプリ切り替えを記録すると説明します。個人の実際の作業時間を振り返るための記録源が、手動入力ではなくOS上の状態です。

アイドル時間を有効活動として数えず、ロック、スリープ、復帰、長時間離席、異常終了後の記録境界を扱います。テストでは同じアプリを開いたままアイドル、画面ロック、復帰、強制終了を順に行い、履歴が一つの長い区間へ結合されないかを確認します。

Windows 10/11、npm run tauri dev、src-tauri/target/release/bundle/、SQLite、Patina Web Syncを一度に全部採用せず、1番目の確認では入力、処理、出力、失敗時の表示を分けて記録します。READMEにある名称と手元で実行した版を同じ記録へ残し、画面の成功表示だけで完了としません。設定を変更した場合は変更前の値、実行日時、生成物、ログの該当行を保存し、同じ入力を戻して比較します。

SQLiteとローカル管理

READMEはデータをデフォルトでローカルに保存し、アカウント、クラウド同期、サーバー依存を置かないと説明します。技術スタックでは@tauri-apps/plugin-sql経由のSQLiteがデータベースです。バックアップのエクスポート、復元、履歴レコードのcleanupはユーザーが開始する操作として示されています。

アプリ名、カテゴリ、色、統計から除外するルールをユーザーが管理できます。保存先がローカルでも、暗号化や詳細なアクセス制御をREADMEは説明していません。端末の利用者、バックアップファイル、削除後の復元可能性を自分の管理境界として確認します。

Windows 10/11、npm run tauri dev、src-tauri/target/release/bundle/、SQLite、Patina Web Syncを一度に全部採用せず、2番目の確認では入力、処理、出力、失敗時の表示を分けて記録します。READMEにある名称と手元で実行した版を同じ記録へ残し、画面の成功表示だけで完了としません。設定を変更した場合は変更前の値、実行日時、生成物、ログの該当行を保存し、同じ入力を戻して比較します。

タイトル取得は個別に切り替える

ウィンドウタイトルはアプリごとに取得を無効化できます。READMEは、ブラウザや業務アプリのタイトルに含まれ得る機密情報を保持しないための設定として説明しています。ブラウザ活動の詳細が必要な場合は、Patina Web Syncという任意の別拡張機能をChrome、Firefox、Edgeから導入します。

拡張機能はデスクトップアプリの一部ではありません。タイトル取得を有効にしたアプリと無効にしたアプリを用意し、タイムライン、統計、バックアップにどの値が残るかを確認します。ブラウザ拡張を使う場合は、追加の権限とデータ経路を別の審査対象にします。

Windows 10/11、npm run tauri dev、src-tauri/target/release/bundle/、SQLite、Patina Web Syncを一度に全部採用せず、3番目の確認では入力、処理、出力、失敗時の表示を分けて記録します。READMEにある名称と手元で実行した版を同じ記録へ残し、画面の成功表示だけで完了としません。設定を変更した場合は変更前の値、実行日時、生成物、ログの該当行を保存し、同じ入力を戻して比較します。

今日の概要と軽量ツール

画面には有効活動、アプリランキング、カテゴリ分布、日付別タイムライン、トレンド、ヒートマップ、アプリ曲線が示されます。リマインダー、アプリ使用時間制限の通知、ストップウォッチ、カウントダウン、Pomodoroもローカルツールとして挙げられています。

Pomodoroなどのツール状態は自動追跡の記録を置き換えません。作業計画のタイマーと実際のフォアグラウンド履歴を混ぜず、同じ日付の概要とタイムラインで差を確認します。READMEは各ツールの初期値や詳細操作までは説明していません。

Windows 10/11、npm run tauri dev、src-tauri/target/release/bundle/、SQLite、Patina Web Syncを一度に全部採用せず、4番目の確認では入力、処理、出力、失敗時の表示を分けて記録します。READMEにある名称と手元で実行した版を同じ記録へ残し、画面の成功表示だけで完了としません。設定を変更した場合は変更前の値、実行日時、生成物、ログの該当行を保存し、同じ入力を戻して比較します。

Windows専用のビルド境界

ソースからのビルドにはRustとNode.js 18以降が必要で、npm run tauri devが開発起動、npm run tauri buildがインストーラー生成です。成果物はsrc-tauri/target/release/bundle/に置かれます。フロントエンドはReact、Vite、TypeScript、Tailwind CSS、Framer Motion、Rechartsで、バックエンドはRustです。

READMEの対象はWindows 10/11で、LinuxやmacOSのビルド手順はありません。MITライセンスは利用条件の確認材料ですが、保証やエンタープライズサポートを示しません。Windowsのスリープ復帰とバックアップ復元が自分の記録要件を満たすかを見てから採用します。

Windows 10/11、npm run tauri dev、src-tauri/target/release/bundle/、SQLite、Patina Web Syncを一度に全部採用せず、5番目の確認では入力、処理、出力、失敗時の表示を分けて記録します。READMEにある名称と手元で実行した版を同じ記録へ残し、画面の成功表示だけで完了としません。設定を変更した場合は変更前の値、実行日時、生成物、ログの該当行を保存し、同じ入力を戻して比較します。

採用を決める記録には、対象機能を使わなかった場合の代替結果も残します。入力を小さくした場合に成功しても、実際のデータ量、権限、保存先、実行先が変われば同じ結論にはなりません。READMEが説明していない保証は未確認として扱い、確認できた出力と確認できなかった項目を分けて判断します。

編集部の結論

Patinaは、Windows上の自分のアプリ利用時間をアカウントやクラウド同期なしで振り返りたい個人に向きます。チーム共有、クラウド連携、macOSやLinux、重い分析が必要な用途にはREADME上の対象外です。最初にWindows 10/11でnpm install、npm run tauri devを試し、アイドル、ロック、復帰、タイトル取得無効化、バックアップ復元を順に確認してください。

公式情報源

  1. Official README
  2. Project repository
  3. Release notes
コミュニティノート

コミュニティノート