Hermes Agent 実践:Telegram/飛書/企業用Wechat 全プラットフォームで AI アシスタントを構築

April 1, 2026

難易度:中級 · 所要時間:約 20 分 · 得られるもの:Hermes の全プラットフォーム接続に必要な中核設定を習得

「同じ AI アシスタントを、Telegram・飛書・企業用Wechat のそれぞれで動かしつつ、しかも一度だけデプロイできるのでは?」と考えたことはありませんか?Hermes Agent なら、それが可能です。

これは Nous Research がオープンソースで提供する、自走・自己進化型の AI Agent です。最大の特長の一つは、全プラットフォーム対応のメッセージ・ゲートウェイ(メッセージ中継)を内蔵していること。サーバー上でプロセスを 1 つ起動するだけで、Telegram、Discord、Slack、飛書、企業用Wechat、Signal、WhatsApp など 10+ のメッセージ・プラットフォームに同時接続できます。メッセージは自動的にルーティングされ、記憶はプラットフォーム間で共有。設定は 1 回で済み、以後ずっと有効です。

この記事では、最もよく使う 3 つのプラットフォーム――Telegram、飛書( Lark )、企業用Wechat――をすべて接続していきます。


対象読者

この記事は以下の開発者に向いています:

  • Linux/コマンドラインの基礎があり、サーバー上で AI Agent をセルフホストしたい人
  • 複数プラットフォームへのメッセージ接続を必要とする個人開発者、または小規模チーム
  • Hermes Agent を OpenClaw の代替案として評価しているチーム

TIP

もし LLM API Key をまだ持っていないなら、Defapi の利用をおすすめします。Defapi では Claude Opus 4.6 の入力が $2.5/出力が $12.5(100万トークンあたり)で、公式価格の半額です。費用対効果が非常に高いです。対応している API プロトコルの詳細は Defapi Claude ドキュメント を確認してください。


コア依存関係と環境

依存説明
Python3.11+(インストールスクリプトが自動で処理)
OSLinux(Ubuntu 22.04+)、macOS、または WSL2
メッセージ・プラットフォームのアカウントTelegram Bot Token/飛書の企業内製アプリ/企業用Wechat
LLM API Key推奨:Defapi(Claude Opus 4.6 が半額)
Docker任意。v0.6.0 で公式がコンテナデプロイに対応

WARNING

Windows ネイティブは非対応です。WSL2 をインストールしてから、WSL2 のターミナル内で作業してください。


完全なプロジェクト構成

hermes-agent/
├── scripts/
│   └── install.sh              # ワンストップのインストールスクリプト
└── ~/.hermes/                   # メイン設定ディレクトリ(インストール後に自動生成)
    ├── config.yaml              # コア設定(モデル、ツールセット)
    ├── .env                     # API Keys(Git にコミットしない!)
    ├── skills/                  # スキルディレクトリ
    ├── memory/                  # 永続化メモリ
    ├── sessions/                # 会話履歴(FTS5 による全文検索)
    └── gateway/                 # ゲートウェイ設定(各プラットフォームごとに独立した YAML)
        ├── telegram.yaml
        ├── feishu.yaml
        └── wecom.yaml

手順(ステップごと)

ステップ 1:Hermes Agent をワンストップでインストール

Linux/macOS/WSL2 では、公式のインストールスクリプトを実行します:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

インストールスクリプトが Python、Node.js、そしてすべての依存関係を自動的に処理し、最後まで手動の介入は不要です。インストール完了後に shell をリロード:

source ~/.bashrc    # bash ユーザー
source ~/.zshrc     # zsh ユーザー

インストールが成功したか確認:

hermes doctor

TIP

hermes doctor は環境の問題(Python バージョン、API Key、ネットワーク疎通、ツール依存など)を自動診断します。初回実行では、まず一度通すことを強くおすすめします。

ステップ 2:LLM Provider を設定(Defapi に接続)

次に、Hermes に「どこで大規模言語モデルを探すか」を伝えます。.env ファイルに API Key を書き込みます:

hermes config set ANTHROPIC_API_KEY <your-defapi-key>

Defapi は Anthropic の v1/messages インターフェースのプロトコルに互換です。Hermes はそのまま接続できます。加えて、hermes model コマンドで対話式にモデルと Provider を選択することも可能です:

hermes model
# 交互選択:
# 1. Nous Portal
# 2. OpenRouter (200+ モデル)
# 3. OpenAI
# 4. Defapi / カスタムエンドポイント
# 5. その他...

Defapi を使う場合は、対話メニューでカスタムエンドポイント(Custom)を選び、以下を入力します:

API Endpoint: https://api.defapi.org
Model: anthropic/claude-opus-4.6

WARNING

.env ファイルには API Key が含まれているため、絶対に Git リポジトリにコミットしないでください。Docker でデプロイする場合は、環境変数か Docker Secrets を使って注入し、Dockerfile に直接書くのは避けてください。

ステップ 3:最初のプラットフォームを接続(Telegram Bot)

Telegram は Bot API が公開されているため、企業認証が不要で、最も検証しやすいプラットフォームです。

3.1 Bot を作成

Telegram で @BotFather を開き、/newbot を送信。案内に従って Bot を命名し、BOT_TOKEN を取得します。形式は 123456789:ABCdefGHIjklMNOpqrsTUVwxyz のようになります。

3.2 Hermes ゲートウェイの設定

hermes gateway setup
# telegram を選択し、対話設定に進みます

または、手動で ~/.hermes/gateway/telegram.yaml を作成:

platform: telegram
enabled: true
bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"

# アクセス制御:特定ユーザーのみ許可
allowed_users:
  - your_telegram_username

# セキュリティ設定
require_approval_for_dangerous_tools: true

3.3 検証

ゲートウェイを起動したら、Bot にメッセージを送ります:

hermes gateway start
# もしくはバックグラウンド実行:
hermes gateway start --daemon

Telegram で Bot に /new を送ると、ウェルカムメッセージが返ってくるはずです。例えば「こんにちは」といった日本語のメッセージを送って、AI が応答するか確認してください。

TIP

Bot が反応しない場合は、次を確認:hermes gateway status で実行状態を確認し、hermes logs で最新ログを確認します。よくある原因は Bot Token の入力ミス、またはポート競合です。

ステップ 4:飛書(Lark)の企業アプリを接続

飛書の接続は少しだけ複雑で、飛書のオープンプラットフォームで企業内製アプリを作成する必要があります。

4.1 飛書オープンプラットフォームでアプリを作成

  1. 飛書オープンプラットフォーム を開き、企業内製アプリを作成
  2. 「証明書と基本情報」で App IDApp Secret を取得
  3. 「ロボット」機能を有効化

4.2 イベント購読の設定

アプリの「イベント購読」で:

  • リクエスト先 URL を https://你的域名/gateway/feishu/webhook に設定
  • イベント:im.message.receive_v1(メッセージ受信)を選択

WARNING

飛書では、コールバック URL がインターネット上からアクセス可能な HTTPS アドレスであることが求められます。サーバーにグローバルなドメインがない場合は、ngrok で一時的に社内ネットワークを外部に公開できます:ngrok http 8080。生成された HTTPS アドレスを飛書側に入力してください。

4.3 アプリを企業にインストール

「バージョン管理と公開」でバージョンを作成して公開しないと、Bot がメッセージを受け取れません。

4.4 Hermes ゲートウェイの設定

hermes gateway setup
# feishu を選択し、対話で App ID と App Secret を入力

手動で ~/.hermes/gateway/feishu.yaml を編集:

platform: feishu
enabled: true
app_id: "cli_xxxxxxxxxxxxxx"
app_secret: "xxxxxxxxxxxxxxxxxxxx"
verification_token: "your_verification_token"

# メッセージ暗号化(任意だが推奨)
encrypt_key: "your_encrypt_key"

# 許可するチャットとユーザー
allowed_chats: []
require_mention: false

4.5 検証

飛書で Bot にメッセージ /new を送って、反応があるか確認します。飛書のメッセージ形式は Telegram と異なりますが、Bot はリッチテキストのメッセージカードに対応しており、Hermes が自動的に適応します。

ステップ 5:企業用Wechat(WeCom)を接続

企業用Wechat も飛書と同様に、コールバック Webhook モードで接続します。

5.1 企業用Wechat 管理画面でアプリを作成

  1. 企業用Wechat 管理画面 にログイン
  2. 「アプリ管理」→「アプリを作成」→「企業内製」を選択
  3. AgentIdSecret、および企業の CorpId を取得
  4. 「企業トラストIP」をサーバーの IP に設定

5.2 メッセージ受信の設定

アプリの設定で「メッセージ受信」モードを有効化:

  • URLhttps://你的域名/gateway/wecom/webhook に設定
  • 「互換モード」または「イベントモード」を選択

5.3 Hermes ゲートウェイの設定

# ~/.hermes/gateway/wecom.yaml
platform: wecom
enabled: true
corp_id: "wwxxxxxxxxxxxxxx"
agent_id: "1000001"
corp_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
encrypt_mode: "safe"    # セキュリティモードでは encoding_aes_key の設定が必要
encoding_aes_key: "your_32_char_aes_key"

5.4 検証

企業用Wechat であなたのアプリを見つけ、メッセージを送って動作確認します。

TIP

企業用Wechat は IP ホワイトリストの要求が厳格です。クラウドサーバー(DigitalOcean、Hetzner など)にデプロイする場合は、管理画面でサーバーのグローバル IP を信頼 IP リストに必ず追加してください。追加しないと、企業用Wechat からのメッセージが直接拒否されます。

ステップ 6:ゲートウェイを起動し、3 つのプラットフォームを一度に稼働

すべてのプラットフォーム設定が完了したら、次のコマンドでゲートウェイを起動します:

hermes gateway start

Hermes は ~/.hermes/gateway/ 配下の有効化済みプラットフォームすべての設定を自動で読み込み、すべてのアダプタを並行して起動します。あるプラットフォームの起動に失敗しても(たとえば Token の誤りなど)、他のプラットフォームの通常稼働には影響しません。

hermes gateway status で各プラットフォームの稼働状況を確認:

Platform  Status   Users   Messages
telegram  ● online   3         142
feishu    ● online   7          89
wecom     ● online   2          15

Ctrl+C でゲートウェイを停止するか、--daemon でバックグラウンド実行します:

hermes gateway start --daemon

ステップ 7:複数プラットフォームのメッセージ検証

これで、3 つのプラットフォームそれぞれで Bot にメッセージを送ってテストできます:

# Telegram
/new
こんにちは、自己紹介してみてください

# 飛書
/new
あなたは誰?

# 企業用Wechat
/new
私に何ができる?

3 つの端末での応答は完全に一致し、記憶は共有されます――Telegram で話した内容は、飛書や企業用Wechat でもすべて分かります。これこそが Hermes の最も核心的な価値です:1 回の設定で、全プラットフォームで統一された体験

TIP

もし各プラットフォームで異なる Agent インスタンス(異なるモデル、異なるスキルセット)を動かしたい場合は、Hermes v0.6.0 の追加機能である Profiles 機能が使えます:hermes -p telegram profile create。その後、各 profile で異なるモデルやプラットフォームを設定します。Profile 間は完全に隔離され、互いに影響しません。


よくある問題の切り分け

1. Telegram Bot がメッセージを受け取れない

症状: Bot がまったく反応せず、ログにも何も記録されません。

切り分け手順:

# 1. Token が正しいか確認
hermes config get telegram.bot_token

# 2. ポートが占有されていないか確認
ss -tlnp | grep 8080

# 3. webhook モードを使っている場合は Telegram Bot API の設定を確認
# Webhook URL はインターネット上からアクセス可能である必要があります。ローカル開発では ngrok でトンネル
ngrok http 8080

# 4. webhook をリセット(古い webhook が残っていて詰まることがあります)
curl -X POST "https://api.telegram.org/bot<YOUR_TOKEN>/deleteWebhook"

2. 飛書のコールバック検証に失敗

症状: 飛書オープンプラットフォームに「コールバック URL の検証に失敗」と表示される。

切り分け手順:

# 1. 公開 URL がアクセス可能か確認
curl -X GET "https://your-domain.com/gateway/feishu/webhook"

# 2. 飛書の署名検証を確認
# 飛書は AES 暗号化メッセージを使用するため、encrypt_key はバックエンド設定と一致している必要があります
# Hermes のログを確認:
hermes logs --platform feishu

WARNING

飛書の暗号化モード(encrypt_mode)は、バックエンド設定と一致している必要があります。一方でバックエンドで「セキュアモード」を選んでいる場合は、Hermes 側の設定でも encrypt_mode: safe と、それに対応する encoding_aes_key を必ず入力してください。

3. 企業用Wechat のメッセージが応答しない

症状: メッセージを送ったのにまったく返信がなく、ログにも記録がありません。

切り分け手順:

# 1. CorpId / AgentId / Secret が正しいか確認
# 2. 最重要:IP ホワイトリストを確認
# 企業用Wechat は API を呼び出すサーバーの IP が信頼 IP リストに含まれている必要があります

# 3. AccessToken を取得してテスト
curl "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwxxx&corpsecret=secret"

# もし "errmsg": "ip not in whitelist" が返るなら、IP が加白されていないことを示します

4. モデルが応答しない

症状: Bot がメッセージは受け取るが、AI が返答せず「thinking」のままになる。

切り分け手順:

# 1. API Key が有効かテスト
curl -X POST "https://api.defapi.org/api/v1/messages" \
  -H "Authorization: Bearer <your-key>" \
  -H "Content-Type: application/json" \
  -d '{"model":"anthropic/claude-opus-4.6","messages":[{"role":"user","content":"hi"}],"max_tokens":10}'

# 2. モデル設定を確認
hermes config get model

# 3. fallback_providers(推奨設定)を確認
# ~/.hermes/config.yaml にバックアップ Provider を追加:
fallback_providers:
  - provider: openrouter
    api_key: "${OPENROUTER_API_KEY}"

TIP

Defapi 以外に、少なくとも 1 つバックアップ Provider を設定することをおすすめします。Hermes v0.6.0 は fallback_providers のチェーン呼び出しに対応しており、主 Provider がタイムアウトしたりエラーを返した場合に自動でバックアップへ切り替え、Agent が落ちないようにします。

5. ツール実行でエラーが出る

症状: Bot が「この操作を実行できません」と返信する。

切り分け手順:

# 1. 現在有効になっているツールセットを確認
hermes tools

# 2. 必要なツールセットを有効化
hermes tools enable web_search
hermes tools enable terminal

# 3. 危険なコマンドは手動確認が必要
# 設定を確認:
hermes config get approval_required
# true にすると、すべての危険コマンドであなたの手動承認が必要になります

6. 複数プラットフォーム間の並行競合

症状: あるプラットフォームでメッセージを受け取った後、他のプラットフォームが反応しない。

切り分け手順:

Hermes v0.6.0 の token-lock 機構により、2 つのプラットフォームインスタンスが同じ Bot Token を使って競合するのを防げます。ただし、複数のマシンで同じ Bot の複数インスタンスを動かしている場合、この問題が起きます。

# Hermes のゲートウェイインスタンスが 1 つだけ稼働していることを確認
ps aux | grep hermes
pkill -f hermes-agent

# その後、再起動
hermes gateway start

TIP

Profiles 機能を使うと、各プラットフォームで完全に独立した Hermes インスタンスを動かせます。各 profile には独自の設定ディレクトリ、メモリ、セッションがあり、profile 間は完全に隔離されるため、チーム内の別メンバーがそれぞれ自分の Bot を使う用途に適しています。


追加の読み物/発展の方向性

OpenClaw からの移行

すでに OpenClaw を使っている場合、Hermes は公式の移行ツールを提供しており、SOUL.md、MEMORY.md、Skills、API Keys、そしてメッセージプラットフォームの設定を自動で取り込めます:

hermes claw migrate              # インタラクティブな完全移行
hermes claw migrate --dry-run    # 先にプレビュー
hermes claw migrate --preset user-data  # 機密情報は移行しない

MCP Server モード

Hermes v0.6.0 では MCP Server 機能が追加されており、1 つのコマンドで Hermes を外部に向けてツールとして公開できます:

hermes mcp serve
# stdio と Streamable HTTP の 2 種類の転送プロトコルをサポート

接続後、Cursor、VS Code、Zed などの IDE は MCP プロトコルを通じて Hermes のすべてのツールと対話機能を呼び出せます。

カスタムスキルシステム

Hermes の Skills システムは、自然言語の説明から自動的にスキルを作成できます。もちろん手動で書くことも可能です:

# 既存スキルを確認
hermes skills

# Skills Hub(コミュニティのスキル市場)を閲覧
/skills

# agentskills.io からコミュニティスキルをインストール

Cron の定期タスク

自然言語で定期タスクを設定すると、Hermes が自動実行し、結果を任意のプラットフォームへプッシュします:

# 毎日 8:00 に天気レポートを Telegram へ送信
/cron "Every day at 8am, summarize today's weather and send to me" --platform telegram

結び

Hermes Agent の全プラットフォーム対応ゲートウェイ設計はとても洗練されています――設定は 1 つだけ管理すれば、同じ Agent インスタンスを任意の複数メッセージプラットフォームで動かせます。記憶はプラットフォーム間で共有され、設定は一度で完了。複数の独立 Bot を個別に動かすよりも、リソース消費も大幅に抑えられます。

もしあなたがまだ OpenClaw を使っている、あるいは「本当に戦える」オープンソースの AI Agent を探しているのであれば、Hermes は 20 分試す価値があります。Defapi の半額の Claude Opus 4.6 と組み合わせれば、月額コストを元の 50% まで圧縮でき、体験も一切割り引かれません。

Updated April 1, 2026