24時間365日作業を記録し、いろいろ教えてくれる魔法のツール？『screenpipe』で遊んだ

リンクアンドモチベーションの木村と申します。
1年ほどバックエンドエンジニアをやっています。
[2024年のAdvent Calendar](https://qiita.com/advent-calendar/2024/lmi)への投稿です。

今年のアドカレの社内テーマは「試す」ということで、『screenpipe』というOSSを使ってみました。
このツールは、PC作業中の画面や音声情報を記録・管理し、効率的な検索を可能にするものです。

https://x.com/hokazuya/status/1841419021910200361

## 背景
以前社内ハッカソンで、
- 「あの資料、どこにあったっけ？」
- 「この前◯◯さんにこんな話しなかったっけ？」

など、「思い出すのに時間がかかる・思い出せない」を解決したい！という気持ちから、
常にデータを収集し、常に質問から収集したデータを返せるツールを作りました。

二日間で実装できたのは2方向からの情報のインプットとアウトプットです。
1. 音声情報とPCでアクティブになっている画像を文章化し、dbに保存
2. 検索も音声と文字検索でdbのデータを呼び出す

なんとその延長とも言えるツールがハッカソンの次の日くらいに社内の人がXで見つけておりました。それが冒頭の『screenpipe』です。

## 公式ドキュメント
https://docs.screenpi.pe/

![Pasted Graphic 4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/a69f14c2-a242-039c-8f36-8b3067719ddb.png)



## アーキテクチャ
![SCREENPIPE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/48c10a50-11e5-a9d3-aa62-b7dff81f5f04.png)

￼
左から
1. 画面や音声によるインプット
2. データの蓄積
3. 分類や検索
4. AIによるサマリーなど高度なデータ収集

となっています。

重要なのはプライバシーを守るために、全てのデータをローカルに保存している点です。
ハッカソンで同じような観点が出ていました。


## さっそく動かしてみる
デスクトップアプリがあるようなので、ダウンロードして動かしてみました。機能は検索機能や保存したデータをテーブル上で見られる機能などがありました。
![Pasted Graphic 3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/4b6c71b7-0317-0d7d-001b-fe594c8cf66f.png)

￼
右上のボタンから、アクセス制限の状態やレコーディングのコントロールができるようです。
![Pasted Graphic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/f009195e-47d3-681b-511b-2450e98e910d.png)

￼

Startを押して保存データを確認してみると、
![Pasted Graphic 5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/bc22795e-ab00-2a12-796f-fdf04f338f49.png)


￼
下記動画にある通り、自動で保存されたデータがどんどん追加されていることがわかります。
![Videotogif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/ac1d5819-65d8-6698-85d4-5101f016a67f.gif)



## どのくらいの容量を使うのか？
ハッカソンの時に、「ずっと保存し続けるのはいいけど、容量がボトルネックだよね」という話をしていました。このscreenpipeを使った時の使用する容量やいかに

- input音声→約220KB/30秒
- output音声→約250KB/30秒
- 動画モニター→約3MB/1分

だいたい4MB/分なので、60分で240MB。
1日8時間で1.9GBとすると、100日で約190GBです。
すぐにPCが容量不足になりそうです。

やはり、この途方もない量のデータをどう扱うかが今後の課題ですね。

公式ドキュメントでは、「解像度を下げれば軽くなるよ」と書かれています。
![ます。今後のアップデートで、より使いやすくなるよう取り組んでいます。.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/eca22f62-6dc5-66c9-bae6-f272e0f3c3f6.png)


￼
効率が100倍くらいになれば勤める期間分くらいは溜められそうですが、いつになることやら。未来に期待です。

## 検索機能をAIで引き出してみる
こちらの検索機能で自動レコードしたデータから欲しい情報を検索できるようです。
![Pasted Graphic 6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/2fdc275a-4ff9-2cea-0a04-a71bd04d8699.png)


￼
ここでは、僕がOpenAIのAPI Keyを使って0.08ドルだけ使うことに成功した記録が残されています。
![Pasted Graphic 7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/fa2217a0-d1a5-1854-99ed-2d5e3a1cbd8d.png)


￼
ページ下部にAIを駆使して問いを投げられるようです。
![context naster v.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/ed1101b0-a0c6-6c0b-b69c-c52ae4d3db18.png)



※この機能は残念ながらOpenAIのAPI Keyを登録してもうまく読み込まれず、溜まりに溜まったデータをAIでうまく引き出すことが叶いませんでした。（泣）

他にtimelineという機能もあり、こちらではAI APIが使えました。ここではスクリーンからキャプチャした動画の要約を行ってくれるようです。画像はYouTubeで海外の人がscreenpipeについての実装などの解説を行っている動画です。
動画：[Creating an AI agent with Screenpipe](https://www.youtube.com/watch?v=SdvQOcs15T8)
![Pasted Graphic 13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3512663/6caad81a-0361-4611-e879-8576797f83b0.png)


まだAI機能が不完全ですが、うまく連携してくれれば、いい感じでデータをまとめてくれそうです。先ほど取り上げた通り動画はデータ量がものすごいので、コストが少し心配です。

## 感想
現状まだ容量やAIコストが嵩張るところに課題があります。
しかし、業務中扱う情報をここまで徹底的に蓄積してくれて、かついつでも引き出せるエージェントが存在する世界を垣間見ることができたように思います。