11 ポイント 投稿者 GN⁺ 2024-04-22 | 1件のコメント | WhatsAppで共有
  • Windrecorderは、Windowsの画面記録をローカルに蓄積し、あとから巻き戻し・検索できるオープンソースアプリで、Rewind/Copilot Recallの代替に近い個人向け記憶ツール
  • 画面はffmpegまたは一定間隔の連続スクリーンショットで15分単位の断片ファイルとして保存され、WindowsのローカルOCR APIと画像埋め込みでインデックス化される
  • ローカルWeb UIでは、ウィンドウタイトル、テキストキーワード、画像説明から過去の画面を探せるほか、特定のプログラムや画面領域を記録から除外できる
  • データ処理はクラウドを使わずユーザーのコンピューター上だけで行われ、Pythonベースなので構造を確認・修正しやすい一方、性能は遅くなる可能性がある
  • 現在の保存先は暗号化されていないローカル構造で、LLM機能は限定的であり、日次のタイトル概要と検索が実質的な利用範囲

画面記録と巻き戻し検索

  • Windrecorderは、ユーザーが見たもののあとから見つけにくいWebページ、動画、チャットメッセージなどの情報を再発見するための個人向け画面記憶ツール
  • 主な着想元はMacアプリのRewindとBlack Mirror S1E3「The Entire History of You」
  • 画面記録の方式はシンプル
    • ffmpegまたは一定間隔の連続スクリーンショットを使用
    • 画面を15分単位の断片ファイルとして保存
    • WindowsのローカルOCR APIと画像埋め込みで記録をインデックス化
  • ユーザーは記録しないプログラムや画面範囲を指定できる
  • ローカルWeb UIでは、次の手がかりで過去の画面を巻き戻して検索できる
    • ウィンドウタイトル
    • テキストキーワード
    • 画像説明
  • 付加機能として、日別・周期別の画面使用時間、日次サマリー、月間ライトボックス生成が含まれる

ローカルファースト設計と現在の限界

  • すべての処理はユーザーのコンピューター上だけで行われ、クラウド保存やサブスクリプションを前提としない
  • Pythonで複数の機能をつなぎ合わせて作られた構造のため、内部動作が透明で、ユーザーが自分で修正しやすい
    • その代わり、性能が遅くなる可能性がある
  • 開発者は専門の開発者ではなく、個人的な関心と利用目的からこのツールを作った
    • しばらく使ったうえで、十分に成熟し堅牢だと判断した
    • Issueの報告、議論、コントリビューションを歓迎している
  • 現在の欠点も明確
    • データストアが透明で暗号化されていない
    • ユーザーは構造化されたローカルデータを自由に活用できるが、保護にも注意する必要がある
  • LLM機能は大きく組み込まれていない
    • 現在のLLM機能は、ユーザーの意図に応じたAPI呼び出しの判断と検索結果の調整に主に限定されている
    • すべてのデータを直接理解・分析・想起し、ユーザーの意図に応じて行動する段階にはまだ至っていない
    • 現在提供されている日次のタイトル概要と検索機能が、Windrecorderで実現可能な範囲

1件のコメント

 
GN⁺ 2024-04-22
Hacker News の意見
  • ほぼ20年前にすでに似たものを作っており、過去の特定時点まで巻き戻して、そこから実行を再開する機能まで含まれていた
    http://www.cs.columbia.edu/~orenl/papers/sosp07-dejaview.pdf
    DejaView はデスクトップ利用体験全体を記録し、再生・探索・検索・復元できる個人用の仮想コンピューター記録機で、画面出力、アプリケーション/ファイルシステム状態のチェックポイント、文脈付きの表示テキストをまとめて保存し、インデックス化していた
    アプリケーション、ウィンドウシステム、OSカーネルを変更せずに、ディスプレイ/OS/ファイルシステムの仮想化を組み合わせ、実際のデスクトップアプリでユーザーが体感する性能低下なしに連続記録と対話的な検索/再生が可能だという結果を示していた

    • 実際に作ったものなのか、それとも論文を書いただけなのか気になる。どこでダウンロードできるのかも知りたい
    • URL が合っているのか分からない。開いてみるとファイルが見つからないと出る
  • macOS 向けに似たオープンソースプロジェクトもある
    https://rem.ing
    https://github.com/jasonjmcghee/rem
    開発者が3か月前に HN に投稿していて、なかなか良い議論もあった
    https://news.ycombinator.com/item?id=38787892

    • rem を作った本人です。開発に一緒に参加してくれるとうれしい
      MIT ライセンスで、Rust 製のクロスプラットフォーム版 https://github.com/jasonjmcghee/xrem も始めたが、まだ初期段階なのでさらに多くの助けが必要
    • これを長く使ってみた人がいるのか気になる。実際に役に立つのか知りたい
    • Mac でこういうものをずっと探して諦め、10秒ごとにスクリーンショットを撮るスクリプトと、それを ffmpeg で動画にまとめるスクリプトを自作した
      貢献したいが Swift はまったく分からず、自分が作ったものは全部 launchd で動かす bash スクリプトだった
    • 同じことをしている会社として http://rewind.ai もある
  • こういうものを作ると面白そうだ。Meta Smart Glasses が2秒ごとに写真を撮り、画像をクラウドサーバーに送り、OCR と物体検出/ラベリングを実行したうえで、過去を検索したり会話したりできるアプリを提供するという方式
    そうすれば LLM に「財布をどこに置いたっけ?」「昨日レストランで会計したあとクレジットカードを返してもらった?」「今日、娘の新しいTシャツには何と書いてあった?」といったことを聞ける
    ここに音声録音と文字起こしまで加われば、会議で決まった締め切り、公園で会った人の電話番号、今日会った投資家の名前も聞けるし、電話までアクセスして相手の発言を文字起こし・インデックス化できればさらに良い
    Black Mirror の「The Entire History of You」エピソードを思い出す: https://en.wikipedia.org/wiki/The_Entire_History_of_You

    • たいていの Black Mirror のエピソードは、真似したくなる未来像として作られているわけではない
    • レストランがクレジットカードを視界の外に持っていくのは絶対にダメ。そもそも店員がカードに触る必要もなく、出るときにレジ端末で自分で通すのが正しい
    • Brilliant Labs の Frame は、こうしたデータを現実的に提供できるハードウェアとして、ユーザーフレンドリーでかなり目立たない形に近づいている
      すでに予約購入した
    • それはまさに、多くの批判を受けた Humane AI Pin がやっていることだ
  • OCR の代わりに、あるいは OCR と併用してアクセシビリティ APIを使ってこういうものを作った人がいるのか気になる
    アクセシビリティ API からテキストを直接取得できるのに、全部 OCR するのは無駄に見える
    LLM を UI につなぐ良い方法にもなり得るし、こうしたツールが学習データを集める手段にもなり得る

    • Dragon NaturallySpeaking は「OK をクリック」のような音声コマンドに対応していて、実際にそれに応じて反応する
      Microsoft Office が独自ウィジェットをレンダリングしていた問題は、ウィジェットやボタンのテキストを OCR で読んでラベルを把握する形で解決していた
      思ったよりずっと頻繁にこういう方式が必要になる。開発者は期待を裏切って、用意された API を使わないことが多い
    • 画面検索ができる Loom 風の画面録画ツールを作りながら両方を少しずつ使ってみたが、OS に依存しないように作るには Mac と Windows のアクセシビリティ API の違いが大きく、Windows でもアプリごとに実装がばらばらなので、実際にユーザーが何を「見た」のか判断しにくい
      アプリによっては重要なデータを落としたり、誤って実装していたりする。アクセシビリティは簡単だと思っていたが、実際には OCR のほうが簡単な場合が多かった
    • 画面履歴を持つワークフロー記録ツールの MVPを作ってみた
      このアプローチが本当に有効なら、Microsoft や Apple が、すべてを記憶してユーザーの知識を支援する Copilot の一部として OS に標準搭載するだろうと考えた
      自分が作った画面履歴はここで紹介されているアプリほど高度ではなく、自分でも使っていなかった
    • 前面に出ているアプリの情報をメタデータとして一緒に保存できるとよさそう
  • Notion で「JavaScript must be enabled in order to use Notion」と「Please enable JavaScript to continue」というブロック画面が出るが、NoScript を使っていると、このブロック方式のせいで実際にはサイトで JavaScript を有効にできない
    静的ページにリダイレクトしないでほしい。そのページにはケースごとに許可すべき JavaScript がなく、リダイレクトが速すぎてメインページで JavaScript を有効にする機会もない
    notion.so 自体だけを許可しても、このブロックは回避できない

    • これは本当に良くない。ちゃんと使えるものを最悪の形で使ってしまっている
      HTML が JavaScript なしのリダイレクトを許可していることも意外
  • Windows には TimeSnapper もあります。オープンソースではありませんが、開発者は時々 Hacker News にいます。
    https://timesnapper.com/

    • スクリーンショットベースの時間追跡やウィンドウタイトル、場合によっては開いているドキュメントに基づく高度なタグ付けには ManicTime もあります。ただし OCR はないようです。
      https://www.manictime.com/
  • こうしたプロジェクトをいくつか覚えています。最初に見たのは 2014 年の Savant Recall で、YC に採択されずオープンソースとして公開されました。
    その後、Napster 共同創業者の Ritter が引き取り、Atlas Recall に改名し、新しい UI を付け、2,000 万ドルの投資を受けました。
    ところが 1 年後に突然終了し、LinkedIn には「Xinova に買収」と書かれています。ほかに聞いたものとしては、2019 年の Apse がありました。

  • https://apse.io/ とかなり似ているように見えます。こちらも OCR で画面上で見たすべてのものを検索可能なインデックスにします。
    windrecorder は オープンソース である点が気に入っています。

  • GitHub README によると、動画は 年間 100〜200GB 程度なので、それほど悪くありません。

    • 1 日平均何時間を基準にしているのか気になります。映画やゲームのようなテキストのない場面は削除するのかも気になります。
  • 「なぜこういうアプリがないのだろう?」というアイデアがあるなら、このように自分でうまく実装してしまうことは、みんなに刺激を与えます。

    • X をするアプリを見つける一番簡単な方法は、新しく 1 つ作って HN に投稿し、コメントを確認することです。
    • rewind.ai もその例ですが、最近このデータを クラウド専用ストレージ に移し、limitless.ai に改名したことを考えると、こうしたオープンソースが出てくるのはうれしいです。
      クラウド保存を強制されずに済むのでありがたく、これはおそらく近いうちに有料顧客をやめる人間としての発言です。