OpenClawをまだインストールしていませんか?ワンラインインストールコマンドはこちら
curl -fsSL https://openclaw.ai/install.sh | bashiwr -useb https://openclaw.ai/install.ps1 | iexcurl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd- OpenClawは2026年初頭にGitHub史上最速で成長したオープンソースプロジェクトである。その本質は、コンピュータにインストールし、WhatsApp、Telegram等のメッセージングアプリからマシン全体をリモート制御できるAI自律エージェントである
- デプロイは極めて簡単——ワンコマンドでインストールが完了し、数個のCLIコマンドで初期設定を行う(クラウドホストではインタラクティブウィザードが非対応のため手動設定が必要)。macOS、Linux、Windowsに対応
- 4層アーキテクチャ(Gateway -> Nodes -> Channels -> Skills)により、AIを単なるチャットツールからブラウザ自動化、スケジュールタスク、ソフトウェア開発が可能な万能アシスタントへと変貌させる
- 本記事では、モデル設定、通信チャネル連携、ブラウザ自動化、定時ブリーフィング、Claude Codeソフトウェア開発、高度なHooksゼロポーリング+Agent Teamsマルチエージェント協働まで、完全なデプロイプロセスを実機テスト付きで解説する
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]。
- Gateway(コアハブ):システム全体の神経中枢であり、タスクスケジューリング、メモリ管理、LLMディスパッチを処理し、
ws://127.0.0.1:18789で動作する。すべてのコマンドは最終的にGatewayに集約されて処理される - Nodes(ハードウェアノード):コンピュータのハードウェアとのインタラクションを担当——ファイルシステム操作、シェルコマンド実行、プロセス管理。macOS、Linux、Windows WSL2、さらにはRaspberry Piにも対応
- Channels(通信チャネル):WhatsApp、Telegram、Discord、Slack、Signalなど10以上のメッセージングプラットフォームに接続し、日常のチャットツールからAIに指示を出せるようにする
- Skills(スキルモジュール):拡張可能な機能プラグイン——ブラウザ自動化、カレンダー連携、コード実行、ブログ監視など。Skillsマーケットプレイスを通じてAIの能力の境界を継続的に拡張できる
さらに、横断的なメモリレイヤーがあり、会話コンテキストとユーザー設定をMarkdownファイル形式で永続的に保存し、OpenClawが時間とともにユーザーをより深く理解できるようにする。
この4層の理解があれば、以降の各ステップでどの「レイヤー」を設定しているかが正確にわかるようになる。
3. 前提条件と準備
インストールを始める前に、お使いの環境が以下の要件を満たしていることを確認してほしい。
- オペレーティングシステム:macOS、Linux、またはWindows。クラウドホストやRaspberry Piにも対応
- Node.js:バージョン >= 22(
node --versionで確認) - メモリ:最低2GB、ブラウザ自動化を使用する場合は4GB以上を推奨
- LLM APIキー:少なくとも1つの大規模言語モデルAPIキーが必要——Anthropic(Claude)、OpenAI(GPT)などに対応、ローカルモデルも使用可能
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.jsonのchannelsセクションに保存される。対応するアクセス制御ポリシーは以下の通り。
- pairing(デフォルト):新しいデバイスはOpenClawと通信する前に承認が必要
- allowlist:ホワイトリストに登録されたユーザーのみ許可
- open:全員に開放(公開シナリオでは非推奨)
リンクが完了すると、以下が可能になる:
- スマートフォンからテキストコマンドを送信し、OpenClawがコンピュータ上で実行
- OpenClawから実行結果レポートを受信
- 外出中にコンピュータをリモート制御(コンピュータの電源がオンでOpenClawが動作中であることが条件)
現在対応しているチャネルは以下の通り:WhatsApp、Telegram、Discord、Slack、Signal、iMessage、Google Chat、Mattermost、MS Teams。CLIからクイックテストメッセージを送信することもできる。
# テストメッセージの送信
openclaw message send --target +886912345678 --message "Hello from 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を作成した。
- youtube-transcript --
yt-dlp字幕ダウンロード + OpenAI Whisper API音声文字起こしを統合し、最適な方法で自動的にトランスクリプトを取得する - gemini-image -- Gemini 3 Pro Image Preview APIで画像を生成し、バッチ生成とカスタムプロンプトに対応
Skills実践プロンプト例:
以下はTelegram経由でOpenClawに送信した実際のコマンド例である——各メッセージが対応するSkillを自動的にトリガーする。
| Skill | Telegramプロンプト |
|---|---|
| youtube-transcript | この動画を英語のトランスクリプトに変換して https://youtube.com/watch?v=xxx |
| gemini-image | Geminiでサイバーパンク風の東京夜景を生成して、ディープブルーのトーンにゴールドのネオンライトで |
| coding-agent | Claude Codeで~/Projects/appにOAuth Googleログインを追加して |
| github | hirosichen/my-repoでレビューが必要なPRがあるか確認して |
| notion | 今日の会議メモを「2026-02-14 週次ミーティング」というタイトルのNotionページにまとめて |
| openai-image-gen | DALL-Eで白背景のミニマリストなプロダクトモックアップを生成して |
| openai-whisper-api | /tmp/meeting.mp3の録音をテキストに文字起こしして |
| sag | ElevenLabsで「Welcome to Meta Intelligence」を音声に変換して |
| gemini | Geminiでこのスクリーンショットのデータトレンドを分析して |
| 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が行ったことは以下の通りである。
- プロジェクト構造の作成:自動的にディレクトリを作成し
package.jsonを初期化 - 依存関係のインストール:自動的に
npm install express bcrypt ejsを実行 - バックエンドコードの記述:Expressルート、bcrypt暗号化ロジック、セッション管理を生成
- フロントエンドページの記述:Bootstrapを使用したログインページテンプレートを生成
- 起動とテスト:自動的にサーバーを起動し、アクセス可能な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つを選択する。
- Stop Hook(プライマリコールバック):Claude Codeが生成を完了した時にトリガーされ、開発が真に完了してからコールバックを実行することを保証する
- SessionEnd Hook(フォールバックコールバック):セッション終了時にトリガーされ、安全なバックアップとして機能する——Stop Hookが失敗してもSessionEndが通知をトリガーする
前提条件:Claude Code CLI認証(3層環境)
OpenClawのcoding-agentスキルは、セキュリティ分離のために非rootのcoderユーザーとしてClaude Code CLIを実行する。つまり、3つの場所で認証を設定する必要がある:rootシェル、systemdサービス、coderユーザーである。
# ローカルコンピュータでOAuthトークンを取得(有効期限1年)
claude setup-token
# coderユーザーの作成(OpenClawが内部的にこのユーザーにsu)
useradd -m -s /bin/bash -U coder
# パスワードなしsuを許可(OpenClaw内部で必要)
passwd -d coder
# 第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
# 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で設定する。
{
"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_id、cwd、hook_event_nameを含む)。コールバックスクリプトはstdinからこのデータを読み取る必要がある。また、StopとSessionEndが連続して短時間にトリガーされる可能性があるため、スクリプトには重複排除(例:ロックファイル)を実装して、通知の重複送信を避けること。
11.4 コールバックスクリプトのデュアルチャネル設計
コールバックスクリプトはデュアルチャネルアーキテクチャを採用し、信頼性と即時性のバランスを取っている。
- データチャネル(latest.json):完全なタスク結果(セッションID、タイムスタンプ、作業ディレクトリ、全出力、ステータス)をJSONファイルに書き込み、長さ制限なし
- シグナルチャネル(Wakeイベント):API呼び出しによりOpenClawメインセッションを起動し、リアルタイム通知を提供
デュアルチャネル設計が必要な理由は、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の取得
- Telegramで新しいグループを作成(例:「OpenClaw通知」)
- OpenClaw Botをグループに追加
- グループ内で任意のメッセージを送信
グループ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落下砂シミュレーションゲームをマテリアルシステム付きで構築して」
その後の展開は以下の通りである。
- OpenClawがClaude CodeのAgent Teamsにタスクを委譲(この1回の呼び出しのみ、トークン消費は微々たるもの)
- メインエージェントはブロックされない——同じチャットウィンドウで「今日のシンガポールの天気は?」や「ジョークを教えて」と質問し続け、OpenClawはリアルタイムで応答した
- Claude Codeはバックグラウンドで約6分間自律動作し、複数のエージェントが並行して協働した
- 開発完了後、Stop Hookが自動トリガーされ、結果がlatest.jsonに書き込まれた
- 別のチャットグループにプッシュ通知を受信——タスク名、プロジェクトパス、完了時間、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はチャネルと時間を超えた統一的なセマンティック記憶を獲得する。具体的には以下の通り。
- 自動キャプチャ:各会話ターンの後、主要な情報(好み、プロジェクト背景、意思決定記録)を自動的に抽出し、Supermemoryのクラウドに送信して重複排除とセマンティックインデックス化
- 自動リコール:各AI応答の前に、セマンティック的に関連する過去の記憶を自動的にクエリしてコンテキストに注入する——会話履歴全体を粗雑に挿入するのではなく、最も関連性の高い断片を精確にリコールする
- ユーザープロファイル:個人の好みプロファイルを自動構築し継続的に更新——好みの言語、技術スタック、作業習慣、コミュニケーションスタイル
その結果、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に直接記述する。
{
"plugins": {
"entries": {
"openclaw-supermemory": {
"enabled": true,
"config": {
"apiKey": "${SUPERMEMORY_OPENCLAW_API_KEY}"
}
}
}
}
}
12.3 高度な設定パラメータ
Supermemoryはきめ細かな制御オプションを提供する。
containerTag:メモリの名前空間(デフォルトopenclaw_{hostname})。複数のホストで同一のメモリストアを共有可能autoRecall/autoCapture:自動リコールと自動キャプチャのトグル(両方ともデフォルトtrue)maxRecallResults:クエリごとに注入するメモリの最大件数(デフォルト10)profileFrequency:完全なユーザープロファイル注入までの会話ターン数(デフォルト50)
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の組み合わせは、以下のシナリオで特に価値がある。
- 長期プロジェクト管理:数週間にわたる開発プロジェクトにおいて、OpenClawはすべてのアーキテクチャ決定、技術選定の根拠、TODOアイテムを記憶し、毎回背景を再説明する必要がない
- シームレスなマルチデバイス切り替え:午前中にパソコンのコントロールUIで議論したソリューションを、午後にスマートフォンのWhatsAppでそのまま続行できる——メモリはチャネル間で統一
- チーム共有ナレッジベース:
containerTag共有名前空間設定により、複数の人が同一のOpenClawメモリストアを共有し、チームの集合知を蓄積 - パーソナライズされた自動化:スケジュールタスクとメモリの組み合わせ——例えば毎日のAIブリーフィングが過去の閲読傾向に基づいてコンテンツフィルタリングの優先度を自動調整
- カスタマーサービスシナリオ:OpenClawが各顧客のインタラクション履歴、好み、問題記録を記憶し、真にパーソナライズされたサービス体験を提供
13. コア設定ファイル概要
使用中に手動で設定を調整する必要が生じる場合がある。以下はOpenClawの主要なファイルの所在である。
~/.openclaw/openclaw.json:メイン設定ファイル(JSON5形式)、モデル、チャネル、エージェント、オートメーションなどすべての設定を含む。Gatewayはファイル変更を自動検出してホットリロード~/.openclaw/.env:APIキーなどの機密情報を保存する環境変数ファイル~/.openclaw/workspace:デフォルトのワークスペース。OpenClawが生成したファイルが配置される
環境変数でデフォルトパスを上書きすることも可能である。
OPENCLAW_HOME-- ホームディレクトリパスの設定OPENCLAW_STATE_DIR-- ステートディレクトリの場所を上書きOPENCLAW_CONFIG_PATH-- 設定ファイルパスを上書き
よく使う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を再実行する。
以下はOpenClaw v2026.2.12をVultr VPS(Ubuntu 22.04)にデプロイした際に実際に遭遇した落とし穴である。これらの問題は公式ドキュメントでは十分に記載されていないが、デプロイを数十分停滞させたり、完全に失敗させたりする可能性がある。
- オンボーディングウィザードがSSH環境で失敗する。
openclaw onboard --install-daemonはインタラクティブTTYターミナルを必要とし、リモートSSH、Dockerコンテナ、CI/CD環境では直接エラーとなる。解決策:openclaw setup+openclaw daemon installで手動初期設定を行う - Telegramプラグインがデフォルトで無効。Bot Tokenを設定しても
openclaw pairing list telegramに何も表示されない——Telegramプラグインのデフォルトがenabled: falseだからである。openclaw config set plugins.entries.telegram.enabled trueを手動で実行し、Daemonを再起動する必要がある openclaw skills installコマンドは存在しない。Skillsのインストール方法は2つ:(1) システムCLIツールの自動検出(例:gh、chromium-browser)、(2)npx clawhub install <name>でコミュニティSkills(例:sag、nano-pdf)をインストール。一部のSkillsにはAPIキー環境変数も必要(例:OPENAI_API_KEY、GEMINI_API_KEY)- ヘッドレスホストでブラウザ自動化が失敗する。Chromiumにはディスプレイサーバーが必要であり、クラウドホストでは
xvfbをインストールしてDISPLAY=:99を設定しないとcannot open displayエラーが発生する - GatewayにはエージェントをウェイクアップするREST APIがない。出回っている
curl -X POST /api/cron/wakeは405 Method Not Allowedを返す。正しい方法はCLI:openclaw system event --text "..." --mode now --token "$TOKEN" - Claude Code HooksのコンテキストデータはJSON形式でstdin経由で渡される。環境変数ではない。コールバックスクリプトはstdinから
session_id、cwd、hook_event_nameなどのフィールドを読み取る必要がある。stdinを無視するとタスク情報が失われる - StopとSessionEnd Hooksが短時間に連続トリガーされる。重複排除(例:30秒のロックファイル)がないと、同一タスクの完了で2回通知が送信される。参考実装はclaude-code-hooksを参照
- モデル設定コマンドには簡略版がある。完全パスの
openclaw config set agents.defaults.model.primary "anthropic/..."を書く必要はなく、openclaw models set "anthropic/claude-opus-4-6"で十分。Claude Codeサブスクライバーはopenclaw models auth paste-tokenでAPIキー不要の認証も可能 - 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"として環境変数を設定する - 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にトークンを設定する必要がある - systemdサービスは
.bashrcを読まない。rootの.bashrcにCLAUDE_CODE_OAUTH_TOKENを設定しても、OpenClaw Gateway(systemd管理下)の子プロセスはそれを継承しない。~/.config/systemd/user/openclaw-gateway.serviceの[Service]セクションにEnvironment=CLAUDE_CODE_OAUTH_TOKEN=tokenを追加し、systemctl --user daemon-reloadを実行する必要がある 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を決して公開インターネットに露出させない。リモートアクセスが必要な場合、公式ドキュメントではSSH TunnelまたはTailscaleの使用を推奨——OpenClawにはTailscale統合が内蔵されており、オンボーディング時に直接設定可能
- Dockerサンドボックスモードを有効にする。OpenClawはDocker分離実行(サンドボックス化)に対応しており、非プライマリセッションまたは全セッションに適用でき、信頼できない入力がシステムに直接アクセスすることを防ぐ
- 定期的に更新する。OpenClawはセキュリティパッチを頻繁にリリースしている。常に最新バージョンを維持すること
- APIキーの権限を制限する。OpenClawに使用するAPIキーには最小限必要な権限と使用制限を設定すること
- 本番環境では使用しない。現段階では、OpenClawは技術的な探索とPoCに適しており、機密性の高い企業業務の処理にはまだ適していない
| コマンド | 用途 |
|---|---|
openclaw setup && openclaw daemon install | 初期設定とDaemonサービスのインストール |
openclaw gateway status | Gateway動作状態の確認 |
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)をベースに、以下のコンポーネントがプリインストールされている。
- システムツール:python3, jq, curl, wget, git, xvfb, chromium, ripgrep, ffmpeg
- NPMグローバルパッケージ:openclaw, @anthropic-ai/claude-code, @google/gemini-cli
- CLIバイナリ:gh(GitHub CLI), yt-dlp, sag(ElevenLabs TTS)
- カスタムSkills:youtube-transcript(字幕抽出)、gemini-image(画像生成)
- Hooksスクリプト:Stop + SessionEndデュアルコールバック、Telegram通知対応
- coderユーザー:パスワードなしsu設定済み(OpenClaw coding-agentに必要)
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_TOKENとANTHROPIC_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 重要な注意事項
- APIキーは個人のもの:イメージには認証情報が含まれていない。各ユーザーが自分で申請・提供する必要がある
- OAuthトークンの有効期限は約1年:
CLAUDE_CODE_OAUTH_TOKENが期限切れになったら、再度claude setup-tokenを実行して新しいトークンを取得 - データの永続化:コンテナ内の会話履歴とメモリはコンテナ削除時に失われる。永続化するにはボリュームをマウント:
-v openclaw-data:/home/coder/.openclaw - セキュリティ:第14章:セキュリティに関する注意のすべての推奨事項に従うこと。Dockerコンテナ自体が1層の分離を提供するが、APIキー漏洩リスクには引き続き注意が必要
16. まとめと展望
インストールから6つの実践シナリオの完了まで、全プロセスは1時間未満で完了する。OpenClawは確かに「AI自律エージェント」を抽象的な概念からすぐに使えるツールへと変貌させた——ワンコマンドでインストールし、QRコードをスキャンしてスマートフォンを接続し、自然言語でAIに指示を出す。
しかし冷静さを保つ必要がある:使いやすさとセキュリティの間の緊張関係こそが、今日のOpenClaw最大の矛盾である。AIにコンピュータ全体を制御させることは、最大のセールスポイントであると同時に最大のリスクでもある。セキュリティアーキテクチャがまだ十分に成熟していない現段階では、OpenClawを学習・実験ツールとして扱い、生産性の中核としては位置づけないことを推奨する。
AIエージェントの時代は到来した——それは疑いようのない事実である。OpenClawの爆発的な人気は「AI自動化」に対する巨大な市場ニーズを証明している。長期的にOpenClawを使うかどうかにかかわらず、1時間をかけてこのチュートリアルを実践し、AIエージェントがどのように動作するかを体感することは、今後1〜2年のAI業界の発展方向をより深く理解する助けとなるだろう。
企業がAIエージェントおよび自動化ツールの採用戦略を評価中であれば、当研究チームとの深い対話を歓迎したい。当チームはOpenClawおよび類似プロダクトの動向を引き続き追跡し、ツールが溢れる時代において最も適切な技術判断を下すお手伝いをしていく。



