OpenClawをまだインストールしていませんか?ワンラインインストールコマンドはこちら
curl -fsSL https://openclaw.ai/install.sh | bash
iwr -useb https://openclaw.ai/install.ps1 | iex
curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
パソコンへの影響が心配ですか? ClawTank ならクラウド上で動作し、インストール不要で誤削除のリスクもありません
主要な知見
  • OpenClawは2026年初頭にGitHub史上最速で成長したオープンソースプロジェクトである。その本質は、コンピュータにインストールし、WhatsApp、Telegram等のメッセージングアプリからマシン全体をリモート制御できるAI自律エージェントである
  • デプロイは極めて簡単——ワンコマンドでインストールが完了し、数個のCLIコマンドで初期設定を行う(クラウドホストではインタラクティブウィザードが非対応のため手動設定が必要)。macOS、Linux、Windowsに対応
  • 4層アーキテクチャ(Gateway -> Nodes -> Channels -> Skills)により、AIを単なるチャットツールからブラウザ自動化、スケジュールタスク、ソフトウェア開発が可能な万能アシスタントへと変貌させる
  • 本記事では、モデル設定、通信チャネル連携、ブラウザ自動化、定時ブリーフィング、Claude Codeソフトウェア開発、高度なHooksゼロポーリング+Agent Teamsマルチエージェント協働まで、完全なデプロイプロセスを実機テスト付きで解説する
ステップナビゲーション
基本デプロイ
3. 前提条件と準備 ステップ1 -- インストールとオンボーディング ステップ2 -- モデル設定 ステップ3 -- 通信チャネル連携 ステップ4 -- Skillsインストールとフック有効化
応用シナリオ
シナリオ1 -- ブラウザ自動化 シナリオ2 -- スケジュールタスク シナリオ3 -- Claude Code自動開発 応用:Hooksゼロポーリング+Agent Teams 応用:Supermemory長期記憶 よくあるトラブル(12の落とし穴) Dockerクイックデプロイ

1. なぜAI自律エージェントに注目すべきなのか

2026年初頭、AI業界では静かながらも深い意味を持つパラダイムシフトが進行している。「人間が質問し、AIが回答する」対話モデルから、「人間が目標を設定し、AIが自律的に計画・実行する」エージェントモデルへの移行である。

過去3年間、私たちの典型的なAIとのやり取りはこうだった——ChatGPTやClaudeを開いて質問を入力し、回答を待ち、次のステップは自分で判断する。AIは強力なアドバイザーだったが、実行は依然として人間に依存していた。

しかしAIエージェントはこのロジックを根本的に変える。真のAIエージェントは質問に答えるだけではない——意図を理解し、サブタスクに分解し、ツールを呼び出してステップごとに実行し、途中で自己修正し、最終的に結果を届けるのである。AIを一歩ずつ導く必要はなく、経験豊富なアシスタントに「これをやっておいて」と伝え、他のことに取り掛かればよい。

OpenClaw(旧ClawdBot / MoltBot)は、このパラダイムシフトを象徴するオープンソースプロダクトである。わずか2日間でGitHubの10万スターを突破し[1]、Scientific AmericanやCNBCなどの主要メディアで広く取り上げられ[2][3]、2026年初頭で最も注目されたAIプロジェクトとなった——技術が最先端だったからではなく、一般の人々に「AIがコンピュータを掌握する」とはどういう感覚かを初めて体験させたからである。

前回の記事「OpenClaw入門」では、チームの視点からOpenClawのコアバリューとリスクを分析した。本記事では実践に焦点を当て、OpenClawのインストール・設定から6つの実践シナリオチュートリアルまでをステップバイステップでガイドする。

2. アーキテクチャ概要:OpenClawの4層設計を理解する

実践に入る前に、2分でOpenClawのアーキテクチャを理解しておこう——その後の設定プロセスで全体像をより素早く把握できるようになる。

OpenClawは4層アーキテクチャ設計を採用している[3]

さらに、横断的なメモリレイヤーがあり、会話コンテキストとユーザー設定をMarkdownファイル形式で永続的に保存し、OpenClawが時間とともにユーザーをより深く理解できるようにする。

この4層の理解があれば、以降の各ステップでどの「レイヤー」を設定しているかが正確にわかるようになる。

ここから実践セクション開始

3. 前提条件と準備

インストールを始める前に、お使いの環境が以下の要件を満たしていることを確認してほしい。

Node.js 22をまだインストールしていない場合、以下の方法で素早くインストールできる。

コマンド実行
# macOS (using Homebrew)
brew install node@22
# or using nvm
nvm install 22
nvm use 22

ステップ1インストールとオンボーディング 約5分

OpenClawのインストールプロセスは極めてシンプルである。ターミナルを開いて以下のコマンドを実行する[4]

コマンド実行
# macOS / Linux
curl -fsSL https://openclaw.ai/install.sh | bash
# Windows (PowerShell)
iwr -useb https://openclaw.ai/install.ps1 | iex

npmでグローバルインストールすることも可能である。

コマンド実行
npm i -g openclaw

インストール後、初期設定を実行する。注意:openclaw onboardのインタラクティブウィザードはTTYターミナルを必要とし、クラウドホスト(SSH)やヘッドレス環境ではエラーとなるため、以下の手動セットアップ手順を推奨する。

コマンド実行
# 設定ファイルの初期化
openclaw setup
# Gatewayをローカルモードに設定(クラウドホストでは必須)
openclaw config set gateway.mode local
# Daemonサービスのインストール(systemd)
openclaw daemon install
# Daemon起動
openclaw daemon start

この4ステップで以下が完了する:デフォルト設定の生成 -> Gatewayモードの設定 -> systemdサービスの登録 -> バックグラウンドDaemonの起動。ローカルマシン(macOS / デスクトップLinux)でインタラクティブターミナルが使用可能な場合は、openclaw onboardで一括完了することもできる。

セットアップ後、Gatewayの状態を確認する。

コマンド実行
# Gateway動作状態の確認
openclaw gateway status

Gatewayがhttp://127.0.0.1:18789/で動作中であることを示すメッセージが表示されるはずである。コントロールUIのブラウザインターフェースを起動することもできる。

コマンド実行
# ウェブベースのコントロールインターフェースを開く
openclaw dashboard

コントロールUIは直感的なウェブインターフェースを提供し、ブラウザ上でOpenClawとのチャット、メッセージ履歴の閲覧、システム状態の確認が可能である。Gatewayをフォアグラウンドで手動起動する方法(デバッグ用)は以下の通り。

参考(デバッグ用)
# Gatewayをフォアグラウンドで起動(テストとデバッグ用)
openclaw gateway --port 18789
チェックポイント openclaw gateway statusを実行すると、Gatewayがhttp://127.0.0.1:18789/で動作中であることが表示されるはずである。openclaw dashboardを開くとウェブベースのコントロールインターフェースが表示される。

ステップ2モデル設定:AI頭脳のエンジンを選ぶ 約3分

オンボーディング時にモデル設定を完了済みであれば、このステップはスキップ可能である。後から調整が必要な場合、OpenClawは柔軟なモデル管理機能を提供している。

OpenClawには大規模言語モデルが内蔵されていない——外部LLMを推論コアとして接続する必要がある。モデルはprovider/model形式で指定する(例:anthropic/claude-sonnet-4-5)。

コマンド実行
# 設定ウィザードに再度入る
openclaw configure
# または特定のセクションのみ設定
openclaw configure --section web

CLIで直接設定を読み取り・変更することもできる。

方法A:APIキーを使用する(全ユーザー向け)

Anthropic Claude(推奨、OpenClawはClaudeエコシステムをネイティブに基盤としている)を使用する場合、Anthropic ConsoleからAPIキーを取得する必要がある。

コマンド実行
# CLIでAPIキーを設定(環境変数の置換に対応)
# ~/.openclaw/openclaw.json に "apiKey": "${ANTHROPIC_API_KEY}" と記述可能
openclaw models auth paste-token --provider anthropic

方法B:Claude Codeサブスクリプションのsetup-tokenを使用する

Claude Code(Max / Proプラン)のサブスクリプションをすでにお持ちの場合、setup-tokenで直接認証でき、別途APIキーは不要である。

コマンド実行
# まず別のターミナルで claude setup-token を実行してトークンを取得
openclaw models auth paste-token --provider anthropic
# setup-tokenを貼り付けて認証完了

デフォルトモデルの設定:

コマンド実行
# 現在のデフォルトモデルを確認
openclaw config get agents.defaults.model.primary
# デフォルトモデルの設定(簡略コマンド)
openclaw models set "anthropic/claude-opus-4-6"
# フォールバックモデルの設定
openclaw config set agents.defaults.model.fallbacks '["openai/gpt-4o"]'

設定に問題が発生した場合は、内蔵の診断ツールを使用する。

コマンド実行
# 設定が正しいか検証
openclaw doctor
# よくある問題を自動修正
openclaw doctor --fix
チェックポイント openclaw doctorを実行するとすべてのチェックがパスするはずである。モデル設定が正しければ、コントロールUIでテストメッセージを送信してAIが正常に応答することを確認する。

ステップ3通信チャネル連携:スマートフォンからコンピュータを制御する 約5分

これはOpenClawで最も印象的な機能の一つである——WhatsApp、Telegram、Discordなどのメッセージングアプリを通じてコンピュータに指示を出すことができる。オンボーディングウィザードの第4ステップですでにチャネル設定をカバーしているが、後から手動でチャネルを追加することもできる。

OpenClawはペアリングメカニズムでチャネルのアクセス権限を管理している。ただしペアリングの前に、まずチャネルの前提設定を完了する必要がある。Telegramを例に説明する。

コマンド実行
# 1. Telegram Bot Tokenを設定(@BotFatherから取得)
openclaw config set channels.telegram.accounts.default.botToken "YOUR_BOT_TOKEN"
# 2. Telegramプラグインを有効化(デフォルトでは無効)
openclaw config set plugins.entries.telegram.enabled true
# 3. 設定を反映するためGatewayを再起動
openclaw daemon restart

前提設定が完了したら、ペアリングに進む。

コマンド実行
# ペアリング待ちのデバイスを確認
openclaw pairing list telegram
# ペアリングを承認
openclaw pairing approve telegram <CODE>

WhatsAppチャネルはQRコードスキャンでリンクする。すべてのチャネル設定は~/.openclaw/openclaw.jsonchannelsセクションに保存される。対応するアクセス制御ポリシーは以下の通り。

リンクが完了すると、以下が可能になる:

現在対応しているチャネルは以下の通り:WhatsApp、Telegram、Discord、Slack、Signal、iMessage、Google Chat、Mattermost、MS Teams。CLIからクイックテストメッセージを送信することもできる。

コマンド実行
# テストメッセージの送信
openclaw message send --target +886912345678 --message "Hello from OpenClaw"

チャネル設定後、スマートフォンからOpenClawにメッセージを送信してみよう(例:「こんにちは、今何時?」)。すべてが正しく動作していれば、OpenClawは数秒以内に返信する。

チェックポイント スマートフォンからOpenClawに「こんにちは」と送信すると、数秒以内に返信が届くはずである。openclaw pairing list <channel>を実行するとペアリング済みデバイスが表示される。

ステップ4Skillsインストールとフック有効化 約3分

SkillsはOpenClawの能力拡張メカニズムである。Skillsは2つの方法でインストールできる:システムCLIツールの自動検出と、clawhubコミュニティパッケージマネージャー経由のインストールである。

方法A:システムCLIツールのインストール(自動検出)

コマンド実行
# ブラウザ自動化(Chromiumが必要)
sudo apt install -y chromium-browser
# GitHub連携(gh CLI + 認証が必要)
sudo apt install -y gh
gh auth login --web
# Claude Code連携
npm i -g @anthropic-ai/claude-code
# Gemini CLI
npm i -g @google/gemini-cli
# YouTube字幕 / 音声ダウンロード
pip3 install yt-dlp
# 音声分割 + 動画処理
sudo apt install -y ffmpeg ripgrep

方法B:clawhubでコミュニティSkillsをインストール

clawhubはOpenClawのコミュニティSkillsパッケージマネージャーで、さまざまな機能モジュールの検索とワンクリックインストールが可能である。

コマンド実行
# 利用可能なSkillsを検索
npx clawhub search gemini
# コミュニティSkillのインストール(~/.openclaw/workspace/skills/ にインストール)
npx clawhub install sag          # ElevenLabs TTS
npx clawhub install nano-pdf     # PDF処理
npx clawhub install summarize    # 要約ツール

方法C:APIキー環境変数の設定

一部のSkillsにはサードパーティのAPIキーが必要である。設定後、systemdサービスの環境にも追加する必要がある(落とし穴記録 #11を参照)。

コマンド実行
# OpenAI(画像生成、音声認識)
export OPENAI_API_KEY="your_key"
# Gemini
export GEMINI_API_KEY="your_key"
# ElevenLabs(音声合成)
export ELEVENLABS_API_KEY="your_key"
# Notion連携
export NOTION_API_KEY="your_key"
# systemdサービスと /home/coder/.profile にも追加すること
コマンド実行
# Skills検出状態を確認
openclaw skills check

方法D:カスタムSkillsの作成(SKILL.md)

よく使うワークフローをカスタムSkillsとしてパッケージ化し、~/.openclaw/workspace/skills/ディレクトリに配置できる。各SkillはSKILL.mdファイルのみ必要で、OpenClawが自動的に検出してロードする。

コマンド実行
# カスタムSkillディレクトリの作成
mkdir -p ~/.openclaw/workspace/skills/my-skill
# SKILL.md形式の例(フロントマター + 使用方法):
cat > ~/.openclaw/workspace/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: One-line description of this Skill's function
metadata: {"openclaw":{"emoji":"🔧","requires":{"bins":["curl"],"env":["MY_API_KEY"]}}}
---
# My Skill
Usage instructions, command examples, parameter descriptions...
EOF
# 検出を確認
openclaw skills check

当チームのテストでは、2つのカスタムSkillsを作成した。

Skills実践プロンプト例:

以下はTelegram経由でOpenClawに送信した実際のコマンド例である——各メッセージが対応するSkillを自動的にトリガーする。

SkillTelegramプロンプト
youtube-transcriptこの動画を英語のトランスクリプトに変換して https://youtube.com/watch?v=xxx
gemini-imageGeminiでサイバーパンク風の東京夜景を生成して、ディープブルーのトーンにゴールドのネオンライトで
coding-agentClaude Codeで~/Projects/appにOAuth Googleログインを追加して
githubhirosichen/my-repoでレビューが必要なPRがあるか確認して
notion今日の会議メモを「2026-02-14 週次ミーティング」というタイトルのNotionページにまとめて
openai-image-genDALL-Eで白背景のミニマリストなプロダクトモックアップを生成して
openai-whisper-api/tmp/meeting.mp3の録音をテキストに文字起こしして
sagElevenLabsで「Welcome to Meta Intelligence」を音声に変換して
geminiGeminiでこのスクリーンショットのデータトレンドを分析して
weather台北の現在の天気は?

Hooks(Webhooks)機能を使うと、特定のイベントがトリガーされた際にアクションを自動実行できる。~/.openclaw/openclaw.jsonのautomationセクションで設定する。

OpenClawにはユニークな能力もある:自ら新しいSkillsを作成できるのである。AIが既存のSkillsではカバーできない特定の機能がタスクに必要だと判断した場合、新しいスキルモジュールを自ら作成してロードする。すべてのカスタムSkillsはワークスペースのskillsディレクトリに保存される。

チェックポイント openclaw skills checkを実行するとEligible数が12以上表示されるはずである。この時点で基本デプロイは完了し、実践シナリオに進むことができる。

8. シナリオ1 -- ブラウザ自動化

OpenClawにはブラウザ自動化(openclaw browser)が内蔵されており、Chromiumブラウザをリモート制御できる——ウェブページの表示、情報のスクレイピング、フォーム入力、スクリーンショット撮影がすべて完全自動化される。

クラウドホスト(グラフィカルインターフェースなし)で動作させる場合、まず仮想ディスプレイをインストールする必要がある。

コマンド実行
# クラウドホスト(GUI無し)は仮想ディスプレイが必要
sudo apt install -y xvfb
Xvfb :99 -screen 0 1280x720x24 &
export DISPLAY=:99

テストは簡単——WhatsAppまたはターミナルからコマンドを送信する。

「GitHubを開いてOpenClawプロジェクトを検索し、現在のスター数と最新リリースバージョンを教えて」

OpenClawは自動的にChromiumを起動し、GitHubにアクセスし、検索キーワードを入力し、プロジェクトページに遷移し、スター数とリリース情報をスクレイピングして、フォーマットされたテキストとして結果を返す。

この機能のポテンシャルは検索にとどまらない——定期的な競合ウェブサイト監視、自動フォーム入力、定期的なウェブデータ抽出など、幅広い用途に活用できる。なお、ブラウザ自動化には最低4GBのメモリが必要であり、クラウドホストでは追加の仮想ディスプレイ設定(ヘッドレスChromium)が必要である。

9. シナリオ2 -- スケジュールタスク:毎日のAIブリーフィング

これは当チームのテストで最も実用的な機能の一つだった。Cron Job設定を通じて、OpenClawは毎日固定時間にタスクを自動実行し、結果をWhatsAppにプッシュできる。

BlogWatcherスキルと組み合わせることで、毎日のAIニュースブリーフィングを設定できる。

コマンド実行
# まずBlogWatcherで監視するRSSソースを追加
blogwatcher add "GitHub: Claude Code" \
  https://github.com/anthropics/claude-code/releases.atom
blogwatcher add "OpenAI Blog" \
  https://openai.com/blog/rss.xml
# 手動で一度スキャンしてRSSソースの動作を確認
blogwatcher scan
blogwatcher articles

RSSソースの動作を確認した後、スケジュールタスクを設定する。

コマンド実行
# 毎朝9時にAIブリーフィングをWhatsAppにプッシュ
openclaw cron add \
  --name "Daily AI Briefing" \
  --cron "0 9 * * *" \
  --tz "Asia/Taipei" \
  --session isolated \
  --message "Please compile the important AI news from the past 24 hours in English, including technology breakthroughs, product launches, and industry developments, presented as a bullet-point briefing" \
  --deliver \
  --channel whatsapp

設定後、毎朝9時にWhatsAppでAIがまとめたニュースブリーフィングを受け取れるようになる。すぐにテストしたい場合は以下のコマンドを実行する。

コマンド実行
# 即座に実行(スケジュール時間を待たない)
openclaw cron run <CRON_JOB_ID> --force

スケジュールタスクの応用範囲は極めて広い:毎日の天気リマインダー、週報の自動作成、競合動向の追跡、ソーシャルメディアデータのサマリーなど——すべて1つのcron設定で実現可能である。

10. シナリオ3 -- Claude Codeを呼び出して自動開発

これは技術ユーザーにとって最もエキサイティングな機能である——OpenClawがClaude Codeを呼び出してコードの自動記述、テスト、デプロイを行う。

当チームのテストでは、WhatsApp経由で以下のコマンドを送信した。

「Node.js + Expressでバックエンドログインページを構築して。ユーザー名とパスワードのフィールドを設け、Bootstrapでスタイリングし、パスワードはbcryptで暗号化して」

OpenClawが行ったことは以下の通りである。

  1. プロジェクト構造の作成:自動的にディレクトリを作成しpackage.jsonを初期化
  2. 依存関係のインストール:自動的にnpm install express bcrypt ejsを実行
  3. バックエンドコードの記述:Expressルート、bcrypt暗号化ロジック、セッション管理を生成
  4. フロントエンドページの記述:Bootstrapを使用したログインページテンプレートを生成
  5. 起動とテスト:自動的にサーバーを起動し、アクセス可能なURLを報告

プロセス全体は約2〜3分で完了した。報告されたURLをブラウザで開くと、完全に動作するバックエンドログインページが表示された。

この「自然言語でAIに指示してコードを書かせる」体験とClaudeやChatGPTを直接使用する場合との違いは、OpenClawはコードスニペットを生成するだけでなく、プロジェクト作成からデプロイまでの全フローを完了する点にある。ファイルシステム操作、パッケージインストール、環境設定——通常開発者が手動で行う煩雑なステップをすべて処理する[5]

11. 応用:Hooksゼロポーリング+Agent Teamsマルチエージェント協働

前セクションの従来の呼び出し方法には課題がある:OpenClawが数秒ごとにClaude Codeのステータスと出力をポーリングするのである。タスクが長時間になるほどポーリングが増え、トークン消費も増大する。これはコミュニティで最も頻繁に指摘される問題である。

その解決策は非常にエレガントである——Claude CodeのHooksコールバックメカニズムと最新のAgent Teamsマルチエージェント協働機能を組み合わせることで、真のゼロポーリング非同期開発を実現する。

11.1 核心原理:ポーリングからコールバックへ

従来のアプローチ:

OpenClawがタスク割り当て -> 数秒ごとにClaude Codeのステータスをポーリング -> 継続的にトークン消費 -> タスク完了 -> 結果を返す

Hooksゼロポーリングアプローチ:

OpenClawがタスク委譲(一回きり、バックグラウンド実行) -> Claude Codeが独立して動作 -> タスク完了時にStop Hookがトリガー -> 自動的に結果を書き込み+OpenClawを起動 -> チャットグループに通知をプッシュ

このプロセス全体を通じて、OpenClawがトークンを消費するのはタスクの割り当て時結果の読み取り時のみである——途中のClaude Codeの自律開発プロセスではOpenClawのトークン消費はゼロである。さらに、メインエージェントはブロックされず、他のタスクを同時に処理できる。

11.2 Agent Teams:Claude Codeのマルチエージェント協働

Claude Codeに最近追加されたAgent Teams機能により、このワークフローはさらに強力になる。Agent Teamsは本質的にClaude Code内に完全な開発チームを構築する——各エージェントは独立したプロセスであり、真に並行して動作し、相互に通信し、タスクリストを共有し、自動的に作業を引き受け、専門的な役割分担(フロントエンド、バックエンド、テストなど)を実現する。

Hooksコールバックと組み合わせることで、スマートフォンからOpenClawに開発コマンドを送信し、Claude CodeのAgent Teamsが自動的に作業を分割し、複数のエージェントが協力して開発を完了し、詳細なレポートを自動的にチャットグループにプッシュできる。

11.3 Hooks設定:Stop + SessionEndデュアル保証

Claude Codeの14種類のHooksの中から、2つを選択する。

前提条件:Claude Code CLI認証(3層環境)

OpenClawのcoding-agentスキルは、セキュリティ分離のために非rootのcoderユーザーとしてClaude Code CLIを実行する。つまり、3つの場所で認証を設定する必要がある:rootシェル、systemdサービス、coderユーザーである。

コマンド実行 -- ステップA:トークンの取得
# ローカルコンピュータでOAuthトークンを取得(有効期限1年)
claude setup-token
コマンド実行 -- ステップB:coderユーザーの作成
# coderユーザーの作成(OpenClawが内部的にこのユーザーにsu)
useradd -m -s /bin/bash -U coder
# パスワードなしsuを許可(OpenClaw内部で必要)
passwd -d coder
コマンド実行 -- ステップC:3層認証設定
# 第1層:rootシェル(直接SSH使用時)
echo 'export CLAUDE_CODE_OAUTH_TOKEN="your_token"' >> ~/.bashrc
# 第2層:systemdサービス(OpenClaw Gatewayの子プロセスが継承)
# ~/.config/systemd/user/openclaw-gateway.service を編集
# [Service]セクションに以下を追加:
#   Environment=CLAUDE_CODE_OAUTH_TOKEN=your_token
systemctl --user daemon-reload && openclaw daemon restart
# 第3層:coderユーザー(coding-agentの実際の実行環境)
echo 'export CLAUDE_CODE_OAUTH_TOKEN="your_token"' >> /home/coder/.profile
chown coder:coder /home/coder/.profile
コマンド実行 -- ステップD:検証
# root環境の確認
claude -p "hello"
# coder環境の確認
su - coder -s /bin/bash -c "claude -p 'hello'"

注意:Hookスクリプトもcoderユーザーのディレクトリ(/home/coder/.openclaw/hooks/)にコピーする必要があり、/home/coder/.claude/settings.jsonのパスも更新する必要がある。coderユーザーはrootのOpenClaw設定にアクセスできないため、HooksのTelegram通知にはopenclaw message sendではなくcurlでBot APIを直接呼び出す方法を使用すること。

HooksはClaude Codeの設定ファイル~/.claude/settings.jsonで設定する。

設定ファイル -- ~/.claude/settings.json
{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "/path/to/hooks/notify-agi.sh",
            "timeout": 10
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "/path/to/hooks/notify-agi.sh",
            "timeout": 10
          }
        ]
      }
    ]
  }
}

注意:Claude Codeはコンテキスト情報をstdin経由でJSON形式で渡す(session_idcwdhook_event_nameを含む)。コールバックスクリプトはstdinからこのデータを読み取る必要がある。また、StopとSessionEndが連続して短時間にトリガーされる可能性があるため、スクリプトには重複排除(例:ロックファイル)を実装して、通知の重複送信を避けること。

11.4 コールバックスクリプトのデュアルチャネル設計

コールバックスクリプトはデュアルチャネルアーキテクチャを採用し、信頼性と即時性のバランスを取っている。

デュアルチャネル設計が必要な理由は、Wakeイベントには文字数制限(約300文字)があるのに対し、Claude Codeの出力は2,000文字を超える場合があるためである。ファイルストレージは無制限のコンテンツに対応し、Wakeイベントはリアルタイム通知を提供する。Gateway API呼び出しが失敗しても、latest.jsonは書き込まれ、エージェントは次のハートビートで結果を読み取れる——これがフォールトトレラント設計である。

OpenClawの起動はCLIシステムイベントインジェクションで行う(注意:GatewayはREST APIを提供していないため、CLIを使用する必要がある)。

参考
# 方法1:CLIダイレクトシステムイベントインジェクション(推奨)
openclaw system event \
  --text "Claude Code task complete, read latest.json" \
  --mode now \
  --token "$TOKEN"
# 方法2:指定グループにTelegramメッセージを直接送信
openclaw message send \
  --channel telegram \
  --target "$TELEGRAM_GROUP" \
  --message "Claude Code task complete, results written to latest.json"

11.5 実装:Telegram通知グループの設定

Hookの完了時にTelegramに自動通知をプッシュするには、別途の通知グループが必要である(日常の会話ウィンドウとは分離し、コンテキストの混乱を防ぐ)。以下は完全なセットアップ手順である。

ステップ1:グループの作成とグループIDの取得

  1. Telegramで新しいグループを作成(例:「OpenClaw通知」)
  2. OpenClaw Botをグループに追加
  3. グループ内で任意のメッセージを送信

グループIDの取得にはコツがある:OpenClaw Gatewayが動作中の場合、Telegramのupdatesを継続的に消費するため、getUpdates APIが空の配列を返す。解決策はGatewayログを確認することである。

コマンド実行
# GatewayログからグループIDを見つける
tail -200 /tmp/openclaw/openclaw-*.log | grep -o '"chatId":-[0-9]*'
# 出力例: "chatId":-5201877902

ステップ2:グループアクセス権限の設定

デフォルトのgroupPolicy: allowlistはすべてのグループメッセージをブロックする。openに変更する(またはグループIDをホワイトリストに追加する)。

コマンド実行
# グループアクセスを開放(または必要に応じてallowlistを設定)
openclaw config set channels.telegram.groupPolicy open
openclaw config set channels.telegram.accounts.default.groupPolicy open
# 設定を反映するため再起動
openclaw daemon restart

ステップ3:通知送信のテスト

コマンド実行
# グループID(実際のIDに置き換え)でテスト
openclaw message send \
  --channel telegram \
  --target "-5201877902" \
  --message "OpenClaw notification test successful"

グループでメッセージが受信できることを確認したら、コールバックスクリプトのTELEGRAM_GROUP変数にグループIDを書き込む。これ以降、Claude Codeタスクが完了するたびに、Hookが自動的にこの通知グループに結果サマリーをプッシュするようになる。

11.6 完全フロー:スマートフォンコマンドから開発レポート受信まで

以下は完全なテストシナリオである。メッセージングアプリから以下を入力した。

「Claude CodeのAgent Teams協働モードを使用して、物理エンジンベースのHTML/CSS落下砂シミュレーションゲームをマテリアルシステム付きで構築して」

その後の展開は以下の通りである。

  1. OpenClawがClaude CodeのAgent Teamsにタスクを委譲(この1回の呼び出しのみ、トークン消費は微々たるもの
  2. メインエージェントはブロックされない——同じチャットウィンドウで「今日のシンガポールの天気は?」や「ジョークを教えて」と質問し続け、OpenClawはリアルタイムで応答した
  3. Claude Codeはバックグラウンドで約6分間自律動作し、複数のエージェントが並行して協働した
  4. 開発完了後、Stop Hookが自動トリガーされ、結果がlatest.jsonに書き込まれた
  5. 別のチャットグループにプッシュ通知を受信——タスク名、プロジェクトパス、完了時間、Agent Teams起動状況、184テスト合格、デリバリー済み機能リスト、プロジェクト構造を含む

通知をメインエージェントのチャットウィンドウではなく別のグループにプッシュする理由は、メインウィンドウで他のタスクの実行中に完了通知が突然表示されてコンテキストの混乱を引き起こすのを防ぐためである。

完全なHooksコールバックコードはgithub.com/win4r/claude-code-hooksでオープンソース公開されており、ディスパッチスクリプト、コールバックスクリプト、Claude Code設定例を含む。

12. 応用:Supermemoryプラグイン——AIに完璧な長期記憶を与える

OpenClaw内蔵のメモリレイヤーは会話コンテキストをMarkdownファイルとして保存するが、使用時間が長くなるとこのシンプルなメモリメカニズムには限界が生じる:コンテキストウィンドウの制限、チャネル間でのメモリ統一ができないこと、セマンティック検索能力の欠如である。Supermemoryプラグインはこれらの問題を解決するために設計された。

12.1 Supermemoryが解決すること

このシナリオを想像してほしい:先週WhatsApp経由でOpenClawに「TypeScriptでの開発が好きだ」と伝え、今日はTelegramに切り替えてAPIの作成を依頼する。Supermemoryなしでは、TelegramセッションのOpenClawはその好みを知らない——なぜなら別の会話コンテキストだからである。

Supermemoryをインストールすると、OpenClawはチャネルと時間を超えた統一的なセマンティック記憶を獲得する。具体的には以下の通り。

その結果、OpenClawは毎回ゼロから始める会話ツールではなく、真に「時間とともにユーザーへの理解を深める」長期アシスタントとなる。

12.2 インストールと設定

インストールはワンコマンドで完了する。

コマンド実行
openclaw plugins install @supermemory/openclaw-supermemory

インストール後、OpenClawを再起動する。次にAPIキーを設定する(Supermemory Pro以上のプランが必要)。

コマンド実行
# 環境変数の設定
export SUPERMEMORY_OPENCLAW_API_KEY="sm_your_key_here"

または~/.openclaw/openclaw.jsonに直接記述する。

設定ファイル -- ~/.openclaw/openclaw.json
{
  "plugins": {
    "entries": {
      "openclaw-supermemory": {
        "enabled": true,
        "config": {
          "apiKey": "${SUPERMEMORY_OPENCLAW_API_KEY}"
        }
      }
    }
  }
}

12.3 高度な設定パラメータ

Supermemoryはきめ細かな制御オプションを提供する。

12.4 使い方

インストール後、ほとんどの機能は自動的に動作するが、手動操作も可能である。

コマンド実行
# 特定の情報を手動で記憶
/remember My company uses AWS as cloud infrastructure, preferring Terraform management
# メモリを能動的に検索
/recall The database migration plan we discussed last time
# CLIメモリ操作
openclaw memory search "API design preferences"
openclaw memory status              # メモリインデックス状態の確認
openclaw memory index               # メモリインデックスの再構築

AI自体もメモリツールを自律的に呼び出すことができる:supermemory_store(保存)、supermemory_search(検索)、supermemory_forget(削除)、supermemory_profile(ユーザープロファイル読み取り)。

12.5 活用シナリオ

SupermemoryとOpenClawの組み合わせは、以下のシナリオで特に価値がある。

13. コア設定ファイル概要

使用中に手動で設定を調整する必要が生じる場合がある。以下はOpenClawの主要なファイルの所在である。

環境変数でデフォルトパスを上書きすることも可能である。

よく使うCLI設定コマンド:

コマンド実行
# 特定の設定値を読み取る
openclaw config get agents.defaults.workspace
# 設定値を変更する
openclaw config set agents.defaults.heartbeat.every "2h"
# 設定値を削除する
openclaw config unset tools.web.search.apiKey
# 診断と自動修正
openclaw doctor
openclaw doctor --fix

OpenClawに異常な動作が見られる場合、まずopenclaw doctorで診断する。完全にリセットするには、~/.openclaw/ディレクトリを削除してopenclaw setupを再実行する。

実践落とし穴記録:クラウドホストデプロイで遭遇した12の問題

以下はOpenClaw v2026.2.12をVultr VPS(Ubuntu 22.04)にデプロイした際に実際に遭遇した落とし穴である。これらの問題は公式ドキュメントでは十分に記載されていないが、デプロイを数十分停滞させたり、完全に失敗させたりする可能性がある。

  1. オンボーディングウィザードがSSH環境で失敗する。openclaw onboard --install-daemonはインタラクティブTTYターミナルを必要とし、リモートSSH、Dockerコンテナ、CI/CD環境では直接エラーとなる。解決策:openclaw setup + openclaw daemon installで手動初期設定を行う
  2. Telegramプラグインがデフォルトで無効。Bot Tokenを設定してもopenclaw pairing list telegramに何も表示されない——Telegramプラグインのデフォルトがenabled: falseだからである。openclaw config set plugins.entries.telegram.enabled trueを手動で実行し、Daemonを再起動する必要がある
  3. openclaw skills installコマンドは存在しない。Skillsのインストール方法は2つ:(1) システムCLIツールの自動検出(例:ghchromium-browser)、(2) npx clawhub install <name>でコミュニティSkills(例:sagnano-pdf)をインストール。一部のSkillsにはAPIキー環境変数も必要(例:OPENAI_API_KEYGEMINI_API_KEY
  4. ヘッドレスホストでブラウザ自動化が失敗する。Chromiumにはディスプレイサーバーが必要であり、クラウドホストではxvfbをインストールしてDISPLAY=:99を設定しないとcannot open displayエラーが発生する
  5. GatewayにはエージェントをウェイクアップするREST APIがない。出回っているcurl -X POST /api/cron/wakeは405 Method Not Allowedを返す。正しい方法はCLI:openclaw system event --text "..." --mode now --token "$TOKEN"
  6. Claude Code HooksのコンテキストデータはJSON形式でstdin経由で渡される。環境変数ではない。コールバックスクリプトはstdinからsession_idcwdhook_event_nameなどのフィールドを読み取る必要がある。stdinを無視するとタスク情報が失われる
  7. StopとSessionEnd Hooksが短時間に連続トリガーされる。重複排除(例:30秒のロックファイル)がないと、同一タスクの完了で2回通知が送信される。参考実装はclaude-code-hooksを参照
  8. モデル設定コマンドには簡略版がある。完全パスのopenclaw config set agents.defaults.model.primary "anthropic/..."を書く必要はなく、openclaw models set "anthropic/claude-opus-4-6"で十分。Claude Codeサブスクライバーはopenclaw models auth paste-tokenでAPIキー不要の認証も可能
  9. Claude Code CLIとOpenClawの認証は別々。OpenClawがpaste-tokenで認証を完了しても、Claude Code CLIは「Not logged in.」と表示される。.credentials.jsonのフォーマットは手動構築が極めて困難。正しいアプローチは、ローカルでclaude setup-tokenを実行してOAuthトークンを取得し、リモートホストでexport CLAUDE_CODE_OAUTH_TOKEN="token"として環境変数を設定する
  10. coding-agentはClaude Codeをcoderユーザーとして実行し、rootではない。OpenClawは内部的にsu coderでClaude Code CLIを実行する。coderユーザーが存在しない、パスワードがクリアされていない、またはそのユーザーがCLAUDE_CODE_OAUTH_TOKENを持っていない場合、exit code 2または「Authentication failure.」が発生する。useradd -m -s /bin/bash -U coder && passwd -d coderを手動で実行し、/home/coder/.profileにトークンを設定する必要がある
  11. systemdサービスは.bashrcを読まない。rootの.bashrcCLAUDE_CODE_OAUTH_TOKENを設定しても、OpenClaw Gateway(systemd管理下)の子プロセスはそれを継承しない。~/.config/systemd/user/openclaw-gateway.service[Service]セクションにEnvironment=CLAUDE_CODE_OAUTH_TOKEN=tokenを追加し、systemctl --user daemon-reloadを実行する必要がある
  12. npx clawhub installはSkill定義のみインストールし、CLIバイナリはインストールしない。例えばnpx clawhub install sag~/.openclaw/workspace/skills/sag/SKILL.mdを作成する(OpenClawにこのSkillの使い方を教えるもの)が、実際のsag実行ファイルはインストールしない。バイナリは別途インストールが必要——sagのLinux版はGitHub Releasesからダウンロード:curl -sL .../sag_linux_amd64.tar.gz | tar xz && mv sag /usr/local/bin/

14. セキュリティに関する注意:無視できないリスク

OpenClawデプロイの興奮が冷めた後、いくつかの重大なセキュリティリスクを真剣に指摘しなければならない。

2026年2月初旬、セキュリティ研究者がCVE-2026-25253脆弱性(CVSS 8.8 高)を公開した[6]——攻撃者はクロスサイトWebSocketハイジャックを通じてOpenClawの完全な制御権を取得できる。CrowdStrikeの調査では、4万2,000以上の公開されたOpenClawインスタンスのうち93.4%が認証バイパスの脆弱性を抱えていることが判明した[7]

Ciscoのセキュリティチームはさらに踏み込み[8]、シェルアクセス、ネットワーク接続、プロンプトインジェクション攻撃面を兼ね備えるOpenClawのようなパーソナルAIエージェントは、ハッカーにとって理想的な標的であると述べている。

当チームのセキュリティ推奨事項:

クイックリファレンス -- よく使うコマンド一覧
コマンド用途
openclaw setup && openclaw daemon install初期設定とDaemonサービスのインストール
openclaw gateway statusGateway動作状態の確認
openclaw dashboardウェブベースのコントロールインターフェースを開く
openclaw configure設定ウィザードに再度入る
openclaw models set <model>デフォルトモデルの設定
openclaw config get/set <key>個別設定の読み取りまたは変更
openclaw doctor --fix問題の診断と自動修正
openclaw pairing list <channel>チャネルのペアリング状態を確認
openclaw skills check検出されたSkillsの状態を確認
npx clawhub search/install <name>コミュニティSkillsの検索またはインストール
openclaw cron add ...スケジュールタスクの追加
openclaw cron run <id> --forceスケジュールタスクの即時実行

15. Dockerクイックデプロイ -- ワンクリックで環境を再現

全14章を読み終えたところで、こう思うかもしれない:セットアップ手順は明確だが、手動での依存関係設定が多すぎると。Node.js、Chromium、yt-dlp、sag、ffmpeg、ripgrep、GitHub CLI、さらに3層のClaude Code認証、Telegramプラグイン設定、カスタムSkills...各ステップでバージョンの非互換性や環境差異に遭遇する可能性がある。

Dockerはまさにこの問題を解決するために存在する。OpenClaw全体のデプロイ環境をDockerイメージにパッケージ化し、ワンコマンドで完全な動作環境を復元できるようにした——すべてのシステム依存関係、グローバルNPMパッケージ、CLIツール、カスタムSkills、Hooksコールバックスクリプトを含む。

15.1 イメージの内容

このDockerイメージはnode:22-bookworm(Debian 12 + Node.js 22)をベースに、以下のコンポーネントがプリインストールされている。

15.2 イメージのビルド

コマンド実行
git clone https://github.com/hirosichen/metaintelligence-2026.git
cd metaintelligence-2026
docker build -t openclaw-stack docker/openclaw/

ビルドプロセスは約3〜5分(ネットワーク速度による)で、最終イメージサイズは約2〜3GBである。

15.3 コンテナの起動

APIキーと認証情報は起動時に環境変数として渡す——これらの機密情報はイメージには含まれていない

コマンド実行
docker run -d --name openclaw \
  -e CLAUDE_CODE_OAUTH_TOKEN="your-oauth-token" \
  -e ANTHROPIC_API_KEY="sk-ant-..." \
  -e TELEGRAM_BOT_TOKEN="123456:ABC..." \
  -e TELEGRAM_GROUP_ID="-5201877902" \
  -e OPENAI_API_KEY="sk-..." \
  -e GEMINI_API_KEY="AIza..." \
  -e ELEVENLABS_API_KEY="..." \
  -e OPENCLAW_MODEL="anthropic/claude-opus-4-6" \
  -p 18789:18789 \
  openclaw-stack

必須なのはCLAUDE_CODE_OAUTH_TOKENANTHROPIC_API_KEYのみで、残りはオプションである。CLAUDE_CODE_OAUTH_TOKENはローカルでclaude setup-tokenを実行して取得できる。

15.4 デプロイの確認

コマンド実行
# コンテナログの確認
docker logs openclaw
# コンテナにインタラクティブに入る
docker exec -it openclaw bash
# Gateway状態の確認
docker exec openclaw openclaw gateway status
# Skills検出の確認
docker exec openclaw openclaw skills check
# Claude Codeのテスト(coderユーザーとして)
docker exec openclaw su - coder -s /bin/bash -c "claude -p 'hello'"

15.5 重要な注意事項

16. まとめと展望

インストールから6つの実践シナリオの完了まで、全プロセスは1時間未満で完了する。OpenClawは確かに「AI自律エージェント」を抽象的な概念からすぐに使えるツールへと変貌させた——ワンコマンドでインストールし、QRコードをスキャンしてスマートフォンを接続し、自然言語でAIに指示を出す。

しかし冷静さを保つ必要がある:使いやすさとセキュリティの間の緊張関係こそが、今日のOpenClaw最大の矛盾である。AIにコンピュータ全体を制御させることは、最大のセールスポイントであると同時に最大のリスクでもある。セキュリティアーキテクチャがまだ十分に成熟していない現段階では、OpenClawを学習・実験ツールとして扱い、生産性の中核としては位置づけないことを推奨する。

AIエージェントの時代は到来した——それは疑いようのない事実である。OpenClawの爆発的な人気は「AI自動化」に対する巨大な市場ニーズを証明している。長期的にOpenClawを使うかどうかにかかわらず、1時間をかけてこのチュートリアルを実践し、AIエージェントがどのように動作するかを体感することは、今後1〜2年のAI業界の発展方向をより深く理解する助けとなるだろう。

企業がAIエージェントおよび自動化ツールの採用戦略を評価中であれば、当研究チームとの深い対話を歓迎したい。当チームはOpenClawおよび類似プロダクトの動向を引き続き追跡し、ツールが溢れる時代において最も適切な技術判断を下すお手伝いをしていく。