MENU

VPSに常駐するAIエージェント「Hermes Agent」を構築しました

VPSに常駐するAIエージェント「Hermes Agent」を構築しました

最近、VPS上に Hermes Agent を常駐させました。

ざっくり言うと、Telegramからメッセージを送るだけで、サーバー上のAIエージェントに作業を頼める仕組みです。ローカルPCを開いていなくても、VPS側で会話を受け取り、必要に応じてWebを調べたり、ファイルを読んだり、コマンドを実行したりできます。

今回は、その構成を自分の開発環境向けに整理したので、ブログとして残しておきます。

目次

Hermes Agentとは

Hermes Agentは、Nous Researchが公開しているAIエージェントです。

通常のチャットAIと違うのは、ただ返事をするだけではなく、ツールを使って実際の作業に近いことができる点です。たとえば、Web検索、ファイル操作、ターミナル操作、ブラウザ操作、画像生成、記憶、スキル、定期実行などを組み合わせられます。

さらに、CLIだけでなくTelegramなどのメッセージアプリからも使えるため、VPSに置いておくと「外から呼び出せる作業用AI」に近い形になります。

公式リポジトリはこちらです。

NousResearch/hermes-agent

今回作ったもの

今回の構成では、Hermes AgentをVPS上で常駐させ、Telegramから話しかけられるようにしています。

Hermes Gatewayの構成図

実際の動きはかなりシンプルです。

  1. Telegramでメッセージを送る
  2. VPS上のHermes Gatewayが受け取る
  3. OpenRouter経由でAIモデルに渡す
  4. 必要ならツールを使って調査や作業をする
  5. 結果をTelegramへ返す

この「Gateway」が橋渡し役です。ユーザーから見るとTelegramのBotと会話しているだけですが、裏側ではVPS上の常駐プロセスがモデルやツールをまとめて動かしています。

擬人化したHermes

今回のブログ用に、Hermes Agentのファイル構成や雰囲気を見せて、GPT image2で擬人化イラストを作ってもらいました。

Hermes Agentを擬人化したキャラクター

黒と金をベースに、翼のモチーフを持ったメッセンジャーのようなデザインになっています。Hermesという名前のイメージにも合っていて、個人的にはかなり気に入っています。

AIエージェントはどうしても設定ファイルやログの話になりがちですが、こういうビジュアルがあると「自分の環境で動いている相棒感」が出て楽しいです。

VPS上の構成

VPSでは、Hermes Agentをsystemdのサービスとして起動しています。

サービス名は hermes-gateway.service です。サーバーを再起動しても自動で立ち上がるようにしてあります。

確認した構成は次のような形です。

項目 内容
Hermes Agent 0.9.0
実行方式 systemdサービス
常駐プロセス Hermes Gateway
連携先 Telegram
モデル経路 OpenRouter
使用モデル Kimi K2.6系
保存場所 .hermes 配下

Hermes本体はVPS内の .hermes/hermes-agent に入り、設定や会話履歴、メモリ、スキル、定期実行の情報は .hermes 配下に保存されます。

外部にWebサーバーとしてポートを開くというより、Telegramの更新を取りに行く構成です。そのため、普通のWebアプリのように「このポートにアクセスすれば画面が出る」というタイプではありません。

できること

今の構成で特に便利だと感じているのは、次のような使い方です。

Telegramから作業を頼める

PCを開いていなくても、スマホからTelegramで指示できます。

ちょっとした調査、メモ、確認、定期実行の相談などを投げられるので、VPSに常駐している意味が大きいです。

ツールを使える

Hermes Agentは、会話だけでなくツールも使えます。

今回の環境では、Web検索、ファイル操作、ターミナル操作、ブラウザ操作、画像生成、画像解析、メモリ、スキル、cronなどを扱える構成になっています。

たとえば、サーバーの状態確認やログ確認のような作業も、許可しながら進められます。

会話や知識を残せる

Hermesにはメモリやセッション保存の仕組みがあります。

毎回ゼロから説明するのではなく、過去の会話や作業の文脈を少しずつ活かせるのが面白いところです。さらにスキルとして手順を残せるので、よくやる作業を自分用に育てていくこともできます。

定期実行もできる

cron機能もあります。

たとえば、日次レポート、定期チェック、バックアップ確認のような「あとで自動でやってほしいこと」を自然文から登録できるのが便利です。

技術的に面白いところ

一番面白いのは、Hermes Agentが「チャット画面」ではなく「作業の入口」になっているところです。

Telegramはあくまで入口で、実際の中心はVPS上のGatewayです。Gatewayがメッセージを受け取り、モデルに渡し、必要なツールを呼び出し、結果をまたTelegramへ返します。

構成としては、次の役割に分かれています。

役割 説明
Telegram ユーザーとの会話窓口
Gateway メッセージを受け取り、処理全体を管理する
OpenRouter 使用するAIモデルへの接続口
Tools Web検索、端末操作、ファイル操作など
Memory / Skills 会話の記録や手順の蓄積
systemd Gatewayを常駐させる仕組み

普通のBotは「メッセージに返事する」だけで終わりがちですが、Hermesは作業用の道具箱まで持っています。ここがエージェントらしい部分です。

運用で気をつけたいこと

便利な一方で、VPS上で動くAIエージェントなので、扱いには注意が必要です。

まず、APIキーやBot Tokenは .env に保存されます。記事やログにそのまま貼らないようにする必要があります。

また、ターミナル操作ができる構成にしている場合、AIが実行できる範囲を広げすぎると危険です。承認を挟む設定や、使えるツールの整理はかなり大事です。

今回の環境ではsystemdでroot実行になっているため、長期運用するなら専用ユーザーで動かす構成も検討したいところです。

使ってみた感想

Hermes Agentは、単なるチャットAIというより「VPSに住ませる作業エージェント」という印象です。

Telegramから呼び出せるので、スマホからでもすぐ相談できます。モデルはOpenRouter経由で切り替えやすく、ツールやメモリもあるので、育てていく余地があります。

特に、自分の開発環境やブログ運用、サーバー管理のような細かい作業とは相性が良さそうです。

今後は、定期レポートやサーバー監視、ブログ作業の補助などにも使えるように、少しずつスキル化していこうと思います。

目次