はじめに
これまで ChatGPT や Claude などの LLM(大規模言語モデル)は、チャット画面の中で回答や提案を返す相談相手という位置づけでした。これに対して OpenClaw は、ローカル環境で動作し、ターミナルでのコマンド実行、ファイル操作、アプリケーションの制御までを自律的に行うオープンソースの AI エージェントです。
環境構築やログ解析のような、定型的で時間のかかる作業を指示に基づいて代行できる点が特徴です。一方で、PC やサーバーを直接操作できるだけに、導入前に押さえておきたいセキュリティ上の注意点もあります。
本記事は、OpenClaw の概要から仕組み、API を使った導入方法、そして強力な権限を持つがゆえの注意点までを、実務エンジニア向けに整理します。
- OpenClaw の概要: 従来のチャットボットとの違い
- 仕組み: PC 操作やタスク自動化を実現するアーキテクチャ
- 導入: API を使った接続方法とカスタムスキルの作成
- 注意点: 権限管理とデータ保護のための設定
要点を先に述べると、OpenClaw は外部の LLM を推論エンジンとして接続しつつ、実際の操作をローカル環境で実行する自律型エージェントです。利便性が高い反面、実行ユーザーと同等の権限を持つため、隔離環境での実行や権限設定が運用上の鍵になります。なお、2026 年に入ってからは OpenClaw を狙う攻撃手法の研究も公表されています。具体的な攻撃と対策については、関連記事『OpenClaw の脆弱性と対策 — コード実行と情報漏洩を防ぐ権限設計』で扱います。
OpenClaw とは
概要: ローカルで動作する自律型 AI エージェント
OpenClaw は、PC やサーバー上で動作する MIT ライセンスのオープンソース AI エージェントです。ChatGPT や Claude の Web 版がブラウザー上で完結する相談相手であるのに対し、OpenClaw は外部の LLM と API で接続しながら、実際の作業をローカル環境で実行します。

Node.js などの環境で動作し、「環境構築を行う」「リポジトリのバグを修正してテストを実行する」といった指示に対して、コマンドの実行、ファイルの修正、結果の報告までを一連の流れとして処理します。OS やプラットフォームを問わず動作し、Gateway と呼ばれるローカルの制御プレーンを通じて、20 を超えるメッセージングサービスと連携できる点も特徴です。
参考: OpenClaw 公式リポジトリ(GitHub)
“Your own personal AI assistant. Any OS. Any Platform.”
(あらゆる OS・プラットフォームで動く、あなた専用の AI アシスタント。)
https://github.com/openclaw/openclaw
従来のチャットボットとの違い(ファイル操作・コマンド実行)
従来のチャットボットと OpenClaw の最大の違いは、実行権限(アクション)の有無です。前者がテキストでの提案や解説にとどまるのに対し、OpenClaw は提案だけでなく、実際の操作まで踏み込みます。
| 特徴 | 従来のチャットボット(ChatGPT / Claude) | OpenClaw |
|---|---|---|
| 出力 | テキスト(コードの提案や解説) | アクション(コマンド実行・ファイル保存) |
| 実行環境 | クラウド上のサンドボックス(隔離環境) | ローカル環境 |
| ファイル操作 | アップロードしたファイルのみ | ローカルのファイルにアクセス可能 |
| ネット接続 | ブラウジング機能による検索が中心 | API などを用いた通信が可能 |
OpenClaw は、「思考(LLM)→ 計画 → 実行(コマンド)→ 結果の確認」というループを自律的に回すことで、人手を介さずにタスクを進めます。ただし、この自律性とローカルへの広いアクセス権限は、後述するセキュリティ上の注意点と表裏一体である点に留意が必要です。
OpenClaw の主要機能とメリット
OpenClaw が他のエージェントと異なるのは、柔軟性と拡張性の高さです。単体のコマンドラインツールにとどまらず、チームの運用に組み込むための仕組みが用意されています。
マルチチャンネル対応(Discord・Slack・Telegram 等)
OpenClaw は、ターミナルだけでなく、普段使うコミュニケーションツールからも操作できます。
Discord / Slack / Telegram:
Bot として招待すれば、メンションでタスクを依頼できます。外出先からスマートフォンで指示し、結果をチャットで受け取る運用も可能です。
HTTP API / Webhook:
他システムからの通知(例: GitHub Actions の失敗通知)をトリガーに、OpenClaw に作業を開始させる連携も行えます。
これにより、個人の PC ツールから、チーム開発のアシスタントへと用途を広げられます。
自律動作(Heartbeat)によるタスクの自動化
従来のチャットボットは、人が話しかけて初めて動作する受動的なものでした。OpenClaw には Heartbeat と呼ばれる機能があり、一定間隔で自律的に思考・行動できます。
- 定期チェック: 毎朝決まった時刻に特定のサイトを巡回し、要約を Slack へ投稿する。
- 監視: サーバーの CPU 使用率を監視し、異常があればプロセスを確認してレポートする。
指示待ちではなく、スケジュールに基づいてエージェント自身がタスクを実行できる点が特徴です。
豊富な「Skills」による機能拡張
OpenClaw の能力は Skills(スキル)と呼ばれる仕組みによって定義されます。標準でも次のようなツールを備えています。
- File System: ファイルの読み書き・検索・作成
- Command Line: シェルコマンドの実行
- Web Browser: Web ページの閲覧・検索・スクレイピング
標準のスキルに加え、独自のスキルを追加して、自分の環境に合わせたエージェントへ拡張することもできます(作成方法は後述の「カスタムスキルの作成(SKILL.md)」で扱います)
OpenClaw の導入と API 設定
OpenClaw はローカル環境で動作するため、まず自身の PC やサーバーに導入し、推論エンジンとなる外部 LLM と接続する初期設定を行います。
インストール方法(ローカル / Docker)
最も標準的な方法は、npm(または pnpm)でのグローバルインストールと、対話形式のオンボーディングです。ランタイムは Node 24 が推奨されています(22.19 以降でも動作)。
npm install -g openclaw@latest
openclaw onboard --install-daemonopenclaw onboard は、Gateway(制御プレーン)・ワークスペース・チャネル・スキルの設定を順に案内します。--install-daemon を付けると、常駐サービス(launchd / systemd のユーザーサービス)として動作し続けます。設定は ~/.openclaw/openclaw.json、API キーなどの環境変数は ~/.openclaw/.env に保存されます。
Docker での運用も可能です。さらに OpenClaw には、エージェントの実行を分離する Docker サンドボックス(agents.defaults.sandbox.docker)も用意されています。ただし サンドボックスは既定で無効であり、有効化しない限りコマンドは Gateway ホスト上でそのまま実行される点に注意が必要です。
参考: OpenClaw 公式ドキュメント(Exec tool)
“sandboxing is off by default.”
(サンドボックスは既定で無効である。)
https://docs.openclaw.ai/tools/exec
外部 LLM(Claude・OpenAI・Gemini)との接続
OpenClaw 自体は実行基盤であり、推論は外部の LLM に委ねます。API キーは ~/.openclaw/.env に環境変数として記述し、設定ファイルからは ${VAR_NAME} の形で参照します。
# ~/.openclaw/.env
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GOOGLE_API_KEY=...モデルの指定は、プロバイダー名とモデル名を組み合わせた provider/model 形式で行います。CLI から既定モデルを設定する例は次のとおりです。
openclaw models set anthropic/claude-sonnet-4-6
openclaw models listopenclaw.json で主モデルとフォールバックを定義することもできます。
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4-6",
"fallbacks": ["openai/gpt-5.4"]
}
}
}
}複雑な自律タスクには anthropic/claude-opus-4-8 や openai/gpt-5.5、google/gemini-3.1-pro といった高性能の参照を、定型処理には軽量なモデルを割り当てる、といった使い分けが可能です。anthropic/claude-sonnet-4-6 は、コストと性能のバランスがとれた既定として扱いやすい選択肢です(参照: https://docs.openclaw.ai/concepts/models )
参考: OpenClaw 公式ドキュメント(Configuration)
“Model refs use provider/model format (e.g. anthropic/claude-opus-4-6).”
(モデル参照は provider/model 形式を用いる(例: anthropic/claude-opus-4-6)。)
https://docs.openclaw.ai/gateway/configuration
なお、以前の記述にあった OPENCLAW_LLM_PROVIDER や OPENCLAW_MODEL=claude-3-7-sonnet-latest といった指定は、現在の公式の設定方式とは異なります。モデル選択は環境変数ではなく provider/model 参照で行います。
API コストを抑えるポイント
自律型エージェントは「状況を確認 → 計画 → コマンド実行 → 結果を確認」というループを繰り返すため、1 つのタスクで相応のトークンを消費します。コストを抑えるには、次の点が有効です。
- タスクに応じたモデルの使い分け: 定型処理には軽量モデル、複雑な推論には高性能モデルを割り当てる。
- フォールバックの設定: 主モデルが利用できないときに備え、
fallbacksで代替を指定しておく。 - プロバイダー側での利用上限設定: OpenAI や Anthropic の管理コンソールで、月額の利用上限をあらかじめ設定しておく。
加えて、エージェントが解決策を見つけられずに実行を繰り返すと、短時間で大量の API リクエストが発生し、プロバイダー側のレート制限に達する場合があります。後述の実行承認(exec approvals)で人の確認を挟む運用は、こうした暴走の抑制にもつながります。
OpenClaw の API と開発者向け活用
OpenClaw が支持される理由の 1 つは、その拡張性にあります。標準のツールに加え、独自のスキルを定義して、自分の環境に合わせた運用を組み立てられます。
カスタムスキルの作成(SKILL.md)
OpenClaw の「Skills(スキル)」は、AgentSkills 互換のフォルダー形式で定義します。各スキルは、YAML フロントマターと手順を記述した SKILL.md を含むディレクトリであり、専用の SDK やコンパイルは不要です。スキルはコードを自ら実行するものではなく、エージェントがツール(ファイル操作・シェル・Web 閲覧など)をどう使うかを示す「手順書(プレイブック)」として機能します。
---
name: weather
description: 現在の天気と予報を取得する。
---
(ここに、エージェントへの手順を Markdown で記述する)スキルは workspace/skills や ~/.openclaw/skills など複数の場所から、優先順位に従って読み込まれます。コミュニティのスキルは ClawHub(公開レジストリ)で配布・取得できます。重要な点として、スキルは権限を付与しません。tool policy が exec を拒否していれば、シェルを使うスキルは読み込まれても実行時に失敗します。権限の制御と手順の定義は、別レイヤーとして扱われます。
参考: OpenClaw 公式ドキュメント(Skills)
“Each skill is a directory containing a SKILL.md with YAML frontmatter and instructions.”
(各スキルは、YAML フロントマターと手順を含む SKILL.md を持つディレクトリである。)
https://docs.openclaw.ai/tools/skills
なお、以前の記述ではスキルを TypeScript のオブジェクト(execute 関数を持つ定義)として紹介していましたが、これは OpenClaw のスキル機構とは一致しません。実際の SKILL.md 形式に修正しています。
実際の活用例(コーディング支援・サーバー管理)
標準ツールとカスタムスキルを組み合わせると、次のような自動化が可能です。
コーディング支援:
「テストが通るように修正して」と指示すると、テスト実行・エラー解析・コード修正のループをエージェントが進めます。実行承認を有効にしておけば、コミットなどの操作前に人の確認を挟めます。
サーバー管理と一次対応:
監視システムのアラート(Webhook)をトリガーに、初期調査を任せられます。原因の切り分けからチャットへの報告までを代行させつつ、影響の大きい操作は承認待ちとする運用が現実的です。
知っておきたいセキュリティと権限管理
OpenClaw は強力なツールを扱えるぶん、権限の設計が運用の要になります。ローカルへ直接インストールした場合、エージェントは実行したユーザーと同等の権限を持ちます。前述のとおりサンドボックスは既定で無効のため、まず最小権限から始め、必要に応じて広げる方針が推奨されます。
参考: OpenClaw 公式ドキュメント(Security)
“Start with the smallest access that still works.”
(まずは、動作する範囲で最小のアクセスから始める。)
https://docs.openclaw.ai/gateway/security
OpenClaw の主な安全機構は次のとおりです。
実行承認(exec approvals):
ポリシー + allowlist +(任意の)ユーザー承認がそろったときのみコマンドを許可する安全インターロック。許可コマンドを限定する設定例を示します(参照: https://docs.openclaw.ai/tools/exec-approvals )。
{
"tools": {
"exec": {
"security": "allowlist",
"allowlist": ["git *", "npm *", "ls *", "cat *"]
}
}
}tool policy:
tools.deny: [“exec”] のように、ツール単位で実行を拒否する。
サンドボックス:
Docker による隔離を有効化し、ネットワークを既定の none のまま絞る。
Gateway の保護:
ループバックバインドとトークン認証で、外部からの制御を防ぐ。openclaw doctor や openclaw security audit で設定の不備を点検できます。
なお、以前紹介していた auth-profiles.json という権限ファイルは、公式ドキュメントでは確認できませんでした。実際の権限管理は、上記の exec approvals(allowlist は ~/.openclaw/exec-approvals.json)と tool policy、サンドボックス設定によって行います。
まとめ
OpenClaw は、外部の LLM を推論エンジンとして接続しつつ、コマンド実行やファイル操作をローカルで自律的に行うオープンソースの AI エージェントです。利便性が高い一方で、実行ユーザーと同等の権限を持つため、権限設計と隔離が運用の要になります。
- 外部 LLM を接続し操作をローカルで実行する自律型 AI エージェント
- 従来のチャットボットとの違いは実行権限(アクション)の有無
- マルチチャンネル対応と Heartbeat による自律的なタスク実行
- モデル指定は provider/model 形式(例: anthropic/claude-sonnet-4-6)
- スキルは SKILL.md フォルダーで定義し権限とは別レイヤー
- サンドボックスは既定で無効、最小権限から広げる運用が基本
以上、最後までお読みいただきありがとうございました。


