家にセキュリティカメラを置いるけど、結局だれも映像を監視していなくて「何かあったら録画を見返す」だけの存在になっていた。事後確認はできるけど、それって防犯じゃなくて記録でしかない。もっとパッシブに、人間が何もしなくても家のセキュリティが上がる仕組みがほしいなと思って、AIに監視を任せてみることにしてみました。
Hermes Agent と、自宅のHomeAssistantとセキュリティカメラを連携させ、家の状態を自律的に監視・報告してくれる仕組みを作ってみた。クラスタとHomeAssistantは物理的に別の場所にあり、HTTPS経由で通信している。
構成
┌─ Kubernetes Cluster (Harvester/RKE2) ───────────────────┐
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Hermes Agent │◄──►│ LiteLLM │──► さくらの │
│ │ (AIエージェント) │ │ (LLMプロキシ) │ AI Engine │
│ └──────┬───────┘ └──────────────┘ (Kimi-K2.6) │
│ │ │
│ ArgoCD (GitOps) で全体管理 │
└─────────┼───────────────────────────────────────────────┘
│ HTTPS
│
┌─ 自宅 ──┼───────────────────────────────────────────────┐
│ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │HomeAssistant │◄──►│ Xiaomi C301 │ │
│ │ │ │ (セキュリティカメラ)│ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
登場人物は
- Hermes Agent — NousResearch製のAIエージェント。HomeAssistantのエンティティ変化を監視して自律的に反応できる
- LiteLLM — LLMプロキシ。さくらのAI EngineのKimi-K2.6をメインに、MacBook Proのローカルモデル(gemma4)をフォールバックとして構成
- HomeAssistant — スマートホームの中枢。カメラを含むすべてのデバイスを統合管理
- Xiaomi C301 — セキュリティカメラ。HACSの
hass-xiaomi-miotインテグレーション経由でHomeAssistantに接続 - ArgoCD — GitOpsでクラスタ全体を管理。masterブランチへのpushで自動デプロイ
なぜHermes Agentなのか
もともとOpenClawを使っていたものの友達に「Hermesもいいよ」とお勧めされ、家の一員として振る舞ってもらうなら、次回全ループの仕組みが強い方が状況に応じて自分で学習・改善していけて良さそうだな。ということでHermesで運用してみます。
さくらのAI Engine
AI警備員のLLM部分は、直接APIを叩くのではなくLiteLLMをプロキシとして挟んでいる。
メインのモデルはさくらのAI Engineの Kimi-K2.6。この用途には無料で結構良い感じです。日本語の理解力も高く、スマートホームの状況判断には今のところ不満が無いです。
さくらのAI Engineは月間3000リクエストまで無料です。
LiteLLMを挟んでいるのはAPIキーをhermesから見えるところから分離したかったのと、フォールバックとして自宅MacBook Pro上で動くgemma4(MLX)も設定しているので、さくらのAI Engine側で無料枠を使い切ってもローカルLLMで最低限の応答は維持できる形にしたかったからです。
カメラ
セキュリティカメラにはXiaomiの C301 を採用。
安くて元から家にあったのでこちらを使います。HomeAssistantへの接続は、HACSから hass-xiaomi-miot インテグレーションをインストールして行う。
このインテグレーションを入れると、以下のエンティティが使えるようになる:
- camera エンティティ — RTSPストリーム(ポート8554)の表示、スナップショット取得
- switch/select — カメラの電源ON/OFF、ナイトビジョン切替
- sensor — カメラステータス、ストレージ情報
運用してみて
以下の流れで動作する形になっています。
- HA(HomeAssistant)のAutomationでカメラの動体検知イベントをフック。
- 家に誰もいなければHermesのwebhookへイベントを送信。
- Hermesはイベント情報を元にHA側に映像を取得しに行く。
- 内容を分析してDiscordへ通知
こんな感じで動いて最終的に以下のようなメッセージがDiscordに届きます

今後
- イベントを元に他のカメラを能動的にHermesが見に行ったり出来ると良さそう
- カメラスナップショットのビジョンAI分析(「誰かいる」→「知らない人がいる」の判定)
- 引っ越したら庭やら玄関やらの監視カメラを追加するのでその辺にも合わせていきたい
通知自体はちゃんと届くしとりあえず動いてくれてよかった。ただ、メッセージが冗長なので日常的にログが流れてくることを思うともうちょっと簡潔でもいいかもしれない。
このあたりはスキル化してフォーマットを統一したらもっと良くなりそう。
実世界とLLMのつながりが増えて「より家族の一員感が増した」感があり、よかったので推し進めて行きたい。
