OpenClaw をセルフホスト:個人用 AI アシスタントを Telegram・Slack・Discord に接続する(Hermes Agent との比較付き)
Zenavo のテンプレートで自分のサーバーに OpenClaw をデプロイし、公開 URL とゲートウェイトークンを設定して、モデル API やセルフホスト型ゲートウェイ、Telegram・Discord・Slack ボットとつなぐ 24 時間稼働の個人用 AI アシスタントを構築します。
この記事は English、简体中文、繁體中文、Español、Bahasa Indonesia でもお読みいただけます。
手元の PC で AI アシスタントを動かしていると、ノート PC を閉じた瞬間に接続が切れ、外出先からスマートフォンの Telegram や Discord で調べものや作業を頼むことができません。OpenClaw は、個人用 AI アシスタントを常時稼働のゲートウェイとして動かすツールです。ブラウザの Control UI でモデルプロバイダーとチャットチャネルを設定しておけば、Telegram、Slack、Discord などのチャットアプリからいつでも話しかけられます。
このガイドでは、Zenavo の OpenClaw テンプレートを使って自分の Linux サーバーで 24 時間稼働させる手順と、セルフホスト型モデルゲートウェイとの連携、もう1つの人気オープンソースエージェントである Hermes Agent との違いを説明します。サーバー、Zenavo、上流のモデル API の料金はそれぞれ別に発生します。
1. デプロイ前の準備:ドメインを決める
OpenClaw は初回起動時に、公開 HTTPS アドレスを設定ファイル(publicOrigin と controlUi.allowedOrigins)に書き込み、Control UI のオリジン検証やコールバック URL の生成に使います。
- まず DNS プロバイダーで、サーバーの IP を指す
Aレコード(例:assistant.example.com)を追加します。 - Zenavo に Linux サーバーを接続します(テンプレートでは 2 GB 以上のメモリを推奨しています)。
- OpenClaw テンプレートを開き、Public URL(
SITE_URL) に完全な HTTPS アドレスを末尾のスラッシュなしで入力し(例:https://assistant.example.com)、サーバーを選んでデプロイします。
テンプレートの設定内容は次のとおりです。
| 設定 | 値または用途 |
|---|---|
| イメージ | ghcr.io/openclaw/openclaw:2026.11.3 |
| HTTP ポート | 18789 |
| 状態・設定ボリューム | /home/node/.openclaw(openclaw.json と workspace ディレクトリを保存) |
| 認証ボリューム | /home/node/.config/openclaw |
OPENCLAW_GATEWAY_TOKEN |
プロジェクト作成時に自動生成されるトークン。Control UI へのログインに使用 |
SITE_URL |
デプロイ時に入力した公開 URL。初回起動時に openclaw.json に書き込まれます |
2. ドメインを割り当てて Control UI にログインする
デプロイが完了したら、次の手順に進みます。
openclawサービスの Networking タブを開き、ポート18789に先ほど入力したのと同じドメイン(assistant.example.comなど)を割り当て、HTTPS 証明書が発行されるのを待ちます。詳しくはドメインと HTTPS をご覧ください。openclawサービスの Variable タブを開き、OPENCLAW_GATEWAY_TOKENの値をコピーします。- ブラウザで
https://assistant.example.comを開き、OPENCLAW_GATEWAY_TOKENを貼り付けて Control UI にログインします。
注意:
OPENCLAW_GATEWAY_TOKENがあれば、接続したモデルやチャットボットを誰でも操作できてしまいます。パスワードマネージャー(セルフホストした Vaultwarden など)に保存し、チャットやスクリーンショットには載せないでください。
3. モデルプロバイダーまたはセルフホスト型ゲートウェイに接続する
Control UI にログインしたら、まずモデルプロバイダーを追加します。
- 公式 API に直接接続する:OpenAI、Anthropic、Gemini、DeepSeek などの公式 API キーを入力します。
- セルフホスト型モデルゲートウェイ経由で接続する(推奨):Zenavo 上で Magpie、New API、または LiteLLM を動かしている場合は、ゲートウェイ側で OpenClaw 専用の日次上限付きキーを発行し、OpenClaw の接続先をゲートウェイに向けます。万が一ボットが連続で呼び出されても、上流の請求が膨らむのを防げます。
- 同じプロジェクトのプライベートネットワークを使う:ゲートウェイと OpenClaw が同じ Zenavo プロジェクト内にある場合(Add Service → Templates で追加した場合)は、内部アドレス(
http://new-api.zenavo.internal:3000/v1やhttp://litellm.zenavo.internal:4000/v1など)を指定すれば、リクエストがインターネットに出ることはありません。詳しくはプライベートネットワークをご覧ください。
4. Telegram・Discord・Slack チャネルを接続する
Control UI の Channels ページで、普段使っているチャットツールを追加します。
- ボットの認証情報を作成する:例えば Telegram なら
@BotFatherに/newbotを送って Bot Token を取得します。Discord Developer Portal や Slack App の管理画面でも同様にボットを作成できます。 - トークンを入力してチャネルを有効にする:取得したトークンを OpenClaw のチャネル設定に入力して保存します。
- ボットに話しかけられるユーザーを制限する:Telegram や Discord のボットは、ユーザー名が分かれば第三者からもメッセージを送れる状態になります。必ずチャネル設定で許可リスト(Allowlist)を有効にし、自分の Telegram User ID、Discord アカウント、またはプライベートサーバーの特定チャネルだけから呼び出せるようにしてください。
5. OpenClaw と Hermes Agent の違いと選び方
Zenavo のテンプレートカタログには、同じく Telegram、Discord、Slack に対応したオープンソースエージェント Hermes Agent(Nous Research 製)もあります。違いは次のとおりです。
| 項目 | OpenClaw | Hermes Agent |
|---|---|---|
| イメージとデフォルトポート | ghcr.io/openclaw/openclaw:2026.11.3、ポート 18789 |
nousresearch/hermes-agent:v0.23.1、ポート 9119 |
| 永続ボリューム | /home/node/.openclaw と /home/node/.config/openclaw |
/opt/data |
| 管理画面のログイン | OPENCLAW_GATEWAY_TOKEN トークンでログイン |
ユーザー名 admin、パスワードは HERMES_DASHBOARD_BASIC_AUTH_PASSWORD 変数 |
| 特徴 | 軽量で分かりやすいマルチチャネル個人 AI ゲートウェイ&ワークスペース | 長期メモリ(Memory)、スキル(Skills)の蓄積、自律的なタスク実行を重視 |
複数のチャットアプリから手軽に使えるパーソナルアシスタントなら OpenClaw、Nous Research エコシステムの長期記憶やスキル拡張を重視するなら Hermes Agent テンプレートを選ぶとよいでしょう。
6. バックアップとアップグレード
OpenClaw の設定、ワークスペースファイル、チャネル認証情報は /home/node/.openclaw と /home/node/.config/openclaw の2つのボリュームに保存されています。
- メンテナンス時間帯にプロジェクトを停止し、
openclawサービスの Backup & Restore タブから両方のボリュームをバックアップしたあと、プロジェクトを再開してバックアップファイルをダウンロードし保管します。手順はバックアップと復元をご覧ください。 - テンプレートは動作確認済みのバージョン(
2026.11.3)に固定されています。アップグレードする際は、先にボリュームをバックアップし、上流のリリースノートを確認してから、サービスの Settings → Source でイメージタグを変更してください。
よくある質問
ドメインを開くと「Origin not allowed」と表示される、または接続できません。
2点確認してください。1つ目は、デプロイ時に入力した SITE_URL が割り当てたドメインと完全一致しているか(https:// で始まり、末尾に / がないこと)。2つ目は、初回起動後に SITE_URL 変数を変更した場合です。起動スクリプトは /home/node/.openclaw/openclaw.json が存在しないときだけ設定を生成するため、後からドメインを変えた場合は openclaw.json 内の publicOrigin と controlUi.allowedOrigins も書き換えて再起動する必要があります。
デプロイ後、ヘルスチェックが緑になるまで少し時間がかかるのはなぜですか?
初回起動時にゲートウェイの初期化が行われるため、テンプレートでは 60 秒の猶予時間(start_period: 60)を設けています。2分以上経っても起動しない場合は、コンソール右端の Zenavo Agent を開くか、Claude Code の MCP から起動ログを確認してください。
グループチャットでボットが返信しません。
Telegram ボットはデフォルトでプライバシーモード(Privacy Mode)が有効になっており、グループ内では / で始まるコマンドかボットへの @メンション しか受信しません。通常のメッセージにも反応させたい場合は、@BotFather の /setprivacy で設定を変更し、グループまたは自分のユーザー ID が許可リストに入っているか確認してください。
ブラウザ用のチャット画面も欲しい場合はどうすればよいですか? OpenClaw は Telegram、Slack、Discord から呼び出すのに向いています。ファイルのアップロードやナレッジベース、複数ユーザーアカウントを備えた専用 Web チャット画面も使いたい場合は、同じサーバーに Open WebUI や LobeHub を併設するのがおすすめです。
ドメインを用意して OpenClaw テンプレートまたは Hermes Agent テンプレートをデプロイすれば、数分で自分専用の AI アシスタントをいつものチャットアプリから使えるようになります。
コーディングエージェントが読む内容です(https://zenavo.app/ja-JP/blog/self-host-openclaw.md)。
Markdown を読み込めませんでした。直接開いてください: https://zenavo.app/ja-JP/blog/self-host-openclaw.md