ContextD — 画面活動を継続的にキャプチャしてローカルで要約するmacOSツール
概要
ContextDは、macOS向けに設計された軽量で効率的な「画面コンテキスト収集」アプリです。READMEによれば、アプリは定期的(デフォルトで2秒ごと)にスクリーンショットを撮影し、直前の画像と差分比較して変化のあった領域だけOCRにかけます。抽出したテキストはローカルに蓄積され、LLM(大規模言語モデル)で要約されることで、他のローカルツールが参照可能な「最近の画面文脈」として提供されます。差分処理と局所OCRにより、無駄な処理を避けて性能とプライバシーを両立する設計が特徴です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 2
- ファイル数: 10
- メインの言語: Swift
主な特徴
- 2秒ごとのスクリーンショット取得→差分検出→変化領域のみをOCRにかけるワークフローで効率化。
- 抽出テキストをLLMで要約し、他のローカルツールが利用できる形で公開(ローカルファースト設計)。
- 差分ベースによる処理でCPU・ストレージ負荷を最小化し、常時稼働に耐える設計。
- macOSネイティブ(Swift)で実装され、システムAPIの活用で高速な画面取得と画像処理を実現。
技術的なポイント
ContextDの技術的なコアは「継続的キャプチャ」「差分ベースの前処理」「局所OCR」「LLM要約」「ローカルでの提供」の5要素に集約されます。継続キャプチャは定期的にスクリーンショットを取得する仕組みで、これをそのまま全画面OCRに回すとI/Oと処理時間が膨大になるため、差分比較による領域フィルタリングを行います。差分検出はピクセル単位あるいはブロック単位の比較により短時間で変更領域を特定し、変更があった矩形領域だけをOCRエンジンに投入することでコストを削減します。OCRにはmacOSのVisionフレームワークや外部ライブラリ(Tesseract等)を用いるのが一般的ですが、本リポジトリはSwift実装のためVision APIなどネイティブ手段を利用している可能性が高く、これにより精度と速度の両立が図られます。
抽出したテキストは時系列で保持され、必要に応じてローカルで動作するLLM(あるいは外部のLLM)で要約されます。要約結果は「最近のコンテキスト」としてクエリ可能な形で保存・提供され、他プロセスから参照できるようにIPCやローカルHTTP、Unixソケット、ファイル出力などのインターフェースを用いる設計が想定されます。プライバシー面では「ローカルで処理・保存すること」「差分のみを扱うこと」が強みであり、スクリーン全体を常時クラウドに流すような設計に比べて情報漏えいリスクが低い点が評価されます。
実装上の注意点としては、差分閾値のチューニング(頻繁なUIの微小変化でOCRが過剰に走らないようにする)、マルチディスプレイ対応、マスクすべき領域(パスワード入力など)の扱い、OCRの誤認識への対策(ポストプロセッシングやフィルタ)などがあります。また、LLM要約は計算コストが高くなるためバッチ化・非同期処理・要約頻度の制御が必要です。macOSネイティブのSwift実装はパフォーマンスとユーザー体験(権限周りや通知許諾)の面で利点があり、将来的にはローカルLLMの差し替えやプラグイン的な出力先の追加など拡張性も見込めます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- .opencode: dir
- ContextD: dir
- LICENSE: file
- Makefile: file
…他 5 ファイル
(注:リポジトリはSwiftベースで、アプリ本体は ContextD ディレクトリ以下に格納されています。READMEやdocsフォルダにデモ画像やセットアップ手順が含まれている可能性があります。)
使いどころ・拡張案
- 作業中のウィンドウやブラウザの表示内容を履歴化し、タスク復帰時に直近の文脈を素早く把握したい場合に有効です。
- チャットツールやローカルスニペット管理アプリと連結して、会話やノートに自動で画面文脈を添付する用途。
- プライバシー重視の環境では、スクリーンショットをクラウドに送らずローカルだけで要約するワークフローの構築。
- 拡張としては、特定アプリのウィンドウだけを監視するフィルタ、差分アルゴリズムの改善、ローカルLLMの統合などが考えられます。
まとめ
差分OCR+LLM要約でローカルにコンテキストを蓄積する実用的なmacOSツールです。
リポジトリ情報:
- 名前: contextd
- 説明: An efficient macOS app that continuously captures your screen activity, summarizes it with an LLM, and makes it available for other local tools.
- スター数: 3
- 言語: Swift
- URL: https://github.com/thesophiaxu/contextd
- オーナー: thesophiaxu
- アバター: https://avatars.githubusercontent.com/u/29003511?v=4
READMEの抜粋:
ContextD
Demo Image
An efficient macOS app that continuously captures your screen activity, summarizes it with an LLM, and makes it available for other local tools.
How it works: Every 2 seconds, ContextD takes a screenshot, diffs it against the previous one, runs OCR on the changed regions, and stores the extracted text in a loc…