文書の過去の版を表示しています。
OpenClaw node の追加
OpenClaw ではサーバー (Gateway) の他に別の PC を Node として接続し、特定の用途に用いることができます。 ここでは Node としてインストールする手順を説明します。
この手順は Gateway (サーバー) とは別の PC 上にインストールすることを想定しています。
- これを書いている人の構成、3つとも別の仮想マシンです
- Gateway (OpenClaw サーバー) : proxmox 上の Ubuntu Server 24.04
- Node 1 : proxmox 上の Ubuntu Server 24.04 : cli のコマンドを使った開発テスト用
- Node 2 : proxmox 上の Ubuntu Desktop 22.04 : 画面キャプチャを使った動作テスト用
Linux Node
(1) OpenClaw Node のインストール
- 最初に Gateway (サーバー) 側で Gateway-Token を調べます
- 「
~/.openclaw/openclaw.json」を開いて gateway.auth.token の文字列をメモしておきます - これを Gateway-Token と呼びます
- 「
sudo apt install curl」 - Node 側の PC 上で OpenClaw のインストーラーを実行します
- Gateway の手順と同じように「
curl -fsSL https://openclaw.bot/install.sh | bash」を実行
- I understand this is powerful and inherently risky. Continue?: Yes
- インストーラーが始まるので、セキュリティリスクの説明をよく読んでから Yes を選択
- Onboarding mode: Manual
- What do you want to set up?: Remote gateway (info-only)
- Discover gateway on LAN (Bonjour)?: No
- もしこの表示が出なければ無視して構いません
- Gateway WebSocket URL: ws://127.0.0.1:18789
- 別の PC の Gateway に接続する方法はいくつかあります。家庭内などローカルな LAN 上では直接接続する方法もありますが、ssh のポートフォワーディングを使った方法もあります。
- ssh を利用する場合はデフォルトのまま「ws://127.0.0.1:18789」を入力してください。
- もし直接 Gateway の PC に接続する場合は「ws://<Gatewayの IP アドレス>:18789」を入力してください。
- Gateway auth: Token (recommended)
- Gateway tokenaa: <最初に調べた Gateway-Token>
- インストーラーはここで終了してシェルのコマンドラインに戻ります
- セキュリティ警告を消すために「
chmod 700 $HOME/.bashrc」を実行します - 「
. $HOME/.bashrc」を実行して openclaw コマンドにパスを通します - 「
openclaw node install」を実行して Node のサービスを登録します。ここでエラーが出ますが無視してください- 「 Node install failed: Error: systemctl enable failed: Failed to enable unit: Unit file openclaw-gateway.service does not exist.」と表示されますが、openclaw-node.service と openclaw-gateway.service を間違えているのでおそらくバグです
- 以下のコマンドを実行して直接 Node のデーモンを起動します
- 「
systemctl –user enable openclaw-node」 - 「
systemctl –user start openclaw-node」
(2) SSH による接続
直接 Gateway の IP アドレスを指定して接続する場合はこの手順は不要です。ssh を使ったトンネリング(ポートフォワーディング)を使う場合の設定になります。
- Gateway のサーバー側から以下のように実行して Node 側 PC にログインします
- 「
ssh -N -R 18789:127.0.0.1:18789 -l NODE-PC-USER NODE-PC-ADDR」 - ユーザー名が同一の場合は 「-l NODE-PC-USER」 は省略できます。
- 例「
ssh -N -R 18789:127.0.0.1:18789 192.168.0.101」 - 実行しても表示は何も返ってこないので注意。「-N」を外すと実際にログインできるので確認に使えます。
これで Node から Gateway が見えるようになります。 バックグラウンドで使用する場合は ssh -f -N -R と「-f」を追加します。
コマンドの実行制限
Node を追加すると、任意のノードでコマンドを実行したり指示を出したりできるようになります。
Gateway の Token 認証を行った場合は、Paring 等の設定は不要です。 ただし実行できるコマンドには制限がかかっています。
このフィルタリングは ~/.openclaw/exec-approvals.json で指定されており、デフォルトでは “deny” です。
もし完全に独立した環境で閉じており、問題がない場合は defaults.security を “full” に置き換えることでこのノード上の cli コマンドの実行制限が解除されます。
以下は制限を解除した exec-approvals.json の例です。もし設定する場合は自己責任で行ってください。
{ "version": 1, "socket": { "path": "~", "token": "~" }, "defaults": { "security": "full", "autoAllowSkills": true }, "agents": { } }
Discoard や Slack の Chat 経由で、任意の Node 上で開発環境を自動的に準備させるなどの指示を出せるようになります。
別のノードへの指示
メッセージ中に別のノード上で実行するように使えるだけです。 例えば「<ノード名>上でブラウザを起動して東京の天気を検索して」のように指示を耐えることが可能です。 直接別のノードの画面を見ていなくても「結果を画面キャプチャしてこのチャンネルに投稿して」のように指示出しもできます。
