お疲れ様です。

OpenClawが面白そうなので試してみようと思います。

AWSのLightSailで使えるようになったりして広がってるような気がしますね。

OpenClawとは何ぞや?

ちゃんとした説明は公式サイトにお任せします。

簡単に言うと「PCを一台AIにあげる」って感じです。

そのPC内では何でもやっていいよって、権限を与えることで秘書みたいに仕事してもらえるってことですね。

しかも、DiscodやSlackとかでAIとやり取りができるので、外出先から秘書に仕事を頼む感じのことができるってことですね。近未来的です。

今までは、AIエージェントに勝手なことをされないように制限をかける方向で考えられてきたと思いますが、まさに逆転の発想です。

もちろん、今まで懸念されてきたリスクが消えたわけじゃありませんので、リスクをあえて許容して利便性を追求した感じですね。

開発者の”ピーター・スタインバーガー”さんは自身がメインで使用しているPCにOpenClawを入れて、過去のファイルとかを参照させて仕事させるみたいなことをしているようですが、チキンな私にはそんな勇気がないので、OpenClaw専用のRaspberryPiを立てて検証してみたいと思います。

必要なもの

今回の検証は以下のものが必要ですので順番に準備しましょう

  • LLMのAPIキー(今回はGeminiのAPIキーを用意しました)
  • Discodのサーバーとボット
  • OpenClawをインストールしたラズパイ

LLMのAPIキー

今回はGeminiを利用しますので、GoogleAIStudioでAPIキーを入手します。

Geminiの場合、APIキーはLLM用と検索用の2つが同じキーで行けるので1つあればOKです。

左ペインから「Dashboard」を開きます。

さらに、左ペインで「APIキー」をクリック

「APIキーを作成」をクリック

プロジェクトを作る場合はプルダウンで「プロジェクトを作成」を選択して作成します。

プロジェクトを選択して「キーを作成」をクリックするとAPIキーが表示されるのでコピーしておきます。

Discordサーバーとボット作成

Discordでサーバーとボットを作ります。

(Discordはあまり使ったことがないので素人です。間違っていてもご容赦を)

サーバーはOpenClawと会話するためのも専用サーバーを作ります。ボットも念のために公開しないボットとしました。

サーバー作成

ブラウザでもディスクトップアプリで大丈夫です。

サイトを開いて、左ペインの「+」ボタンでサーバーを追加します。

「オリジナルの作成」をクリック

「自分と友達のため」をクリック

サーバー名を入力して「新規作成」をクリック

サーバーが追加されます。

ボット作成

続いて、ボットを作成します。ボットは「DEVELOPER PORTAL」で作成します。

「新しいアプリケーション」をクリック

名前を入力して同意して「作成」をクリック

ボット設定

非公開ボットにするにはインストール設定を変更する必要があるので、インストールリンクを「なし」にします。

左ペインで「ボット」をクリックし、「トークンをリセット」をクリックします。

実行してパスワードを入力すると画面にトークンが表示されるのでコピーしておきましょう。

それ以外の項目を以下のように設定します。

  • 公開ボット:オフ
  • Presence Intent:オン
  • Server Members Intent:オン
  • Message Content Intent:オン

続いて、左ペインから「OAuther2」を選択し、「bot」を選択します。

下にスクロールして、「bot権限」の「管理者」をクリックします。

一番下の「生成されたURL」をコピーして、ブラウザで開きます。

サーバーを選択して、「はい」をクリックします。

OpenClawのインストール

まずはラズパイOSをSDカードに書き込んで立ち上げて、アップデートから実施します。

ラズパイでOpenClawを動かすことについては、いろんなサイトで紹介されていますが、raspberriPi4以上で動くようです。

まずはOSのアップデートとアップグレード

sudo apt update && sudo apt upgrade -y

nvmをバージョンを指定してインストールします。22でインストールする必要があるみたいです。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 22

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

npm i -g openclaw

OpenClawの設定を行います。

openclaw onboard

最初にこんな感じの質問をされるので、「yes」を選択します。

I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
(これはデフォルトでは個人用であり、共有/複数ユーザーでの使用にはロックダウンが必要であることを理解しています。続行しますか?)

この後、いっぱい設定事項が出てくるので以下のように設定します。

  • Onboarding mode:QuickStart
  • Model/auth provider:Google
  • Google auth method:Google Gemini API key
  • How do you want to provide this API key?:Paste API key now
  • Enter Gemini API key:[GeminiのAPIキーを貼り付け]
  • Default model:google/gemini-2.5-flash
  • Select channel (QuickStart):Discord (Bot API)
  • How do you want to provide this Discord bot token?:Enter Discord bot token
  • Enter Discord bot token:[ボットのAPIキーを貼り付け]
  • Configure Discord channels access?:Yes
  • Discord channels access:Open (allow all channels)
  • Search provider:Gemini (Google Search)
  • Gemini (Google Search) API key:[デフォルトで同じAPIキーが表示されるので、そのままエンター]
  • Configure skills now? (recommended):No
  • Enable hooks?:Skip for now
  • How do you want to hatch your bot?:Hatch in TUI (recommended)

Skillを設定するとGoogleカレンダーへのスケジュール登録とかできるようになるそうです。

最後の質問でコンソールを選んでるので、そのままコンソール上でLLMとチャットできるようになります。

Discordでチャット

以上の設定を行うと、DiscordでOpenClawがオンラインになります。

ボットにメンションすると答えてくれました。(メンションしないと答えてくれないようです)

サービス化とコマンド

勝手にgatewayがサービス登録されていたので、特にサービス登録は必要ありませんでした。

ブラウザアクセスもできますが、ローカルホスト以外からのアクセスはオリジンエラーになるので使いにくいですね。

今回、セットアップや状態の確認を行う上で必要となったコマンドをまとめておきます。

# サービス停止
openclaw gateway stop

# サービス開始
openclaw gateway start

# 設定確認
cat ~/.openclaw/openclaw.json

# チャット開始
openclaw tui

まとめ

Discordの設定やOpenClawのインストールや設定で、かなり苦労しました。

バージョンアップでいろいろ変わっているようで、2か月ぐらい前の情報が使えなくなったりしていますので、今回の内容も数か月後には陳腐化しているかもしれませんね。

蟹さんがおっしゃるには、LAN上にいるほかのPCにはアクセスしないみたいなので、とりあえず大丈夫と思うけど、まあ、本当かどうかは不明です。

せっかくDiscordでチャットできるようになったので、いろいろ使ってみようと思います。