macOS /var 監視ツール

fswatch / watchman / entr / log stream をひとつの TUI と Web UI で一元管理

4 つの監視エンジン

  • fswatch — ファイルシステム変更のリアルタイム検知
  • watchman — Facebook 製の監視デーモン
  • entr — ファイルリスト駆動の変更トリガ
  • log stream — macOS Unified Logging の監視

TUI と Web UI を切り替え

--tui と --web フラグで端末 UI とブラウザ UI を選択。同時起動も可能で、状態とログは常に同期します。Web UI は単一バイナリに同梱(make build)。

リアルタイムログ & 重複排除

TUI ではスクロール可能なログビュー + キーワードフィルタ、Web UI では WebSocket で即時配信。同一イベントは dedup_ms の窓内で 1 行に集約。

SQLite 永続化 & 時系列検索

ログを pure Go の SQLite に保存(pure Go / CGO 不要)。キーワード・日時範囲・source で検索し、CSV / JSON でエクスポートできます。

ルールベース アラート & macOS 通知

「パターン + 時間窓内 N 件」でアラート発火。macOS 通知(サウンド可)と Web バッジで知らせます。

統計 / ツリー / 差分の可視化

24h 集計ダッシュボード・ディレクトリ ヒートマップ・テキスト差分(追加: 緑 / 削除: 赤)を Web で確認。

プリセット & パフォーマンス監視

logs / caches / temp のプリセットをワンタップで適用。イベントレート・ヒープ・CPU をミニグラフで監視。

設定保存 & プラグイン & i18n

~/.varwatch/config.json で状態管理。plugins/*.sh を置くだけで独自監視を追加。Web UI は 日本語 / English をボタンで切替。

インストール

$ brew install fswatch watchman entr
$ go install github.com/watanabe3tipapa/var-watcher/cmd/varwatch@latest
$ sudo varwatch --tui

Web UI も単一バイナリに同梱されます。最新の UI を同梱したい場合は git clone して make build してください。

クイックスタート

$ varwatch --tui        # 端末 UI で監視
$ varwatch --web         # ブラウザ UI を :8080 で起動
$ varwatch --tui --web   # 両方同時
$ varwatch --version     # バージョン表示