世界を動かす技術を、日本語で。

Show HN: Dayflow – あなたの日々のための git ログ

概要

Dayflowは、画面活動を自動でタイムライン化し、AI要約と気を散らす瞬間をハイライトするmacOSアプリ。 プライバシー重視設計で、AIプロバイダーも選択可能。 軽量・低負荷・MITライセンス・オープンソース。 セットアップも簡単で、ローカルまたはクラウド処理を選択可能。 今後はダッシュボードや日誌機能も追加予定。

Dayflowとは

  • Dayflow はmacOSネイティブアプリ(SwiftUI製)
  • 画面を 1FPS で録画し、15分ごとにAIで解析
  • 活動のタイムラインと要約カードを自動生成
  • アプリサイズ25MB、メモリ約100MB、CPU使用率1%未満 の軽量設計
  • プライバシー重視:AIプロバイダーを Gemini(APIキー持参) または ローカル(Ollama/LM Studio) から選択
  • MITライセンス・完全オープンソース
  • 画面録画の許可のみ必要(macOS設定で管理)

開発動機

  • カレンダーよりも 実際の画面活動 が真実の時間記録
  • 維持不要で信頼できる「静かなアシスタント」的タイムラインを目指す
  • データ所有・AI選択・ローカル処理の自由度を重視
  • 監視型アプリは完全な透明性が必須との思想
  • 集中力を尊重し、簡単に オフ できる設計

主な機能

  • 自動タイムライン生成 と要約
  • 1FPS録画による 低負荷 運用
  • 15分ごとの解析で リアルタイム性 確保
  • 3日で自動削除される録画データ
  • 気を散らす瞬間 のハイライト表示
  • SwiftUI によるネイティブUX
  • Sparkle 連携で自動アップデート
  • 今後: カスタムダッシュボード日誌機能 追加予定

仕組み

  • キャプチャ :1FPS、15秒単位で録画
  • 解析 :15分ごとにAIへ最新映像を送信
  • 生成 :AIが活動要約カードを作成
  • 表示 :視覚的なタイムラインで日中の活動を確認
  • クリーンアップ :3日以上前の録画を自動削除

AI処理フロー

  • Gemini利用時
    • 2回のLLMコールで動画解析・カード生成
    • ネイティブな動画理解による効率的処理
  • ローカルモデル利用時(Ollama/LM Studio)
    • 30フレーム抽出→各フレームごとにLLMコール→統合
    • 合計33回以上のLLMコールで処理負荷が高め
    • 処理品質や速度に違いあり

クイックスタート

  • エンドユーザー :GitHub Releasesから Dayflow.dmg をダウンロード
    • アプリ起動後、画面・音声録音許可を付与(macOS設定で管理)
  • 開発者 :Xcode 15+でDayflow.xcodeprojを開き、Run
    • Gemini利用時は GEMINI_API_KEY を環境変数に設定

インストール要件

  • macOS 13.0+
  • Xcode 15+ (開発ビルド時)
  • Gemini利用時は APIキー (https://ai.google.dev/gemini-api/docs/api-key)

データとプライバシー

  • ローカル保存先:
    • アプリサポートフォルダ:~/Library/Application Support/Dayflow/
    • 録画:~/Library/Application Support/Dayflow/recordings/
    • DB:~/Library/Application Support/Dayflow/chunks.sqlite
  • 1FPS録画、15分ごと解析、3日保持
  • 削除方法 :アプリ終了後、上記フォルダを削除し再起動でリセット可能
  • Gemini :Google API利用時、課金プロジェクトがあるとプロンプト/レスポンスは学習に使われない(Paid Services扱い)
  • ローカル(Ollama/LM Studio) :完全オフライン処理、プライバシー最重視
  • ローカル推論はGPU負荷・バッテリー消費増(Apple Silicon推奨)

macOSの権限

  • 画面録画・音声録音の許可が必須
  • 設定変更:
    • システム設定 → プライバシーとセキュリティ → 画面とシステム音声の録音

設定・デバッグ

  • AIプロバイダー選択 (Gemini or ローカル)
  • キャプチャ開始/停止はメインUIから
  • デバッグ画面でバッチ内容確認
  • メニューバーアイコンから録画確認可能

自動アップデート

  • Sparkle によるSwift Package Manager連携
  • デフォルトで 毎日自動チェック・ダウンロード
  • バージョン表示と手動アップデートも可能

プロジェクト構成

  • Dayflow/(アプリ本体・UI・解析パイプライン)
  • docs/(ドキュメント・スクリーンショット)
  • scripts/(リリース自動化・Sparkle署名等)

トラブルシューティング

  • 画面キャプチャが空白/失敗:設定でDayflowの録画許可を確認
  • APIエラー:Gemini APIキーとネットワーク接続を確認

今後のロードマップ

  • カスタムダッシュボード (任意の質問・傾向追跡)
  • 日誌機能 (ハイライト振り返り・メモ追加)
  • 小型VLMのファインチューニング

コントリビューション・ライセンス

  • PR歓迎(大きな変更は事前にIssueで相談推奨)
  • MITライセンス (無保証・AS IS)
  • Sparkle, Google AI Gemini API, Ollama, LM Studioに感謝

HN向け補足と技術スタック

  • Dayflow は「実際に何をしていたか」を自動で把握するmacOSアプリ
  • 画面内容を ローカル/クラウドVLM で理解し、意味的なタイムラインを生成
  • 例:「Chrome: 3時間」ではなく「PRコメント確認: 45分」「Rustスレッド閲覧: 20分」「認証デバッグ: 1.5時間」など具体的な活動単位で記録
  • Rewind の初期ユーザーの経験から着想
  • 完全ローカル利用 (qwen2.5-vl-3bモデル)も可能、クラウドアップロード・アカウント不要
  • MITライセンス・フルソース公開 (https://github.com/JerryZLiu/Dayflow)
  • Gemini APIキー による高品質解析も選択可(Keychain保存・プライバシー対策有)
  • 技術スタック: SwiftUI + ローカルsqliteDB、macOSネイティブAPIで効率的キャプチャ
  • ローカルLLMは「埋め込み」せず、既存Ollama/LLMStudio等との連携前提
  • qwen2.5-vl-3b(約4GB) が品質とサイズの最適バランス
  • Gemini 2.5 Pro等の高性能モデルとの品質差・処理回数の工夫(例:15分区間でローカル32回/Gemini 2回)
  • 今後は Gemini出力でローカルモデル学習カスタムダッシュボード 開発を進行予定

まとめ

  • Dayflow は、作業内容を自動で意味的に記録し、プライバシーと操作性を両立するmacOSアプリ
  • ローカル/クラウドの選択やオープンソース性で安心して利用可能
  • 生産性向上や作業分析に役立つ新しいタイムライン体験を提供

Hackerたちの意見

いいね!今、PCでタスクを追跡するためにActivityWatchを使ってるよ。こういうソフトでできたらいいなと思うことがいくつかあるんだ。 - まず、気が散る「きっかけ」を特定したい。例えば、特定のメールを読むためにメールボックスを開くと、関係ないメールもたくさん見えてきちゃう。これが原因で5〜15分くらい気が散ることが多いんだ。この情報は結構役立つことが多いよ。YouTubeのおすすめ動画を隠すブラウザプラグインをインストールしたら、気が散ることが減ったし、使っていないウィンドウは全部閉じるようにして、関係ない作業を見ないようにしてる。 - 繰り返しのタスクやそのリズムを特定したい。特定のケースで毎週手動で請求書を作成してるけど、毎回ほぼ同じプロセスなんだ。これって自動化できるかな? - タスクの前、中、後で自分がどう感じていたかを知りたい。(これはすごく広い質問で、あえて明確にしてないけど、先延ばしやタスクの開始を改善するために一番可能性があると思う。)

そうそう、気が散るパターンを理解する手助けができる機能は素晴らしいと思う。自分も同じことをやってるし、面白いことにそのYouTubeの拡張機能も使ってるよ。

これを弁護士や時間単位で請求する他の専門職に売ったらいいと思う。彼らは一日の請求漏れをなくすために、忘れた(未請求の)作業を回収できるものに大金を払うだろうね。

自分はソフトウェアの契約者で、これをずっと欲しかったんだ。今、Linuxでプロトタイプを作ってるところだよ。

時間単位?イギリスでは6分単位で請求するんだよ!職業について何かを物語ってるよね…。

デビルズアドボケイト的な意見だけど、これって弁護士が働いてる時間がどれだけ少ないかを示すことにもなるよね :)

銀行情報やパスワード、画面に入力して見えるような敏感なデータをGeminiに送るのはちょっと不安だな。ローカルモデルとの質的なパフォーマンスの違いはどれくらいあるの?

自分の経験と評価に点数をつけると、Gemini 2.5 proはA-の結果を出して、qwen2.5vlはB-/C+くらいかな。もちろん、すべてが非決定的だから、一定の品質を保証するのは難しいよ。論文を読んでるんだけど、蒸留を通じてローカルモデルでSOTAのパフォーマンスが得られるはずだって書いてあって、次はそれを試してみるつもり。

わあ、これは素晴らしい!手動で時間を追跡するよりもずっと負担が少ないね。それにプライバシーのためにローカルオプションと「自分でキーを持ち込む」オプションがあるのも嬉しい!こういう形のものはもう少し前からあってもよかったと思うけど、これはすごくうまく作られてる!

すごくいいね!コメントでも見たけど、画面入力だけじゃなくてもっとデータを追加したいってみんな思ってるみたい。例えば、 - Apple HealthKit / watch - カスタムアプリ - 電話のログ それに、核心機能の改善にもっと集中する必要があるって言ってたけど、確かにそうだよね。APIやプラグインのエリアを作るのも面白いかも。そうすれば、みんなが核心機能を拡張して、欲しい部分を追加できるようになるし。将来的には、プラグインのあるAppStoreみたいな機能に発展するかも。それで、あなたの仕事に集中できて、他の人が自分のビジョンで完成させられるようになるよ。

「1 FPSで15秒ごとに画面を録画します。」15秒録画してるなら、どれくらいの頻度でやってるの?分析の間隔が15分だから、15分ごとに1回ってこと?

これって企業にも役立つよね?倫理的な観点から見ると、従業員の画面時間を侵害することになるから、従業員の権利や人事の問題が出てきそう。

このアイデア大好き!ここでのプレゼンテーションも、製品もすごくクリアで信頼できるし、落ち着く感じ。インストールしたばかりで、試すのが楽しみ。ちょっとランダムな質問だけど、今のUI/UX(ビジュアルやコピー)に至るまでの経緯はどうだった?

これめっちゃ必要なんだけど、Linuxでお願い :)

最高!これがずっと欲しかった!UIもいい感じだね。