さくらのVPSで始めるAIエージェント - OpenClaw + さくらのAI Engine + Discord連携

【はじめに】 注目を集めるAIエージェントを始めよう!

近年、ChatGPTをはじめとする大規模言語モデル(LLM)を活用した「AIエージェント」 が急速に注目を集めています。

  • ユーザーの目的を理解できる
  • 必要に応じて外部ツールやAPIを呼び出せる
  • 状態(メモリ)を維持して継続的にタスクを遂行する

そんな「プログラミングもできるスーパー秘書」のような存在を、自分だけのVPS上で安全に動かせたらどうでしょうか?

本記事では、オープンソースのAIエージェントフレームワークOpenClawさくらのVPS上に構築し、

を利用する構成を、初めての方にもわかりやすく解説します。

OpenClawではさまざまなLLM APIが利用できますが、今回は「再学習に使用されず、国内完結で安心して活用できる & 無料から使える」という簡単から「さくらのAI Engine」を利用します。手順だけではなく、

  • 技術的にどう動いているのか
  • なぜVPSで動かした方がよいのか
  • 最低限どんなセキュリティ対策が必要か

といった背景も、さくらのナレッジらしく解説していきます。

本記事に関しての注意事項

OpenClawは現在も活発に開発が進んでいるソフトウェアであり、バージョンによって設定方法や画面構成が変わる可能性があります。本記事で動作確認したOpenClawのバージョンは2026.2.24です。

また、本記事では次のような環境を前提としています。

  • さくらのVPSのOS:Ubuntu 24.04 LTS(推奨/標準OS)
  • SSHでサーバーに接続できること
  • Discordアカウントを持っていること

1. AIエージェントとは?「さくらのVPS」で動かすメリット

1-1. AIエージェントの仕組み

AIエージェントは「少し賢いチャットボット」ではなく、『自律行動できるAI』 であることが特徴です。典型的な動作イメージは次の通りになっています。

  1. LLMがユーザーの目的を解析する
    「何をしてほしいのか」「ゴールはどこか」を理解する。
  2. 必要に応じて外部ツール/API/プラグインを呼び出す
    Web API、ファイル操作、タスク管理ツールなどを使い分ける。
  3. 状態(メモリ)を持ち、継続的にタスクを進める
    過去の会話や中間結果を覚えながら、段階的に処理を進める。

例えるなら「自然言語で命令できるプログラマー兼秘書」のような存在です。

1-2. なぜVPSで動かすのか(メリット)

AIエージェントは便利な反面、ローカルPCで動かすと次のような課題があります。

  • PCを立ち上げていないと使えない(常時稼働しづらい)
  • 自宅回線をインターネットに晒す必要がある
  • 誤った設定で外部からPC丸ごと見られるリスク
  • ローカルの重要な書類・データに誤ってアクセスされる危険

ローカルPCで動かす上ではセキュリティの問題は切り離せないものになっています。外部からの不正なアクセスやエージェントが意図しない動作をした時に大きな問題につながるリスクがあるため、セキュリティ的なサンドボックス(隔離環境)で動かすことが大事だと言われています。

そこでVPSの出番です。

VPSで動かすメリット

  • 24時間連続稼働
    • いつでもどこからでもボットが応答可能
    • データセンターの電源・回線で安定稼働
  • サンドボックス環境として扱える
    • 「AIはVPSの中だけを触る」ようにして、手元のPCを守れる
  • Linuxの権限管理で被害範囲を限定
    • rootと切り離した「専用ユーザー」で安全に運用可能
  • 自分の環境なので制限が少ない
    • OpenClawのプラグインやスキル追加、ログ取得、監査など自由度が高い
  • PCの性能・通信品質に依存しない
    • 自宅回線のグローバルIPを晒さなくてよい
    • 通信品質もデータセンター品質で安定できる

さくらのVPSは安定性やネットワーク品質が高く、『APIやボットを動かし続ける小さなクラウド』として理想的な環境です。

2. さくらのAI Engineのセットアップ & トークン取得

まず、OpenClawが利用するLLMとしてさくらのAI Engineを準備し、APIトークンを取得します。さくらのAI Engineの登録とトークン発行手順は、下記の公式ドキュメントを参照してください。

登録とトークン発行方法はこちら

取得したAPIトークンは後ほどOpenClawの設定で使用します。絶対に他人に見せないようにし、安全な場所に控えておいてください。

3. Discordのセットアップ & トークン取得

Discordのセットアップとトークン取得を行っていきます。

3-1. Discordサーバーとチャンネルの作成

1. Discordにログインします。
https://discord.com/login

2. 左サイドバーの 「+」ボタンからサーバーを作成して必要な情報を追加します。

サーバーの目的などを設定します。(こちらは好きなものを選択してください)

名前を設定して作成を完了します。(本記事ではRoom AI Agentとします)


3. サーバーのアイコンを右クリックして「サーバーIDをコピー」を選択し、どこかに控えておきます。

4. 左メニューから作成したサーバーを選択し、テキストチャンネル欄の「+」から新しいチャンネルを作成します。(チャンネル名は本記事ではai-agentとします)

5. 作成したチャンネルを右クリックして「チャンネルIDをコピー」 を選択し、同じく控えておきます。


ここまでで、以下の情報が取得できました。

  • DiscordサーバーID
  • DiscordチャンネルID

3-2. Discordの開発者ポータルでBotアプリケーションを作成

開発者ポータルでAIエージェント向けのDiscordのセットアップを行います。Discordのアカウントを持っていない方は手順に従って作成してください。

1. Discord開発者ポータルを開きます。
https://discord.com/developers/applications

2. 左メニューの「Applications」を選択後に右上の「New Application」を選択します。

3. 規約のチェックボックスに同意して「Create」をクリックします。

3-3. Bot設定

1. 左メニューの「Bot」を選択します。

2. 右のブロックを下にスクロールして「Privileged Gateway Intents(特権インテント)」の「Message Content Intent」をONにします。下に表示されるポップアップの「Save Changes」をクリックして保存します。
【Tips】Discordとの接続がうまくいかない場合はこの設定が足りていない場合が多いため、忘れずに有効化&セーブしてください。

3. 「Bot Permission」を設定します。
下記のPermissionにチェックをいれてください。

  • View Channels
  • Send Messages
  • Embed Links
  • Read Message History

4. 右ページの中部にある「Reset Token」をクリックして表示されるトークンを取得してメモしておきます。
【Tips】トークン発行時にDiscordアカウントのパスワードを入力する必要があります。トークンは再度表示されないため忘れずに記録しておいてください。

 

3-4. OAuth2でBotをサーバーに招待

1. 左のメニューで「OAuth2」を選択します。

2. 右のページの「Scope」で「bot」を選択します。

3. 「Bot Permission」を選択します。
Scopeで「bot」を選択した状態で下にスクロールして、「Bot Permission」で下記の項目にチェックを入れます。

  • View Channels
  • Send Messages
  • Embed Links
  • Read Message History

4. チェック後に右ページを下部までスクロールして、「Generated URL」をコピーして記録しておきます。(URLの右のボタンを押すとコピーが実行されます)

5. Generated URLをブラウザで開きます。
さきほどコピーしたGenerated URLをブラウザで開いてDiscordの認証ステップを進めます。1つ目の画面で「はい」をクリックします。

2つ目の画面で「認証」をクリックします。
【Tips】画面の真ん中に表示される「権限」が同じになっているかどうかを念の為に確認してください。

認証が成功すると下記の画面が出るので完了です。

ボット用のAI Agentの追加が成功していると下記のようにチャンネルの参加一覧に追加されています。もし追加されていないようであれば手順を再度トライしてみてください。

以上にてDiscord接続に必要な下記の3つの情報を取得できました。

  • トークン
  • サーバーID
  • チャンネルID

これらは次のOpenClawの設定で利用します。

4. OpenClawのインストール & セットアップ

いよいよ、さくらのVPS上にOpenClawをセットアップしていきます。ここではOSとしてUbuntu 24.04を前提にします(OpenClawの標準OSです)。

4-1. 作業用ユーザーの作成(AIエージェント専用アカウント)

AIエージェントは外部と連携し、さまざまなコマンドを実行できるため、rootではなく専用ユーザーで動かすのが鉄則です。ここではaiagentというユーザーを作成します。下記のコマンドを実行してユーザー作成を行います。

#aiagentの名称でユーザーを追加
sudo adduser aiagent

#aiagentに管理者権限を追加
sudo usermod -aG sudo aiagent

#ユーザーをaiagentに切り替える
su - aiagent

ミニコラム:なぜrootで動かしてはいけないの?

rootは「家の中すべてを開くことができるマスターキー」のような存在です。もしAIが誤って危険なコマンドを実行した場合、rootだとサーバー全体に被害が及ぶ可能性があります。一方、専用ユーザーは「作業部屋の鍵」だけを持っているイメージで、万が一のときでも被害をその部屋の中に閉じ込めやすくなります。

4-2. OpenClawのコマンドパスがないとエラーが出る場合

OpenClawをインストールする前に、npmをインストールしたコマンドへのパスを通しておきます。使用しているシェル(通常は ~/.bashrc または ~/.bash_profile)に次の1行を追記します。

export PATH=$PATH:$(npm config get prefix)/bin

反映するには下記を実行します。

source ~/.bashrc

PATH反映後にwhichコマンドを実行してパスが表示されたらokです。

which openclaw

ミニコラム:PATHとは?

Linux がコマンドを探すとき、「どのフォルダを順番に探すか?」をPATHという変数で管理しています。openclawコマンドをインストールしてもPATHにその場所が含まれていないとcommand not foundと応答されてしまいます。「手順が書かれていない工具箱から、目的の工具を取り出せない」のと同じイメージです。

【Tips】OpenClawをインストールすると/homeのユーザーフォルダの直下の.npm-global/binの下にコマンドがインストールされます。今回の例であれば下記の場所にインストールされます。

/home/aiagent/.npm-global/bin/openclaw

4-3. OpenClawをインストール

OpenClawはNode.jsを利用します。まず下記のコマンドでNode.jsのバージョンを確認します。必要なバージョンは22以上です。もしそれよりも古いバージョンのNode.jsがインストールされている場合は、nvmや公式手順などでNode.jsを更新してください。

#バージョンを確認する
node -v

次にOpenClawをインストールします。

curl -fsSL https://openclaw.ai/install.sh | bash

インストールが進むと、続けて初期設定(onboard)に入る場合があります。もし自動で始まらない場合は以下を実行します。
【Tips】設定をやり直したい場合も同じコマンドで再度onboardを実行できます。

openclaw onboard

初期設定ステップでは主に下記の2つを設定します。ステップに従って設定を行なってください。

  • さくらのAI Engineとの接続
  • Discordのトークン設定

4-4. OpenClawの初期設定 (さくらのAI Engineとの接続)

各設定ステップで下記のように回答してください。

  • I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
    → Yesを選択します。
  • Onboarding mode
    → QuickStartを選択します。
  • Config handling
    → Use existing valuesを選択します。
  • Model/auth provider (さくらのAI Engineの設定を行います)
    → Custom Providerを選択します。
  • API Base URL
    https://api.ai.sakura.ad.jp/v1 を指定します。
  • How do you want to provide this API key?
    → Paste API key nowを選択して、その後に取得済みの『さくらのAI Engineのトークン』を設定します。
  • Endpoint compatibility
    → OpenAI-compatibleを選択します。
  • Model ID
    → Qwen3-Coder-480B-A35B-Instruct-FP8 を入力します。

【Tips】Model IDの選択において他のモデルを選択したい場合は下記の公式ページよりモデル名を参照してください。
https://www.sakura.ad.jp/aipf/ai-engine/

ここまで設定をして
Verification successful.
と表示されたら、さくらのAI Engineとの接続が成功しています。

さらに下記のステップに回答します。

  • Endpoint ID
    → custom-api-ai-sakura-ad-jp(最初から入力されているもの)を選択します。
  • Model alias (optional)
    → 空白のままエンターでOKです。

4-5. Discordの初期設定

各設定ステップで下記のように回答してください。

  • Select channel (QuickStart)
    → Discord(Bot API)を選択します。
  • Enter Discord bot token
    → 事前のステップで作成したDiscordのトークンを設定します。
  • Configure Discord channels access?
    → Yesを選択します。
  • Discord channels access
    → Allowlist(recommended)を選択します。(許可されたチャンネルのみ接続可となります)
  • Discord channels allowlist (comma-separated)
    → 取得済みのサーバーIDとチャンネルIDを下記のように入力します。(サーバーIDとチャンネルIDを / でつないで入力)
サーバーID/チャンネルID

この後の接続は任意です。最低限の設定を行いたい場合は下記のようにしてください。

  • Configure skills now? (recommended)(スキルの設定を行う項目です。ここではスキップします)
    → Noを選択します
  • Enable hooks? (スペースで選択、エンターで決定)
    → Skip for nowを選択します。

この後しばらく待つとセットアップが完了します。

4-6. 設定した内容を確認する

下記の設定ファイルに内容が保存されています。

~/.openclaw/openclaw.json

LLM が適切に応答するためには、contextWindowmaxTokensが十分な値になっている必要があります。以下のような大きめの値が設定されているか確認し、小さすぎる場合は変更してください。

"contextWindow": 131072
"maxTokens": 65536

【Tips】openclaw tui を実行しても何も返ってこない場合は、この設定が原因になっていることがあります。

5. OpenClawの動作確認を行う

まずはテキストモードでOpenClawと対話し、さくらのAI Engineと正しく接続できているかを確認します。

5-1. Gateway(バックグラウンドサービス)の起動

#OpenClawのGatewayを起動する
openclaw onboard --install-deamon

【Tips】バージョンによってサブコマンド名が異なる可能性があります。openclaw --help で確認してください。

5-2. テキストUI(TUI)での確認

テキストUIでOpenclawと対話を試します。

openclaw tui

【Tips】接続でエラーが出ている場合や回答がこない場合はさきほどの初期設定手順やコンテキストウィンドウのサイズを見直してください。

起動したら、次のように聞いてみます。

こんにちは?利用しているLLMモデルを教えてください。         

例として、次のような回答が返って来れば成功です。 

現在、このOpenClawインスタンスでは以下のLLMモデルが利用されています:
モデル名: custom-api-ai-sakura-ad-jp/Qwen3-Coder-480B-A35B-Instruct-FP8
これはQwen3シリーズのCoderモデルで、480Bのパラメータ規模を持ち、
35Bのパラメータ数でInstruct(指示)に対応したFP8量子化バージョンです。
日本語環境向けにカスタマイズさ れているようです。             

何か特定のタスクや質問があれば、このモデルを使ってお手伝いできますよ!

ここまで問題なければ、OpenClaw ⇔ さくらのAI Engine間の接続はOKです。

6. Discordとの接続確認とメッセージ送受信

続いて、Discord BotとOpenClawの連携を確認します。

6-1. Discordとの接続を確認

まずは接続ステータスを下記のコマンドで確認します。

openclaw status

Channelsの項目で下記のようにDiscordがOKと表示されていれば接続自体は成功しています。

6-2. OpenClaw側からDiscordにメッセージ送信テスト

1. OpenClawのコマンドを実行して接続を確認します。

openclaw tui

2. 次のように入力して送信してみます。

Discordのメッセージを送信して

3. エラーが出ずに処理が完了していれば、OpenClaw → Discordの送信処理はOKです。

4. Discord 側のチャンネル(前述のai-agentなど)を確認し、メッセージが届いているかをチェックします。

 

 

【Tips】Discordへのメッセージ送信がうまくいかない場合
Discordとの接続設定がうまくいっていない可能性があるので再度の設定をおすすめします。openclaw tuiで下記のようなメッセージを送ることでエージェントが設定を行ってくれます。

Discordのトークンの設定依頼を行うメッセージ

Discordのトークンは【あなたのDiscordトークン】を設定して

DiscordのサーバーID、チャンネルIDの設定依頼を行うメッセージ

DiscordのServer IDに【あなたのサーバーID】 、Channel IDに【あなたのチャンネルID】を設定して

設定が完了した後に再度「Discordへメッセージを送信」を依頼してみてください。それが成功すればOpenClaw側のDiscordの設定は完了となります。

6-3. Discord側からのメッセージ送信(ペアリング)

Discord側からOpenClawへメッセージを送るには、ペアリング(承認) を行う必要があります。

1. Discord側からメッセージを送る
Discordクライアントで、右側のメンバー一覧にいるBotをクリックし、DM画面を開きます。メッセージウィンドウに「こんにちは!」と打ってみてください。この操作によって、OpenClaw側に「ペアリングリクエスト」が送られます。

DM画面を見るとOpenClaw側へリクエストが送信されているのがわかります。

2. OpenClaw側でペアリングリクエストを確認
openclawのコマンドでメッセージ送信リクエストの一覧を確認します。

openclaw pairing list discord

Codeの部分にIDが表示されます。このIDを使って承認します。

openclaw pairing approve discord 【Codeの部分で表示されているID】

承認が成功すると下記のようなメッセージが表示されます。

Approved discord sender 【discordUserIdのID】

3. 実際にメッセージをやりとりしてみる
再度DiscordのDMでメッセージを送ってみて、OpenClawから返信が返ってくれば成功です。

作成したチャンネルでもOpenClaw側にメッセージを送れます。DMと違い、サーバーのテキストチャンネルで会話したい場合は、必ず @メンション でBotを指定してメッセージを送ってください。

6-4. よくあるトラブルとヒント

Botが何も返してくれない

  • Botの「Message Content Intent」がONになっているか確認します。
  • openclaw statusでDiscordがOKかどうか確認します。
  • チャンネルのAllowlistに正しい サーバーID/チャンネルID を設定しているか確認します。

設定をやり直したい

  • openclaw onboardを再度実行します。
  • またはopenclaw tuiで次のようなメッセージを送り、設定を依頼することも可能です。
    • 「Discordのトークンは【あなたのDiscordトークン】を設定して」
    • 「DiscordのServer IDに【あなたのサーバーID】、Channel IDに【あなたのチャンネルID】を設定して」 

7. 【セキュリティ対策】AIエージェント運用で必ず意識したいポイント

OpenClawは外部連携も含め非常に強力なフレームワークです。その一方で、「便利なものほどセキュリティに気を配る必要がある」のも事実です。ここでは、さくらのVPSで実践できる代表的な対策を紹介します。

7-1. パケットフィルター機能で不要なポートを閉じる

さくらのVPSには、コントロールパネルから設定できるパケットフィルター機能があります。Webサーバーなどを一緒に動かす場合は、80/443など必要なポートのみ許可します。さくらのVPSのパケットフィルター機能を使うことで不要なポートを塞ぐことができます。sshのポートのみを開くのがおすすめです。パケットフィルターについての詳細は下記のマニュアルをご覧ください。

https://manual.sakura.ad.jp/vps/network/packetfilter.html

ミニコラム:ポートとパケットフィルタのイメージ

ポートは「サーバーの玄関ドア番号」です。パケットフィルタは「管理人さん」で、「このドアからの出入りは許可するけど、それ以外は通さないよ」と見張ってくれる存在です。

7-2. SSH公開鍵認証を設定する

SSHログインは、パスワード認証ではなく公開鍵認証に切り替えることを強くおすすめします。

  • パスワードログインを無効化
  • 鍵を持っている人だけがログインできるようにする

これにより、総当たり攻撃(ブルートフォース)による不正ログインリスクを大幅に減らせます。

7-3. Skillsの入れすぎに注意する

OpenClawにはさまざまなSkills(スキル/プラグイン)が用意されていますが、

  • 作者・ソースコードを確認する
  • 不要な権限を要求していないか見る
  • 本当に必要なものだけインストールする

といった基本的なチェックを行いましょう。「なんとなく便利そうだから全部入れる」は危険です。特に、ファイル操作・外部通信・シェルコマンド実行系のスキルには慎重になりましょう。

7-4. OpenClawを動かすユーザー領域に機密情報を置かない

OpenClawを動かすユーザー(本記事の例ではaiagent)のホームディレクトリには、

  • 社内の機密文書
  • 個人情報を含むデータ
  • 見られては困る設定ファイル

などは置かないようにしましょう。AIエージェントが誤って情報を外部に送信してしまうリスクを物理的に減らしておくことが大切です。

8. まとめ:OpenClawで「あなただけのAIエージェント」を育てよう

ここまでの手順で、

  1. さくらのVPS 上に専用ユーザーを作成し
  2. OpenClaw をインストール
  3. さくらのAI Engine を LLM として接続
  4. Discord Bot と連携し、双方向の会話を実現

というところまでセットアップできました。

OpenClawにはまだまだ多くの機能や可能性があり、特にSkillsと呼ばれる拡張機能を追加していくことで、

  • サーバーの状態監視
  • 定期レポートの自動生成
  • 自分のWebサービスとの連携
  • 学習用ノートの自動整理

など、まさに「自分だけのAI秘書」を育てることができます。ぜひ、まずはシンプルな構成で安全に動かしつつ、少しずつSkillsを追加しながら「自分流のAIエージェント」を育ててみてください!

2週間の無料体験実施中!さくらのVPSをまずは"気軽に"試してみませんか?

『さくらのVPS』では2週間の無料体験を実施中です。

  • まずは小さなプランで AI エージェントを試してみる
  • うまくいったら、容量やメモリを増やして本格運用に移行する

といったステップアップもしやすくなっています。ぜひお試しください。

※お申し込みをされることで2週間の無料体験が自動で開始します。無料期間内の解約であれば料金はかかりませんのでご安心ください。

2週間のお試しはこちら(さくらのVPSサイト)