PR

OpenClaw+Codex+Discordで、家事と仕事の連絡を自動化する環境を作ってみた

OpenClawとCodexとDiscordを連携して連絡を自動化するイメージのアイキャッチ。キャラクターとワークフロー図を配置 働き方とIT活用
OpenClaw・Codex・Discordを連携し、連絡業務を自動化する仕組みを構築

この記事でできること

  • OpenClawの導入から初期設定までを完了できる
  • Codex連携とDiscord連携を段階的に構築できる
  • 最後にDiscordで会話疎通テストを通せる

前提環境

  • OS: macOS(本記事はmacOSを基準に記載)
  • ツール: Homebrew / Node.js / OpenClaw / Discord
  • 想定読者: OpenClawをこれから運用し、家事・仕事連絡の自動化を始めたい人

全体ロードマップ(章ごとのゴール)

第1章 準備編

– ゴール: 前提ツールとアカウント準備が完了している

第2章 OpenClaw導入編

– ゴール: OpenClawが起動し、ローカルで基本動作が確認できる

第3章 Codex連携編

– ゴール: OpenClawからCodexを呼べる状態になる

第4章 Discord連携編

– ゴール: DiscordチャンネルでOpenClawが受信・返信できる

第5章 会話テスト編

– ゴール: 実運用を想定した会話テスト(家事連絡・仕事連絡)が通る


第1章 準備編

この章のゴール

OpenClaw導入前に必要な環境が揃い、次章でインストール作業に進める状態になります。

手順1: 必須ツールを確認する

まず、ローカル環境で次を確認します。

  • Homebrew
  • Node.js
  • npm
  • Discordアカウント(検証用サーバーに入れること)

確認コマンド(macOS):

brew --version
node -v
npm -v

期待結果:

  • – すべてのコマンドでバージョンが表示される
  • – `command not found` が出ない

手順2: Discordに検証用チャンネルを作る

本番運用とは分けて、検証専用チャンネルを1つ作成します。

例:

  • `#bot-test-housework-work`

期待結果:

  • 自分が投稿できる
  • BOT追加後のテスト投稿先として使える

手順3: 動作確認基準を先に決める

この時点で、最終ゴールを明確にします。

  • Discord上で「OpenClawにメンション→返信」が1往復成功
  • 家事連絡・仕事連絡のサンプル文で返答確認

期待結果:

  • 「何をもって成功とするか」が明確になる

つまずきポイントと対処(第1章)

  • 問題: 後続手順でコマンドが通らない
  • 原因: Node.jsまたはnpm未導入、またはPATH未反映
  • 対処: シェル再起動後に `node -v` `npm -v` を再確認し、未導入なら先に導入

まとめ(第1章)

第1章では、導入前の前提環境を揃えました。

次はOpenClawをインストールし、ローカルで起動確認まで進めます。

完了チェック:

  • `brew --version` / `node -v` / `npm -v` が通り、Discord検証チャンネルを1つ用意できている

第2章 OpenClaw導入編

この章のゴール

OpenClawをインストールして起動し、ローカルで基本応答が返る状態にします。

手順1: OpenClawをインストールする

公式手順に沿ってOpenClaw CLIを導入します。

npm install -g openclaw

確認:

openclaw --version

期待結果:

  • バージョン番号が表示される

手順2: Gatewayを起動する

OpenClawのGatewayを起動します。

openclaw gateway start
openclaw gateway status

期待結果:

  • `status` が起動状態を返す
  • エラーで即終了しない

手順3: 基本動作を確認する

状態確認を実行し、異常がないかを見ます。

openclaw status

期待結果:

  • ランタイム情報が表示される
  • 致命的エラーが出ていない

手順4: Web UIに接続して対話確認する

まずブラウザでOpenClaw Control UIへ接続し、ローカル疎通を確認します。

1. ブラウザで `http://localhost:18789`(または `http://127.0.0.1:18789`)を開く

2. 画面が表示されたらテスト入力を送る

  • 例: 「こんにちは。応答テストです」

3. 1ターン応答を確認する

期待結果:

  • Control UIがブラウザで開く
  • 1ターン以内に応答が返る
  • タイムアウトやプロセス停止が発生しない

補足:

  • ここで疎通確認しておくと、後続のDiscord連携で問題を切り分けやすくなります。

つまずきポイントと対処(第2章)

  • 問題: `openclaw` コマンドが見つからない
  • 原因: グローバルnpmのPATHが未設定
  • 対処: npm global binをPATHへ追加し、シェルを再読み込み
  • 問題: Gateway起動後すぐ停止する
  • 原因: 設定不整合またはポート競合
  • 対処: `openclaw gateway status` とログ確認後、競合プロセスを解消して再起動

まとめ(第2章)

第2章では、OpenClawの導入と基本応答確認まで完了しました。

次章はCodex連携を行い、OpenClawからCodex実行ができる状態を作ります。

完了チェック:

  • `openclaw gateway status` が起動状態を返し、Control UI(`localhost:18789`)で1ターン応答を確認できる

第3章 Codex連携編

この章のゴール

OpenClawからCodex実行を呼び出せる状態にし、簡単な依頼が通ることを確認します。

手順1: Codex利用の準備を確認する

Codex側の認証またはAPIキー設定が完了していることを確認します。

確認ポイント:

  • Codexが利用可能なアカウントでログイン済み、またはAPIキーを発行済み
  • OpenClaw実行環境からCodex利用時に認証エラーが出ない

設定方針:

  • APIキーの生値は `.env` に記載し、本文には環境変数名だけを記載します。

補足(`.env` とは):

  • `.env` は環境変数をまとめて保存する設定ファイルです。
  • 例: `OPENAI_API_KEY=xxxx` のように `キー名=値` で記載します。
  • プロジェクトのルートに置き、公開リポジトリには含めない運用が基本です。

設定例:

export OPENAI_API_KEY="YOUR_KEY_HERE"

期待結果:

– 認証関連のエラーなく、Codex実行の前提が揃う

手順2: OpenClawからCodex実行を試す

Control UIで次の文をそのまま送って、Codex連携を確認します。

サンプル依頼(固定):

  • 「このフォルダ構成を、目的別に3つに要約して」

確認ポイント:

  • 返信本文に「要約結果」が含まれている
  • 応答が途中で止まらず完了する

期待結果:

  • Codex経由の応答が返る
  • タイムアウトせず完了する

手順3: 実行結果の確認観点を固定する

再現性を上げるため、次の観点で結果を確認します。

  • 応答が返るまでの時間
  • エラーの有無(OAuth / network / timeout)
  • 出力品質(依頼に対して回答が成立しているか)

つまずきポイントと対処(第3章)

  • 問題: OAuth系エラーでCodex実行が失敗する
  • 原因: 認証期限切れ、またはネットワーク/DNSの一時不調
  • 対処: 再ログイン後に再試行し、到達性確認(DNS/接続)を先に行う
  • 問題: 実行が不安定で時々タイムアウトする
  • 原因: 一時的なAPI負荷や接続揺れ
  • 対処: 依頼を短く分割し、再試行時に同時実行数を減らす

まとめ(第3章)

第3章では、OpenClawからCodex連携を呼び出し、応答が返ることを確認しました。

次章はDiscord連携を行い、チャンネル上で実際に受信・返信できる状態へ進みます。

完了チェック:

  • 固定サンプル依頼に対して、Codex経由の要約応答が1回以上成功している

第4章 Discord連携編

この章のゴール

DiscordチャンネルでOpenClawが受信・返信できる状態を作ります。

手順1: Discord BOTを作成して権限を付与する

Discord Developer PortalでBOTを作成し、必要権限を付けてテストサーバーへ招待します。

最低限必要な権限例:

  • メッセージ送信
  • メッセージ履歴の参照
  • (必要に応じて)スレッド関連権限

期待結果:

  • テストサーバーにBOTが参加している

手順2: OpenClaw側にDiscord設定を反映する

OpenClawの設定でDiscordプラグインを有効化し、BOTトークンと対象チャンネルを設定します。

設定時の要点:

  • Discord Developer PortalでBot Tokenを発行
  • Tokenは設定画面または環境変数で渡す
  • 対象チャンネルIDを設定し、受信先を固定する

最小設定イメージ(ダミー値):

  • channel: `discord`
  • target channel id: `123456789012345678`
  • token env: `DISCORD_BOT_TOKEN`

設定方針:

  • Tokenの生値は `.env` に記載し、本文には環境変数名だけを記載します。

環境変数例:

export DISCORD_BOT_TOKEN="YOUR_TOKEN_HERE"

期待結果:

  • Gateway再起動後、Discordチャネルからの入力を受信できる

手順3: テストチャンネルで疎通を確認する

検証用チャンネルでメッセージを送り、返信を確認します。

サンプル入力:

  • 「接続テストです。返信できますか?」

期待結果:

  • OpenClawがメッセージを受信して返信する
  • 返信遅延が許容範囲内である

つまずきポイントと対処(第4章)

  • 問題: Discordで反応しない
  • 原因: トークン誤設定、権限不足、対象チャンネル不一致
  • 対処: BOT権限とチャンネルIDを再確認し、Gateway再起動後に再テスト
  • 問題: 受信はするが返信できない
  • 原因: 送信権限不足またはスレッド権限不足
  • 対処: BOTロールに送信/スレッド権限を追加

まとめ(第4章)

第4章では、Discord上での受信・返信ができる状態まで構築しました。

次章で最終の会話テストを行い、家事・仕事連絡の実運用可否を確認します。

完了チェック:

  • 検証用チャンネルでテスト文を送ると、OpenClawから返信が返る

第5章 会話テスト編

この章のゴール

家事連絡と仕事連絡のサンプル会話を通し、運用開始できる状態を確認します。

手順1: 家事連絡のテストを行う

サンプル文を送り、意図どおりの応答になるかを確認します。

サンプル入力:

  • 「今日の買い物リストを3つだけまとめて」

期待結果:

  • 実行可能な短いリストで返答される
  • 過剰な説明がなく、行動に移せる内容になっている

手順2: 仕事連絡のテストを行う

仕事向けの依頼文で、要点整理ができるかを確認します。

サンプル入力:

  • 「今日やる仕事を優先度順に3つに絞って」

期待結果:

  • 優先順が明確で、すぐ着手できる粒度で返る

手順3: 異常時の動きを確認する

意図的に曖昧な入力や長文を投げ、失敗時の挙動を確認します。

確認観点:

  • タイムアウト時に再試行できるか
  • 返答不能時にエラーが分かる形で出るか

期待結果:

  • 詰まり時の復旧手順が見える

つまずきポイントと対処(第5章)

  • 問題: 家事・仕事の文脈が混ざって返答が散らかる
  • 原因: 入力が曖昧で意図が一文に詰め込まれている
  • 対処: 依頼を「目的1つ + 条件1つ」に分割して送る
  • 問題: 返信が長すぎて実務に使いにくい
  • 原因: 出力スタイル指定がない
  • 対処: 「3点で」「箇条書きで」など形式を明示する

最終まとめ

ここまでで、OpenClaw+Codex+Discordの連携を構築し、Discordで会話できる状態まで到達できました。

この構成は、章ごとにゴールを確認しながら進めると再現しやすく、トラブル時も切り戻しが簡単です。

次の一手としては、よく使う依頼文をテンプレ化して、家事連絡・仕事連絡の入力を定型化すると運用がさらに安定します。

完了チェック:

  • Discord上で「メンション→返信」が1往復成功し、家事連絡・仕事連絡のサンプル文に対して実用的な返答を確認できる

参考

  • OpenClaw Docs: https://docs.openclaw.ai
  • OpenClaw Source: https://github.com/openclaw/openclaw

タイトルとURLをコピーしました