dwgx@blog:~$dwgx
> cd ../posts

VRCSM: VRChat のキャッシュクリーンアップと設定管理ツール

// created

VRCSM は Windows 上の VRChat 向けキャッシュ管理ツールで、キャッシュのクリーンアップ、設定のバックアップと移行、診断と修復を担当する。VRChat の Cache-WindowsPlayer ディレクトリは知らないうちに数十〜数百 GB を食い潰す。中身はすべて他人のアバターやワールドのキャッシュだ。手動でディレクトリを漁ってサイズを計算し、壊れたリンクを見分けるのは遅いうえに誤削除しやすい。このツールはそういった作業を自動化する。

土台は C++20 のホスト、UI は WebView2 に React 19(Vite 6 + Tailwind 4 + shadcn/ui)を埋め込んでいる。ネイティブな Windows 11 のボーダーレスウィンドウに Mica をかけているので、システムと一体に見えるし、Electron をかぶせてメモリを食うこともない。C++ が汚れ仕事——ディレクトリのスキャン、サイズ計算、bundle の解析、junction の操作——をこなし、フロントエンドは表示に専念する。両者は WebView2 のメッセージチャネルでつなぐ。

キャッシュが核心だ。スキャンはディレクトリごとに分類し、サイズ、ファイル数、タイムスタンプ、壊れたリンクをすべて明確に並べる。削除はデフォルトで dry-run。破壊的な操作はまず一覧を出してから確認を取り、削除前には VRChat.exe が動いているかを検出し、起動中なら即座にブロックする。本当に C ドライブを空けてくれるのは NTFS 移行で、junction を使ってキャッシュを別のドライブに移す。VRChat からは完全に透過的で、管理者権限もいらない。

ついでにプレイヤーが気にする部分も作り込んだ。ローカルの UnityFS bundle をそのまま 3D モデルに解析してアバタープレビューにする、config.json と起動引数の読み書き、output_log_*.txt をオフラインで再生してフレンドの入退室やワールド滞在を再構築する、メモやお気に入りを保存する SQLite の内蔵。後から Steam Link / Quest の診断と修復を追加した。修復前は必ずバックアップを取る。多言語は簡体字中国語・英語・日本語・韓国語・タイ語・ヒンディー語・ロシア語まで揃えた。

面倒なことをしたくなければ Releases から .msi を取ってインストールすればいい。自分でビルドするなら、環境は Windows 10 22H2+ x64、VS 2026 Build Tools、CMake 3.28+、Ninja、pnpm、vcpkg で、vcpkg は third_party/vcpkg に入れてある。

cd web && pnpm install && pnpm build && cd ..
cmake --preset x64-release
cmake --build --preset x64-release
.\build\x64-release\src\host\VRCSM.exe

VRCSM は local-first で、スキャン・解析・クリーンアップ・移行はすべてローカルファイルの操作を優先し、ログインして初めて VRChat API を呼ぶ。サーバーへの非常識なリクエストは一切しない。ソースは VSAL の下で公開していて、学習と監査のためだけ。オープンソースではない。個人が自分で使う分には自由だが、転載や、改変しての再配布、商用利用はしないでほしい。