OpenClaw を Discord で動かすためのセットアップを行いました。 設定ファイルや AI の記憶(ワークスペース)を安全に管理しつつ、快適な AI エージェント環境を構築する手順をまとめます。
OpenClaw とは
OpenClaw は、自律的な AI エージェントをローカルで動かし、WhatsApp や Discord などのメッセージングアプリと連携させることができるツールです。 シェルコマンドの実行やファイル操作などのスキルを持たせることができ、AI が「思考」するだけでなく「実行」まで担ってくれます。
セットアップ手順
1. Discord Bot の作成
まずは Discord 側で Bot アカウントを作成します。
- Discord Developer Portal で
New Applicationを作成。 Botセクションでトークンを取得。Privileged Gateway Intentsですべての項目(特にMessage Content Intent)を ON にして保存。OAuth2->URL GeneratorでbotスコープとAdministrator権限を選択し、生成された URL をブラウザに貼り付け、自分のサーバーに Bot を招待。
注意: Intents を変更した後は、一度サーバーから Bot をキックして招待し直さないと権限変更が反映されない場合があるので注意が必要です。
2. OpenClaw の初期化
mkdir ~/.openclaw
cd ~/.openclaw
npx openclaw onboardonboard コマンドを実行すると、対話形式でセットアップが始まります。
主な質問と設定内容は以下の通りです。
- Risk Acknowledgement: リスクについての確認。
yで承諾。 - Onboarding mode:
QuickStartを選択。 - Model/auth provider: 使用する AI モデルを選択。Google (Gemini) や OpenAI などから選べます。
- API キーの入力や、OAuth によるブラウザ認証(
Google Antigravity OAuthなど)を行います。
- API キーの入力や、OAuth によるブラウザ認証(
- Channel Setup: ここで
Discordを選択。- 取得した Discord Bot Token を入力します。
- Skills/Hooks: 依存関係(スキル)のインストールに使用するパッケージマネージャ(Bunなど)の選択や、自動化のための Hooks(
session-memory,command-loggerなど)を有効にするかを選択します。
設定が完了すると Gateway が起動し、Discord Bot がオンラインになります。
3. systemd による自動起動
セットアップの最後で、OpenClaw が「gateway サービスを systemd としてインストールし、有効化するか?」と聞いてくるので、Yes と答えるだけで自動的にバックグラウンドサービスとして常駐します。
AI の記憶と設定ファイルについて
OpenClaw の最大の特徴は、AI の記憶や設定がすべてローカルの Markdown ファイルとして管理されている点です。
~/.openclaw/workspace ディレクトリには以下のようなファイルが生成されます。
IDENTITY.md: AI 自身のアイデンティティ(名前、性格、口調など)。ここを編集すると AI のキャラ付けを変更できます。USER.md: ユーザー(自分)に関する情報。名前や好みなどが記録されます。MEMORY.md: 長期記憶。重要な事実や文脈がここに蓄積されます。SOUL.md: AI の行動原理や「魂」にあたる部分。- このファイルは非常にユニークで、対話を通じて「実行前には必ず確認してほしい」とか「定期的にリポジトリを同期して」といったルールが追記されていきます。
git logで履歴を見ると、AI が指導を受けて成長していく様子が分かります。
- このファイルは非常にユニークで、対話を通じて「実行前には必ず確認してほしい」とか「定期的にリポジトリを同期して」といったルールが追記されていきます。
AGENTS.md,TOOLS.md: エージェントの構成や使用可能なツールの定義。
Discord で会話しながら「私の名前は yukimemi だよ」と教えたり、「〜については覚えておいて」と頼んだりすると、AI が自律的にこれらのファイルを更新します。 記憶がテキストファイルとして可視化され、さらに Git でバージョン管理できるため、「いつ何を覚えたか」が履歴として残るのが非常に面白いです。
遭遇したトラブルと解決策
Failed to resolve Discord application id エラー
Discord Bot のトークンからアプリケーション ID が正しく解決できない場合に発生します。
これは設定ファイル (openclaw.json) の不整合が原因でしたが、npx openclaw doctor --fix を実行することで、設定ファイルを自動的に修復して解決できました。
記憶(workspace)の管理
前述の通り、OpenClaw のワークスペース(~/.openclaw/workspace)はそれ自体が Git リポジトリとして管理されています。
そのため、自分の dotfiles リポジトリなどでまとめて管理しようとするとサブモジュール扱いになってしまい、中身(AI の記憶)が保存されません。
今回はワークスペースを dotfiles の管理対象外(.gitignore)とし、エージェント自身に自分の記憶を Git 管理させる という運用スタイルにしました。
AI に「記憶をコミットして GitHub にプッシュしておいて」と頼むと、自分で git commit して、GitHub CLI (gh) を使ってリポジトリ作成からプッシュまで完遂してくれました。これは感動的です。
まとめ
これで、Discord を通じていつでも自律エージェントと対話できる環境が整いました。 自分だけの AI アシスタント、これから育てていくのが楽しみです。