
話題の自律型AIエージェント「OpenClaw」を使ってみたいけれど、ChatGPTやClaudeなどの外部APIを利用すると、裏側の大量のプロンプト処理によって高額なAPI利用料金が発生してしまうのがネックです。また、ホストPC(Windows本体)に直接インストールして大切なファイルを誤って消されてしまうのも防ぎたいところです。
本記事では、この課題を解決するために「ローカルLLM(Ollama)」と組み合わせることで各種コストを完全無料にし、さらに「Hyper-V上のUbuntu(仮想環境)」を利用してホストPCへの影響を完全に遮断した、安全でお財布に優しいOpenClawの構築手順を徹底解説します。
複雑なセットアップ時のターミナル画面のログもそのまま記載し、初心者の方が迷いがちなポイントやエラー処理についても丁寧に解説していますので、手順通りに進めればどなたでもご自身のPCで無料の専用エージェントを体験できます。
前提環境
- ホストOS: Windows 11 (Hyper-V有効化済 / 実機メモリ: 32GB)
- ゲストOS: Ubuntu 24.04 LTS (仮想環境 / 割り当てメモリ: 20GB)
- LLMエンジン: Ollama + Gemma 4 (gemma4:e2b)

Step 1: Hyper-Vのネットワーク構成と固定IP化
Hyper-Vの標準ネットワークである「Default Switch」は再起動のたびにIPアドレスが変動してしまいます。これでは、後ほどWindowsのブラウザからOpenClawのダッシュボードへアクセスする際に毎回アドレスを調べる手間がかかります。 これを解決するため、インターネット用と別に、ホスト通信専用の固定IPを割り当てたネットワークを追加します。
1-1. 【Windows側】内部仮想スイッチの作成
- Hyper-Vマネージャーの「仮想スイッチ マネージャー」を開き、「内部」ネットワークとして FixedIP-Switch を新規作成します。
- Windowsの「設定」>「ネットワークの詳細設定」>「ネットワーク アダプター オプションの詳細」を開きます。
- 作成した vEthernet (FixedIP-Switch) を右クリックし、「プロパティ」からIPv4設定を開き、以下のように固定で割り当てます。
- IPアドレス: 192.168.100.1
- サブネットマスク: 255.255.255.0
1-2. 【Windows側】Ubuntuへのアダプター追加
対象の仮想マシン(Ubuntu)の「設定」を開き、「ハードウェアの追加」からネットワークアダプターを追加して、以下のように割り当てます。
- アダプター1: Default Switch (インターネット接続用)
- アダプター2: FixedIP-Switch (ホストとの固定通信用)
1-3. 【Ubuntu側】NetplanによるIP固定化
Ubuntuを起動し、新設した通信ルートに固定IPを設定します。
sudo nano /etc/netplan/99-config.yaml
以下の内容を記述して保存します。
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
eth1:
addresses:
- 192.168.100.2/24
設定を反映させます。
sudo netplan apply
Step 2: SSH接続と公開鍵認証の確立
今後のコマンド操作をWindowsの使い慣れたターミナルから一元管理できるようにします。
2-1. 【Ubuntu側】SSHサーバーの準備
sudo apt update
sudo apt install openssh-server -y
sudo systemctl enable --now ssh
2-2. 【Windows側】鍵の生成と転送
Windows側のターミナル(PowerShellなど)でSSHキーを生成し、Ubuntuへ転送します。
ssh-keygen -t rsa -b 4096 -C "[ユーザ名]@xxxxxxxxxxxxxx"
鍵が作成されたら、そのまま以下のコマンドを実行してUbuntu側の設定を完了させます(ワンライナー)。
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh [ユーザ名]@192.168.100.2 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
これで次回以降 ssh [ユーザ名]@192.168.100.2 でパスワード入力なしでログイン可能になります。以降の手順はWindowsのターミナルからSSH接続した状態で進めます。
Step 3: OllamaとGemma 4のインストール
OpenClawの「脳」となるローカルLLM実行環境のOllamaと、大規模言語モデル本体をインストールします。
3-1. 【Ubuntu側】Ollamaのインストールと確認
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama
3-2. 【Ubuntu側】Gemma 4のダウンロード
あとで必要になる軽量モデルをあらかじめダウンロードしておきます。
ollama pull gemma4:e2b
Gemma 4の通常モデルである e4b はマルチモーダル・長文コンテキストに特化した重量級であり、仮想環境等ではメモリ不足で起動しない可能性が高いため、本記事では安全に稼働する軽量な e2b を採用しています
Step 4: OpenClawの初期セットアップ
ここが本記事の最重要ポイントです。OpenClawをインストールし、多数の質問に答える初期セットアップ(オンボーディング)を行います。
4-1. OpenClawのインストールとオンボーディングの実行
まずはnpmでOpenClawをインストールし、オンボーディングを開始します。(npmがインストールされていない場合は先にインストールしておいてください)
sudo npm install -g openclaw@latest
openclaw onboard --install-daemon
コマンドを実行すると、ターミナル上に巨大なロブスターのアスキーアートと共にインタラクティブな質問画面が表示されます。方向キーで選択し、Enterで決定していきます。
質問1:セキュリティの確認
┌ OpenClaw setup
│
◇ Security ──────────────────────────────────────────────────────────────╮
│ │
│ Security warning — please read. │
│ │
│ OpenClaw is a hobby project and still in beta. Expect sharp edges. │
│ By default, OpenClaw is a personal agent: one trusted operator │
...
├─────────────────────────────────────────────────────────────────────────╯
│
◆ I understand this is personal-by-default and shared/multi-user use
│ requires lock-down. Continue?
│ ● Yes / ○ No
└
選択:Yes
仮想環境内のご自身のみの利用であるため、Yesを選択して問題ありません。
質問2:セットアップモード
◆ Setup mode
│ ● QuickStart (Configure details later via openclaw configure.)
│ ○ Manual
└
選択:QuickStart Manualを選択すると詳細な設定やディレクトリ構成まで聞かれてしまうため、ここはQuickStartで進めます。
質問3:利用するプロバイダー(APIかローカルか)
◆ Model/auth provider
│ ● Anthropic (Claude CLI + API key)
│ ○ Arcee AI
│ ○ BytePlus
...
│ ○ Ollama
...
│ ○ OpenAI
│ ○ Skip for now
└
選択:Ollama ここで有料の外部APIではなく、完全無料で動かすためにリストの中にある Ollama を選択します。
質問4:OllamaのURL
Ollama base URL
│ http://127.0.0.1:11434
└
入力値:http://127.0.0.1:11434 (そのままEnter)
質問5:ローカル専用か、クラウド併用か
◆ Ollama mode
│ ● Cloud + Local (Cloud models + local models)
│ ○ Local
└
選択:Cloud + Local (Cloud models + local models) 後からクラウド連携などを追加したくなる場合に備えてこちらを選びます。
質問6:Ollamaへのサインイン
Ollama Sign-In ─────────────────────────────────────────────────────────────╮
│ │
│ Run `ollama signin`: │
│ https://ollama.com/connect?name=... │
│ │
├──────────────────────────────────────────────────────────────────────────────╯
│
◆ Have you signed in?
│ ● Yes / ○ No
└
操作:画面に表示されたURLをWindows側のブラウザで開き、Ollamaのサイト上でSign Upなどを行い承認を完了させます。完了後にUbuntuのターミナルに戻り Yes を選択して進みます。
質問7:デフォルトモデルの指定
◆ Default model
│ ● Keep current (default: ollama/kimi-k2.5:cloud)
│ ○ Enter model manually
│ ○ ollama/gemma4:e2b
...
└
操作:一覧に ollama/gemma4:e2b があればそれを選択します。
無い場合は Enter model manually を選択し、直接 ollama/gemma4:e2b と入力してEnterを押してください。
質問8〜9:チャット連携とWeb検索
◆ Select channel (QuickStart)
...
│ ● Skip for now (You can add channels later via `openclaw channels add`)
└
◆ Search provider
...
│ ● Skip for now
└
選択:どちらも一覧の一番下にある Skip for now を選びます。 まずはローカル環境としての初期構築を優先して進めます。
質問10〜11:スキルの設定と依存関係
◆ Configure skills now? (recommended)
│ ● Yes / ○ No
└
◆ Install missing skill dependencies
│ ◻ Skip for now (Continue without installing dependencies)
│ ◻ 🔐 1password
...
└
選択10:Yes 選択11:リストの一番上にある Skip for now (スペースキーでチェックを入れて選択状態にし、Enterを押します) 環境固有の依存関係インストールでエラーが出るのを防ぐため、一旦インストールをスキップします。
質問12〜:各種APIキーの設定
◆ Set GOOGLE_PLACES_API_KEY for goplaces?
│ ○ Yes / ● No
◆ Set NOTION_API_KEY for notion?
│ ○ Yes / ● No
◆ Set OPENAI_API_KEY for openai-whisper-api?
│ ○ Yes / ● No
◆ Set ELEVENLABS_API_KEY for sag?
│ ○ Yes / ● No
└
選択:すべて No で進めてください。
質問13:Hooks(自動化機能)の設定
◆ Enable hooks?
│ ◻ Skip for now
│ ◻ 🚀 boot-md
│ ◻ 📎 bootstrap-extra-files
│ ◻ 📝 command-logger
│ ◻ 💾 session-memory
└
選択:boot-md と session-memory の2つにチェック(Spaceキー)を入れてEnter。 これらは会話の記憶やセッション状態を保持するために役立ちます。
質問14:起動方法(Hatch)
※環境によっては直前に Gateway service already installed と聞かれる場合があります。その場合は Restart を選んでください。
◆ How do you want to hatch your bot?
│ ● Hatch in TUI (recommended)
│ ○ Open the Web UI
│ ○ Do this later
└
選択:Hatch in TUI (recommended)
これでターミナル上にTUI(テキストベースのチャット画面)が立ち上がり、「Wake up, my friend!」というメッセージと共にAIエージェントの起動が開始されます。 起動が確認できたら Ctrl + C でTUIを終了し、次のアクセス許可の設定に進みます。
Step 5: Windowsのブラウザからダッシュボードへアクセスする準備
インストールは完了しましたが、デフォルトではセキュリティの観点から「自分自身(127.0.0.1)以外からのアクセスを一切拒否する」設定になっています。これを開放し、使い慣れたWindowsのブラウザからアクセスできるようにします。
5-1. ファイアウォールと待ち受け・アクセス元の許可設定
Ubuntu側で以下のコマンドを実行します。
ポートの開放
sudo ufw allow 18789/tcp
sudo ufw allow ssh
OpenClawの待ち受け(bind)を構成変更
openclaw config set gateway.bind lan
つまずきポイント
DashboardのOriginエラー対策 外部からブラウザを開くと「origin not allowed」というエラーによりログイン画面に到達できない場合があります。アクセス元の制限を緩和します。(仮想環境内からのアクセスなので全許可にして構いません)
openclaw config set gateway.controlUi.allowedOrigins "['*']"

設定を適用するためにサービスを再起動
systemctl --user restart openclaw-gateway
5-2. Gatewayトークンの取得
ダッシュボードにログインする際に必要な承認パスワード(トークン)を取得しておきます。
openclaw config get gateway.auth.token
5-3. トークンの確認
cat ~/.openclaw/openclaw.json | grep "token"
表示された長い英数字の文字列をコピーしておきます。
5-4. つまずきポイント:HTTP環境でのデバイス認証エラー(secure context例外)
いよいよWindowsのブラウザに http://192.168.100.2:18789 と入力してアクセスします。
しかし、最近のブラウザでは「HTTP通信(暗号化無し)の環境下ではダッシュボードの高度な操作を許可しない」という仕様があり、「control ui requires device identity (use HTTPS or localhost secure context)」というエラー画面になることが多々あります。

このエラーを突破するため、ブラウザ側の設定を一時的に緩和してこのIP通信をセーフリストに入れます。
ChromeやEdgeのアドレスバーに以下を入力して、ブラウザの設定機能を開きます。
Chromeの場合: chrome://flags/#unsafely-treat-insecure-origin-as-secure
Edgeの場合: edge://flags/#unsafely-treat-insecure-origin-as-secure
「Insecure origins treated as secure」の隣にある入力欄に以下を入力し、ドロップダウンを Enabled にします。
http://192.168.100.2:18789

ブラウザ右下に Relaunch (再起動) ボタンが出るので押して再起動します。 再起動後、再度 http://192.168.100.2:18789 にアクセスすると、無事にログイン画面が表示されます。
5-5. ダッシュボードへのログインとペアリング承認
ダッシュボードが表示されたら、5-2でコピーしたGatewayトークンを入力して「接続」を押します。
初回は画面上に赤文字で pairing required と表示されます。「本当にこのPC・このブラウザを信頼して良いか」という承認待ち状態です。 ブラウザはこの画面のままにしておき、再びUbuntu側の手元のSSHターミナルを開きます。

ターミナルで保留中のリクエストを確認します。
openclaw devices list
リストに長い英数字のRequest IDが表示されるので、それをコピーして承認コマンドを実行します。
openclaw devices approve <コピーしたRequest ID>
これでブラウザ画面側の警告が消え、OpenClawの標準ダッシュボードに入ることができるようになります。(もし古いIDが残っていて承認が通らない場合は、ブラウザのキャッシュ等のデータを消去してやり直してください)
5-6. 最終確認
ダッシュボードに入れたら、左メニューの「エージェント」を開き、設定が意図通りかチェックします。
これが確認できれば構築完了です。チャット画面から、強大なGemma 4の圧倒的なパフォーマンスを無料のローカル環境経由で心ゆくまで体験してください!
よくあるエラーとトラブルシューティング
環境によっては、セットアップ後や対話中に進行が止まってしまう壁にぶつかることがあります。ここでは実際によく遭遇する3つのエラーとその原因、解決手順をまとめました。
1. コンテキスト不足エラー(Model context window too small)
本記事の手順通りに gemma4:e2b などの新しいモデルを選択していれば基本的には発生しませんが、過去に旧式の軽量モデル(gemma2:2b など)を選択してセットアップを行った場合などに、以下のエラーが発生してOpenClawのAIが停止することがあります。
Agent failed before reply: Model context window too small (8192 tokens). Minimum is 16000.
原因: OpenClawは高度な自律動作を行うため、裏側のシステムで大量のプロンプトやツールの使い方を読み込んでいます。そのため、推論を行うための領域(コンテキストサイズ)として最低でも 16,000トークン以上 を要求します。しかし、旧モデル等のコンテキストサイズ上限がそれ未満(8,192トークン等)に固定されてしまっていると、「処理するための領域が足りない」と判断してエラー終了してしまいます。
対策(解決方法):
現在、初期セットアップでコンテキストサイズの小さなモデルを選択してしまった場合、後から設定を変更してもうまく反映されず、この制限エラーが継続的に発生してしまいました。
そのため、「OpenClawをゼロから再セットアップ(クリーンインストール)し、初期設定の段階で必ず初めからコンテキストサイズの大きい最新モデルを指定する」ことで対応しました。
※今後のバージョンアップで設定画面等から修正可能になる可能性がありますが、現時点(2026年4月)では再セットアップが最も確実な手段です。
2. 物理メモリの壁(上位モデルロード時のメモリ不足エラー)
本手順で指定した「e2b」ではなく、より高性能なモデル(gemma4:e4b など)を指定して環境構築しようとした際に、環境のメモリ容量に対してモデルの要求サイズが大きすぎて発生する重度のエラーです。(筆者も当初 e4b で構築しようとしてこの壁に直面し、メモリ不足により本ガイドの手順では e2b を採用することに踏み切りました)
エラーログ(抜粋): "rawErrorPreview":"500 {\"error\":\"model requires more system memory (13.7 GiB) than is available (8.9 GiB)\"}"
原因: 上位モデルの gemma4:e4b はマルチモーダルで128Kコンテキストに対応する高品質モデルであり、稼働させるだけで 13.7 GiB という手加減のないサイズのメモリ空間を要求します。 本記事の検証環境では、ホストPC(実機32GBメモリ搭載)からゲストOS(Ubuntu)に対して十分と思われる 20GB ものメモリを割り当てて構築に挑戦しましたが、それでもUbuntu側のGUIや他のキャッシュ等がメモリを占有しており、純粋な空き容量(Available)が不足(上記エラーの場合は8.9 GiB)してしまい、ロード時にあえなく 500 Internal Server Error で起動を拒否されてしまいました。
対策(モデルの追加と変更方法): 本記事で解説した軽量モデル(gemma4:e2b)を使い続けるのが無難ですが、お使いの環境のシステムメモリに余裕がある場合は、後から上位モデルをダウンロードしてダッシュボードで切り替えることが可能です。
まずはターミナルから上位モデルをOllamaにダウンロードし、OpenClawのシステム側にモデル情報を登録します。
ollama pull gemma4:e4b
openclaw models set ollama/gemma4:e4b
openclaw models list
追加に成功すると、以下のように新しいモデルがリストに登録され利用可能になります。
Model Input Ctx Local Auth Tags
ollama/gemma4:e2b text+image 128k yes yes default,configured
ollama/gemma4:e4b text+image 128k yes yes configured
コマンドが完了したら、OpenClawダッシュボードの左メニュー「エージェント」設定画面から使用するモデルで e4b に切り替えて試してみてください。もしそこでやはり該当のメモリ不足エラーが出てしまう場合は、OSのキャッシュをクリア等で空きメモリを空けるか、元のモデルへ切り替えて運用してください。
3. コンテキスト計算の壁(軽量モデルでのタイムアウトエラー)
モデルを軽量な e2b などに変更してメモリ不足を解消したものの、今度はAIからの応答が途絶え、タイムアウトで切断されてしまうエラーです。
エラーログ(抜粋): warn agent/embedded {"subsystem":"agent/embedded"} Profile ollama:default timed out. Trying next account... "failoverReason":"timeout","profileFailureReason":"timeout"
原因: メモリへのモデルのロード自体は成功していましたが、OpenClawのWeb UI上で「未セットアップの連携スキル(Tool)が多数ON」のままになっていました。これにより、AIへ裏側で送られるシステムプロンプト(各ツールの説明書やJSON仕様)が数万トークンという膨大なサイズまで膨れ上がります。 仮想マシンのCPUパワーでこの長文を解釈(Prompt Evaluation)するのに時間がかかりすぎ、OpenClaw側の限界待ち時間を超過して強制切断された状態です。

対策(解決方法)
OpenClawの「Skills」メニュー等から、不要なツール連携のスイッチをすべて OFF にします。これによりシステムプロンプトが劇的に軽量化され、AIから素早く応答が返ってくるようになります。
付録:OpenClawダッシュボードの基本的な使い方
無事にダッシュボードにログインできたら、いよいよAIエージェントの操作です。ここではダッシュボードの主な表示項目と活用方法をご紹介します。
1. チャット機能(対話画面)
左メニューの「チャット」を選択すると、AIエージェントとのメインの対話画面が開きます。
2. コントロールパネルの機能
左メニューの「コントロール」などの設定項目から、OpenClawのシステム全体や各種パラメーターを管理できます。
3. ローカルエージェントとしての活用
「ここにあるファイルの一覧を教えて」「このスクリプトの内容を要約して」など、PC内部の情報に関わる指示をチャットから直接出してみましょう。 OpenClawはWebブラウザを経由して、安全な仮想環境内で(許可された範囲の)コマンドやファイル操作を自律的に実行し、結果をまとめて返してくれます。これが外部のAPIサービスには真似できない、完全ローカル自律型AIエージェントの体験となります。
おわりに:苦労の先の第一声
数々のエラーの壁を乗り越え、やっとの思いで環境を開通させた後、記念すべきAIからの第一声は以下のようなものでした。
System: Read HEARTBEAT.md if it exists... If nothing needs attention, reply HEARTBEAT_OK. AIの回答: HEARTBEAT_OK
感動的な挨拶を期待していたところ、単なるシステム確認用のプロンプトに対する「異常なし(HEARTBEAT_OK)」という機械的な業務報告……!

自動化を心から愛するITエンジニアとしては、ある意味で最も信頼のおける頼もしい第一声だったと言えます。 ぜひ皆様も、お手元の安全なローカルPC環境で、この強力な自動化エージェント「OpenClaw」を飼いならしてみてください!
