常駐しても邪魔にならないWindows作業メモリを作る
Slack、Teams、VS Code、Dockerと並べて使う前提で、常駐アプリのメモリ使用量と軽量なデスクトップ実装をどう考えたかをまとめます。

常駐アプリは軽くないと使われない
Contextbergは、画面、ブラウザ履歴、キーボード入力、アプリ利用をバックグラウンドで扱う常駐アプリです。常駐する以上、機能以前に軽さが重要です。
Slack、Teams、Edge、VS Code、Docker Desktopが起動しているPCで、さらに500MB以上使うアプリを入れてもらうのは現実的ではありません。特に企業PCでは、メモリ8GBや16GBの環境もまだ多いです。
目標にしたライン
Contextbergでは、アイドル時メモリ120から180MB、アクティブ時およそ250MB、アイドルCPU 1%未満、MSIXサイズ約100MBを目安にしています。
この数字は、単にベンチマークとしてきれいだからではありません。ユーザーが『入れておいても邪魔にならない』と感じるための実用ラインです。
軽量な実装を優先した理由
ElectronはUI開発の速度では魅力的ですが、常駐アプリとしてChromiumプロセスを抱える時点で、メモリの下限が上がりやすくなります。
Contextbergでは、キーボードフック、フォアグラウンドウィンドウ取得、スクリーンキャプチャ、認証情報の保護、アプリ配布など、OSに近い処理が多くあります。そのため、最初のWindows版では常駐時の軽さと安定性を優先しました。
今後macOS版を出す場合も、同じUI技術に無理に寄せるより、各OSで自然に軽く動く実装を選ぶ方針です。
クロスプラットフォームを後回しにした理由
macOSやLinuxもいずれ対応したいです。ただ、最初から全OS対応を狙って重くなるより、まずWindowsで軽く安定して動くことを優先しました。
エージェントを使う開発者の中にはWindowsユーザーも多く、既存のメモリ系ツールではmacOS前提のものも目立ちます。Windows開発者を置いていかないことは、Contextbergの重要なテーマです。
軽さは信頼の一部
常駐アプリは、使っていない時間の印象で評価されます。必要なときに便利でも、普段からファンを回し、メモリを食い、作業を邪魔するならアンインストールされます。
エージェントメモリは毎日使うインフラに近い存在です。だからこそ、派手な機能だけでなく、普段は静かに動くことを設計上の価値として扱っています。
常駐アプリの性能はUXそのもの
常駐アプリでは、機能が豊富でも重ければ使われません。特にAI memoryは、起動していない時間が増えるほど記憶の穴が増えるので、軽さは品質の一部です。
| 指標 | なぜ見るか | 悪い場合に起きること |
|---|---|---|
| アイドル時メモリ | 常時起動の心理的負担に直結する | SlackやChromeと並べた時に邪魔になる |
| アクティブ時CPU | 記録中の体感に直結する | 開発中のビルドやブラウザ操作を邪魔する |
| 起動時間 | 毎日立ち上げるかどうかに効く | ユーザーが自動起動を切る |
| ディスク増加量 | スクリーンショットやログの継続保存に効く | いつの間にか容量を食い、削除対象になる |
| 除外時の負荷 | 記録しない設定でも軽いかを見る | プライバシー設定を増やすほど重くなる |
技術選定を前面に出しすぎない
記事で前面に出すべきなのは、特定フレームワーク名ではなく、常駐アプリとして軽く、安定して、OSのプライバシー境界を尊重できるかです。
読者が知りたいのはフレームワークの勝敗ではなく、自分のPCに入れて邪魔にならないか、将来macOS版が出たときにも同じ考え方で使えるかです。