この記事では、Docker環境で動作するOpenClaw 上でClawHub を正しくインストールし使用する全過程を記録し 、一般的な権限問題、設定の誤解、カスタムスキルやClawHubスキルの正しいインストール方法について説明します。
適用可能なシナリオ:
- OpenClawはDocker / Docker Composeを介して動作します
- コンテナ内のユーザーは
node(rootではありません) - ClawHubを使ってスキル管理したい
1. ClawHubとは何か? そしてOpenClaw
OpenClawシステムでは、この3つの役割は異なります。
| 構成要素 | 機能 |
|---|---|
| OpenClaw(サービス) | Gateway / Agent / Provider を実行 |
| クローハブ | スキルマーケットプレイスとスキルインストールツール |
| スキル | モデルの機能を実際に注入するルールやツール |
主な結論:
ClawHubはOpenClawの一部ではありません
「ClawHubをOpenClawにインストールする」必要はありませんし、すべきでもありません。
ClawHub を使って、OpenClawがスキャンするディレクトリにスキルをインストールしてください
2. OpenClawの実行コンテナに入ります
まずはOpenClawが稼働しているか確認してください:
docker ps
例えば、ゲートウェイコンテナ名を探してください:
openclaw-openclaw-gateway-1
コンテナへの入り方:
docker exec -it openclaw-openclaw-gateway-1 /bin/bash
入力後のプロンプトは通常以下の通りです:
node@<container-id>:/app$
3. なぜ npm i -g clawhub 失敗したのか?
直接実行:
npm i -g clawhub
エラーは通常以下の通り報告されます:
EACCES: permission denied, mkdir '/usr/local/lib/node_modules'
理由は単純です:
- Dockerイメージのデフォルトユーザーは
node nodeユーザーには書き込みの権限はありません/usr/local/lib- グローバルnpmインストールの失敗
これは誤設定ではなく、コンテナセキュリティ設計です
4. 推奨ソリューション:ClawHubのユーザーレベルグローバルインストール(スキーム2)
これが最も安定していて推奨される方法です。
1️^ npmのユーザーレベルのグローバルディレクトリを設定
コンテナ内で行う:
mkdir -p /home/node/.npm-global
npm config set prefix /home/node/.npm-global
ディレクトリをPATHに追加します:
echo 'export PATH=/home/node/.npm-global/bin:$PATH' >> /home/node/.bashrc
source /home/node/.bashrc
2️そして ClawHub をインストールしてください
npm i -g clawhub
設置の成功確認:
clawhub --help
ヘルプメッセージが表示されたら、インストール完了です。
5. ClawHubのワーキングディレクトリの設定(非常に重要です)
OpenClawがデフォルトでスキャンするスキルディレクトリは以下の通りです:
/home/node/.openclaw/skills
ですから、ClawHubに伝える必要があります:
ここにその能力をインストールしてください
export CLAWHUB_WORKDIR=/home/node/.openclaw
(長期使用のために.bashrc で 書くことも可能です)
6. ClawHubのインストールスキルを活用してください
1️# スキルの探求
clawhub search pdf
clawhub search ocr
clawhub search classify
2️そして設置技術
スキルスラッグが<skill-slug>と します。
clawhub install <skill-slug>
インストール後、このスキルは以下の段階に現れます:
/home/node/.openclaw/skills/<skill-slug>/SKILL.md
3️^ OpenClaw Gatewayの再起動(推奨)
docker restart openclaw-openclaw-gateway-1
7. カスタムスキルにはClawHubも使っていますか?
いや、知らないよ。
スキルのカスタマイズの正しい方法は以下の通りです:
/home/node/.openclaw/skills/
└── your-skill-name/
└── SKILL.md
ディレクトリの構造が正しくなっていれば、OpenClawは自動的にそれを認識します。
ClawHubは以下にのみ使用されています:
- コミュニティスキルをダウンロード
- 既存のスキルを更新
- スキルレジストリの管理
8. スキルが有効かどうかはどう確認すればいいですか?
このバージョンのOpenClaw は、スキルの読み込み情報をログに一つずつ印刷しません。
正しい判断方法は次の通りです:
- ウェブ/Telegram/チャットUIでスキルを活用しましょう
- モデルが の出力制約
SKILL.md厳密に従っているかどうかを観察します。
例えば:
- JSON出力を強制する
- 固定場構造
- もうフリープレイは禁止
挙動が変わるたびに、スキルは注入されます。
9. よくある誤解の概要
| 間違った実践 | 結果 |
|---|---|
コンテナの中で npm i -g clawhub | EACCES許可エラー |
構成skillsDir | OpenClawは不明キーを報告します |
スキルは/app またはプロジェクトの根に置 かれます | 装填されません |
昔ながらのスタイル を使いましょうskill.json + index.js | 現在のバージョンは認識されていません |
10. 結論
現在のOpenClawバージョンでは:
- スキルはルールであってプラグインではありません
- ClawHubは実行時ではなくインストーラーです
- 適切なディレクトリ構造は、どんなCLIよりも重要です
これを理解すれば、スキル管理は非常にクリーンで管理されるようになります。