Screenpipeとは——「画面の記憶」をAIで検索・自動化する
「3日前にSlackで見たあのURLは何だったか」「先週のミーティングで言及されたAPIの名前は」——こうした問いに即座に答えられるツールがScreenpipeだ。
Screenpipeは、画面と音声を24時間ローカルで記録し、OCR(光学文字認識)とWhisper(音声認識)でテキスト化し、SQLiteデータベースに保存するRust製OSSだ。GitHub 17,500 stars、MIT License、300人以上のコントリビューターが参加している。
従来の画面録画ツールとの最大の違いは2つ:100%ローカル処理(データが外部に出ない)と、AIエージェント(Pipe)による自動化だ。記録したデータをClaude DesktopやCursorから直接検索でき、カスタムPipeで議事録の自動生成やCRM更新まで可能になる。
アーキテクチャ:イベント駆動キャプチャの仕組み
Screenpipeは連続的なスクリーンショットではなく、イベント駆動型キャプチャを採用している。アプリ切り替え、クリック、タイピング停止、スクロール、クリップボードコピーなどのOSイベントを検出し、変化があった時だけキャプチャする。
(アプリ切替・クリック・スクロール)"] --> B["画面キャプチャ
(JPEG保存)"] A --> C["音声キャプチャ
(マイク入力)"] B --> D["テキスト抽出
(アクセシビリティツリー+OCR)"] C --> E["音声認識
(ローカルWhisper)"] D --> F["SQLite
(FTS5全文検索)"] E --> F F --> G["REST API
(localhost:3030)"] G --> H["Pipe(AIエージェント)"] G --> I["MCP サーバー"]
テキスト抽出の2段階アプローチ
- 第1段階:OSアクセシビリティツリー——macOSのAccessibility API / WindowsのUI Automationから、画面上のテキスト要素を直接取得。OCRより高速かつ正確
- 第2段階:OCRフォールバック——アクセシビリティツリーでテキストが取得できない場合(画像内テキスト等)にOCRを実行
この2段階方式により、CPU使用率5〜10%を維持しながら高精度なテキスト抽出を実現している。ストレージ効率も優秀で、イベント駆動キャプチャにより8時間で約300MB(連続キャプチャの約1/7)、月間で5〜10GBに収まる。
インストールと初期設定
# macOS / Linux — ワンラインインストール
curl -fsSL get.screenpi.pe/cli | sh
# macOSならHomebrewも可
brew install screenpipe
# デーモン起動
screenpipe
macOSでは初回起動時に画面収録・アクセシビリティの権限付与が必要(システム設定 → プライバシーとセキュリティ)。音声記録を使う場合はマイク権限も必要。データは~/.screenpipe/に保存される。
CLI以外に、macOS / Windows / Linux向けのデスクトップアプリも提供されている。タイムラインUIで記録された画面を時系列で閲覧でき、検索も直感的に行える。
REST APIで画面履歴を検索する
Screenpipeはlocalhost:3030でREST APIを提供する。キーワード検索、時間範囲指定、音声/画面のフィルタリングが可能だ。
# キーワードで画面履歴を検索
curl "http://localhost:3030/search?q=API+endpoint&limit=10"
# 特定の時間範囲 + 音声データに絞る
curl "http://localhost:3030/search?q=deadline&content_type=audio&start_time=2026-04-10T09:00:00"
検索結果にはテキスト内容に加え、アプリ名・ウィンドウ名・タイムスタンプが含まれるため、「どのアプリで」「いつ」見た情報かまで特定できる。
MCP連携:Claude DesktopやCursorから画面履歴を検索
ScreenpipeはMCPサーバーとして動作するため、Claude DesktopやCursorから直接画面履歴を検索できる。Claude Desktopの設定ファイルに以下を追加するだけで連携完了だ。
// claude_desktop_config.json
{ "mcpServers": { "screenpipe": { "command": "screenpipe", "args": ["mcp"] } } }
MCP経由ではsearch_screen(画面テキスト検索)、search_audio(音声検索)、get_recent_activity(直近アクティビティ)の3ツールが使える。「昨日のミーティングで話されたデプロイの手順をまとめて」のような自然言語の質問に、AIが画面と音声の記録から回答できるようになる。
Pipe(プラグイン)システム:AIエージェントによる自動化
ScreenpipeのPipe(パイプ)は、記録されたデータに対してAIエージェントを実行するプラグインシステムだ。スケジュールベースで自動実行され、データアクセス権限はYAMLで宣言する。
各PipeはYAMLで権限を宣言し、スケジュールベースで自動実行される。データアクセスはOSレベルで強制されるため、宣言外のデータにはアクセスできない。
# pipe.yaml — Pipeの定義例
name: daily-digest
description: 1日の作業サマリーを自動生成
schedule: "0 18 * * *" # 毎日18時に実行
permissions:
screen: read # 画面データの読み取り
audio: read # 音声データの読み取り
filesystem: none # ファイルシステムアクセスなし
代表的なPipeの例
| Pipe名 | 機能 |
|---|---|
| daily-digest | 1日の作業サマリーを自動生成 |
| obsidian-sync | 画面アクティビティをObsidianのデイリーノートに自動記録 |
| meeting-notes | ミーティング検出→議事録自動生成 |
| expense-tracker | 経費関連の画面を検出→経費レポート作成 |
| crm-update | 顧客とのやり取りを検出→CRM自動更新 |
PipeはNext.jsアプリとして開発でき、マーケットプレイスに公開・収益化も可能。@screenpipe/sdkを使って画面データの検索や通知送信がTypeScriptで書ける。
類似ツールとの比較
| ツール | 対象 | ローカル処理 | AI自動化 | ストレージ | 料金 |
|---|---|---|---|---|---|
| Screenpipe | 画面+音声の記録・自動化 | 100% | Pipe + MCP | ~5-10 GB/月 | $400(買い切り) |
| ActivityWatch | アプリ使用時間の追跡 | 100% | なし | 最小 | 無料 |
| Rewind AI / Limitless | 画面記録 | クラウド依存 | 限定的 | クラウド | サブスク |
| Granola | 会議メモ | 一部ローカル | 会議特化 | クラウド | サブスク |
Screenpipeの最大の差別化ポイントはローカル完結 × AI自動化の組み合わせだ。ActivityWatchはアプリ名と使用時間しか記録しない。Rewind AIはクラウドにデータを送信する。Screenpipeは画面の実際の内容を記録しつつ、すべてローカルで処理する。
プライバシーとセキュリティの設計
- 100%ローカル処理がデフォルト——データは
~/.screenpipe/から外に出ない - 広告利用・第三者共有・AIモデル学習への使用は一切なし
- オプションの暗号化:
screenpipe --encryptでChaCha20-Poly1305暗号化 + Argon2id鍵導出を有効化可能 - Pipeのデータアクセスは3層のOSレベル権限で制御——マーケットプレイスからPipeをインストールする際は、権限宣言を必ず確認すべき
ユースケース:どんな場面で使えるか
開発者:「昨日ターミナルで実行したあのコマンド」「3日前にブラウザで見たAPI仕様」を即座に検索。Claude Codeとの連携で、過去の作業コンテキストを活用したコーディングが可能。
ナレッジワーカー:会議の議事録自動生成、1日の作業サマリー、経費レポートの自動作成。手動のメモ取りから解放される。
セキュリティ意識の高い組織:クラウドにデータを送信しない画面記録ソリューションとして、コンプライアンス要件を満たしながら生産性ツールを導入できる。