# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

WATCHER - Mistral 常時オン デーモン
------------------------------------

説明
------------
Watcher デーモンは、OpenClaw/molt.bot からインスピレーションを得て、BACH を「常時オン」にします。
Mistral (ローカルでは Ollama 経由、無料) はバックグラウンドで永続的に実行され、
受信イベントを分類します。必要に応じて、クロード コード セッションを開始します。

アーキテクチャ
-----------
                    ウォッチャー デーモン (常時オン)
                    |
    +--------------+--------------+
    |               |               |
  コネクタファイルシステムタスクキュー
  (電報、(受信箱、(新規/緊急)
   Discord) ダウンロード) BACH タスク)
    |               |               |
    +------+-------+----------+------+
            |
            v
     ミストラル分類器
     (OllamaClient -> Mistral:最新)
            |
  +----------+----------+----------+
  |         |         |          |
応答 エスカレーション ログのみ 無視
ダイレクト・クロード
  |         |         |
  vvv
返信 クロードイベント
セッションログ経由
コネクタの開始

コマンド
-------
  bach watcher start              デーモンをバックグラウンドで開始
  bach watcher stop               デーモンを停止
  bach watcher status             ステータス、イベント、統計
  bach watcher classify "text"    テキストを手動で分類 (テスト)
  bach watcher logs [N]           最後の N ログ行
  bach watcher events [N]         最後に分類されたイベント

分類
--------------
Mistral は各イベントを 4 つのアクションのいずれかに分類します。

  アクション 説明 例
  ------------------------------------------------------------------
  RESPOND_DIRECT ミストラルは「調子はどうですか?」と自ら答えます。 -> 「いいですね！」
  ESCALATE_CLAUDE クロード セッションの開始「ハンドラーのリファクタリング」
  LOG_ONLY ログのみ、アクションなし 「バックアップが完了しました」
  無視 スパム、広告を破棄

イベント ソース
-------------
  Connector_messages Telegram/Discord メッセージ (コネクタ システム経由)
  ファイルシステム 監視対象フォルダー内の新しいファイル
  task_queue 新規/緊急 BACH タスク (P1/P2)
  スケジュールされたスケジュールベースのイベント (Cron)

安全対策
------------------
- クールダウン: 最小。クロードのエスカレーション間隔は 5 分
- 1 日あたりの制限: 1 日あたり最大 20 件のエスカレーション
- クロードチェック: クロードがすでにオンラインの場合はエスカレーションなし
- 画面ロック: 画面がロックされている場合はエスカレーションなし
- 静かな時間: 設定可能 (デフォルト: 23:00-07:00)

設定
-------------
ファイル: Hub/_services/watcher/config.json

重要な設定:
  有効なデーモンのオン/オフ
  poll_interval_seconds ポーリング間隔 (デフォルト: 15 秒)
  Quiet_start/quiet_end 静かな時間
  misstral_model オラマ モデル (デフォルト: Mistral:latest)
  escalation_cooldown_秒エスカレーション間の時間
  max_daily_escalations 1 日あたりの最大エスカレーション数
  ソース。* イベント ソースのアクティブ化/非アクティブ化

要件
---------------
- Ollama がインストールされ、起動されました
- ミストラル モデルがロードされました (オラマ プル ミストラル)
- 構成されたコネクタ システム (メッセージ ソース用)

DATABASE
---------
  Connector_messages.watcher_classified Watcher がメッセージを見たかどうかの追跡
  watcher_event_log 分類されたすべてのイベントと結果

ログ ファイル
-----------
  data/logs/watcher_daemon.log デーモンのアクティビティと分類

関連項目
----------
  bach help connector     コネクタ システム (Telegram/Discord)
  bach help partners      パートナー システム
  bach help daemon        セッション デーモン
  bach help injectors     インジェクター システム
