2026年7月29日

Antigravity WSL徹底解説:環境構築からブラウザ自動化、実践Tipsまで

WSL×Antigravityの基礎:なぜいま注目されるのか

公式画面

WSL×Antigravityのメリットと注意点
メリット
  • WindowsでLinuxのツールチェーンを直接動かせる
  • GPUも使え、レンダリングが遅くならない
  • 一度設定すれば自動化可能(socatでトンネル自動張り)
×デメリット
  • 再起動後にWSLのIPが変わるとポートプロキシの更新が必要
  • 初回設定(IP取得・netsh設定)が初心者にはハマりやすい

WSL2環境でAntigravityを使うメリット

室谷室谷代表取締役
WSL2とAntigravityの組み合わせ、海外の開発現場ではもうスタンダードになりつつあるんですよね。
テキトー教師テキトー教師.AI認定講師
たしかに。最初に「なんでWSLなんですか」って聞かれるんですけど、WindowsでLinuxのツールチェーンを直接動かせるのが大きいですよね。
室谷室谷代表取締役
そう。AntigravityのBrowser SubagentってChromeのリモートデバッグを使うんですが、WSL2経由でWindows側のChromeを叩けるのがミソです。
テキトー教師テキトー教師.AI認定講師
GPUも使えるし、レンダリングが遅くならない。

WindowsとLinuxのシームレスな連携がもたらす開発効率

室谷室谷代表取締役
肝になるのがポートフォワーディングの設定ですね。WSLのゲートウェイIPを取得して、Windows側でnetshでポートプロキシを張る。
テキトー教師テキトー教師.AI認定講師
ここ、初めてだとハマるポイントです。
室谷室谷代表取締役
ただ一度設定してしまえば、あとは自動化できる。
テキトー教師テキトー教師.AI認定講師
socatを使ってWSL起動時に自動でトンネルを張る仕組みを.bashrcに仕込んでおけば、毎回手動でやる必要がなくなります。

AntigravityがWSLで動作する仕組み

室谷室谷代表取締役
動作の仕組みをざっくり言うと、WSLからWindowsのChromeを/mnt経由で参照して、CDPポート9222でやりとりする形です。
テキトー教師テキトー教師.AI認定講師
Chrome Binary Pathを/mnt/c/Program Files/...に指定して、ポートを合わせる。これでWSL上のAntigravityがWindowsのChromeを操作できる。
室谷室谷代表取締役
再起動後にWSLのIPが変わるときがあるので、その場合はPowerShellでポートプロキシの設定を更新する必要がある。
テキトー教師テキトー教師.AI認定講師
そこだけ注意すれば、非常に安定して動きます。

ブラウザ自動化を実現する「Antigravity WSL Bridge」の設定

Antigravity WSL Bridge 設定手順
  1. 1
    WSL ゲートウェイ IP を取得
    WSL 内で `ip route show` を実行し、ゲートウェイ IP を調べる。
  2. 2
    Windows 側のポートプロキシルール追加
    PowerShell 管理者権限で `netsh interface portproxy add v4tov4 listenport=9222 listenaddress=<ゲートウェイIP> connectport=9222 connectaddress=127.0.0.1` を実行。
  3. 3
    ファイアウォールルール追加
    同じく PowerShell で `netsh advfirewall firewall add rule name="WSL Bridge" dir=in action=allow protocol=TCP localport=9222` を実行。
  4. 4
    WSL 側の socat 自動転送設定
    `.bashrc` にスクリプトを追加し、シェル起動時に socat が自動起動するようにする。既に動作中ならスキップ。
  5. 5
    Antigravity 設定画面で Chrome パスとポートを入力
    設定画面で Chrome のパスとポート番号(9222)を指定する。

Windows ChromeをWSLから操作するためのポートフォワーディング

室谷室谷代表取締役
Antigravity のブラウザサブエージェントを WSL で動かすとき、一番のハードルはネットワークの隔離なんですよね。WSL 側から直接 Windows の Chrome を掴めないので、ポートフォワーディングで橋渡しする必要がある。
テキトー教師テキトー教師.AI認定講師
そうなんです。最初に「IP アドレスが違うから動かない」って悩む人が多い。

WSL のゲートウェイ IP を調べて、Windows 側で 9222 ポートを listen させる設定を一回やれば通るんですが。
室谷室谷代表取締役
この一回の設定で毎回の手間がゼロになる。開発者の時給換算すると、30分の作業で何時間もの自動化が動くようになる。

ROI は半端ないですよ。
テキトー教師テキトー教師.AI認定講師
しかも GPU レンダリングをそのまま使えるから、Linux でエミュレートするより遥かに速い。ブラウザの動作が重くて困る、という人はまずこのブリッジを試す価値があります。

PowerShellとWSL側の初期設定手順

室谷室谷代表取締役
手順自体は単純で、PowerShell 管理者権限で 3 つのコマンドを打つだけ。まず WSL 内で ip route show からゲートウェイ IP を取得して、その IP を listenaddress に指定した netsh の portproxy ルールを追加する。
テキトー教師テキトー教師.AI認定講師
それと同時に、ファイアウォールで 9222 ポートの TCP 受信を許可するルールも必要です。コマンド一発で作れるので、忘れずに。
室谷室谷代表取締役
この設定は一度やってしまえば、WSL を再起動しても persistent に残る。ただし、PC を完全再起動すると WSL の IP が変わることがある。

その時は新しい IP で netsh interface portproxy set を叩き直すだけ。
テキトー教師テキトー教師.AI認定講師
そこまで込みで「ワンタイムセットアップ」と割り切るのがコツですね。10 分もかからない作業です。

socatによる自動トンネリングの仕組み

室谷室谷代表取締役
Windows 側の設定が終わったら、次は WSL 側でリクエストを自動転送する仕組みが必要。socat を使って、WSL の 9222 ポートに来たトラフィックを Windows の localhost:9222 に飛ばす。
テキトー教師テキトー教師.AI認定講師
これ、シェルの起動時に自動で socat が立ち上がるように .bashrc にスクリプトを仕込むのがポイントです。既に動いてたら pgrep でスキップする判定も入ってて、親切設計。
室谷室谷代表取締役
コードを見ると、ゲートウェイ IP を動的に取得して socat の接続先に使ってる。PC 再起動で IP が変わっても、自動で追従するから、実運用で困らない。
テキトー教師テキトー教師.AI認定講師
だから「環境構築が面倒」と敬遠する人がいるけど、この仕組みを一度理解すれば、あとは Chrome のパスとポート番号を Antigravity の設定画面に入れるだけで動くようになります。

Antigravity IDEとWSLの連携設定

Antigravity IDEとWSLの連携設定手順
  1. 1
    Chrome Binary Pathの指定
    Antigravity SettingsのBrowser Subagentでパスを `/mnt/c/Program Files/Google/Chrome/Application/chrome.exe` に設定。WindowsのChromeを直接使うことでGPUレンダリングを活用。Linux版Chromeはインストールしないこと。
  2. 2
    CDPポートの設定と接続確認
    AntigravityでBrowser CDP Portを9222に設定。PowerShell管理者で `netsh interface portproxy add v4tov4 listenport=9222 listenaddress=WSLのゲートウェイIP connectport=9222 connectaddress=127.0.0.1` を実行。またはsocatでWSL起動時に自動トンネル。確認は `curl http://localhost:9222/json/version`。
  3. 3
    DevContainer環境での活用
    コンテナ内からsocatでWSLホストの9222ポートに転送。Dockerのネットワークモードを `host` にするか、`host.docker.internal` を使用。チームではポート転送スクリプトをテンプレート化して配布。

Antigravity SettingsでのChrome Binary Path指定

室谷室谷代表取締役
MYUUU の現場でも、WSL上でブラウザ自動化を動かすときの最初の壁がここです。Chrome Binary PathをWindowsネイティブのパスにしないとLinux上の仮想ディスプレイ経由になって遅くなる。
テキトー教師テキトー教師.AI認定講師
そう、そこが肝ですね。Antigravity SettingsのBrowser Subagentで指定するパスは/mnt/c/Program Files/Google/Chrome/Application/chrome.exe

WindowsのChromeを直接使うことでGPUレンダリングが効いて、パフォーマンスが全然違います。
室谷室谷代表取締役
コストで考えると、この1行の設定で処理速度が倍近く変わるときもある。ROIでいえば即効性のあるチューニングですよ。
テキトー教師テキトー教師.AI認定講師
よく聞くのが「Linux版Chromeを入れてしまった」という失敗。WSL上にChromeをインストールすると、レンダリングがソフトウェア処理になって実用的じゃなくなるので注意です。

ブラウザCDPポートの設定と接続確認

テキトー教師テキトー教師.AI認定講師
パスが正しくても、CDPポートが開いてないとつながらないんですよね。Antigravity側でBrowser CDP Portを9222に設定したら、Windows側でポートフォワーディングが必要です。
室谷室谷代表取締役
具体的には、PowerShell管理者でnetsh interface portproxy add v4tov4 listenport=9222 listenaddress=WSLのゲートウェイIP connectport=9222 connectaddress=127.0.0.1。これでWindows ChromeのリモートデバッグポートがWSLから見えるようになる。
テキトー教師テキトー教師.AI認定講師
さらにsocatを使って、WSL起動時に自動でトンネルを張るようにしておくと安心です。~/.bashrcに仕込んでおけば毎回手動でやる必要がなくなります。
室谷室谷代表取締役
接続確認は、WSLターミナルでcurl http://localhost:9222/json/versionしてレスポンスが返ってくればOK。もし返ってこなければ、IPアドレスが再起動で変わってるケースが多い。

その場合はip route showで新しいIPを取得してポートプロキシを更新する。

DevContainer環境でのAntigravity活用法

テキトー教師テキトー教師.AI認定講師
チーム開発だとDevContainerを使いたいという要望も多いです。コンテナ内でAntigravityのブラウザ自動化を動かす場合も、基本的にはWSLホストを経由してWindows Chromeにアクセスする形になります。
室谷室谷代表取締役
DevContainerの利点は環境再現性。各開発者が同じ設定で動くので、初心者のセットアップ時間が大幅に削れる。

コンテナ内からはsocatでWSLホストの9222ポートに転送すれば、Antigravityはローカルと同じ感覚で使えます。
テキトー教師テキトー教師.AI認定講師
ただし、コンテナからホストのポートにアクセスするには、Dockerのネットワークモードをhostにするか、host.docker.internalを使う必要があります。ここは環境によってハマるポイントなので、事前にドキュメント化しておくとスムーズですね。
室谷室谷代表取締役
うちのチームではDevContainerテンプレートにポート転送のスクリプトを組み込んで配布してます。そうすれば、新しいメンバーが来ても即戦力になる。

初期投資は少しかかるけど、長期的なコスト削減になるんで。

WSLターミナル・Ubuntu環境でのAntigravity運用

WSL UbuntuへのAntigravity CLI導入

室谷室谷代表取締役
WSLでAntigravity使うなら、まずCLIをUbuntu側に入れるところからですね。USの現場ではもうWSLがデフォルト環境になってるチームも多くて、導入コストを時給換算すると1時間ちょっとで回収できる計算です。
テキトー教師テキトー教師.AI認定講師
たしかに。ただ初めての人は「Linux用バイナリを落とすのかWindows用か」で迷うことが多いです。

AntigravityはLinuxバイナリを公式サイトから取ってくるだけで、あとはパスを通せば動きます。ここでつまずくと後々響くので、最初の設定が肝心ですね。
室谷室谷代表取締役
そうなんですよ。あとsocatも必須で入れておかないと、後のブラウザ連携で手間が増えます。

ターミナルを介したAIエージェント操作

テキトー教師テキトー教師.AI認定講師
ターミナルからAIエージェントを操作するときは、ポートフォワーディングの自動化がポイントです。~/.bashrcにsocatの起動スクリプトを仕込めば、ターミナル開くたびにWindowsのChromeとつながります。
室谷室谷代表取締役
あれ、ROIで言うとスクリプト書く時間が30分もかからない割に、毎回手動でトンネル張る手間が消えるので大きいですよね。MYUUUの現場でも、この自動化入れてからブラウザ操作の成功率がグッと上がりました。
テキトー教師テキトー教師.AI認定講師
そうそう、最初は手動でやってた人が「毎回IP変わるのに気づかない」ってハマるパターンが多いんです。動的IP対応のスクリプトを~/.bashrcに書いておけば、再起動後も安心です。

ファイルシステムの権限とマウント設定

室谷室谷代表取締役
ここが地味に厄介で、/mnt/c経由でWindowsのChromeを呼ぶとき、権限が不足してて実行できないケースがあります。WSLのデフォルトマウントオプションが原因の場合がある。
テキトー教師テキトー教師.AI認定講師
ええ。あとChromeのプロファイルがデフォルトだとAntigravityが拡張機能をインストールできずに「Download error」で止まる例もよく見ます。

新しいプロファイルを明示的に指定すると解決するんですが、最初は気づきにくいですね。
室谷室谷代表取締役
その辺、設定ファイルでプロファイルパスを指定できるので、チームでテンプレート化しておくとコスト削減になります。特に複数人で同じ環境を共有する場合は必須です。

トラブルシューティング:よくある不具合と解決策

Chrome拡張インストールエラー(Download interrupted)

テキトー教師テキトー教師.AI認定講師
これ、僕も最初にハマりました。AntigravityのBrowser SubagentがChrome拡張をインストールしようとしたときに「Download error: Download interrupted」って出るんですよね。
室谷室谷代表取締役
あれ、よくあるんですよ。コミュニティでも結構話題になってて、原因はChromeのプロファイル絡みらしいです。

Antigravityが新しいプロファイルを作成せずに、デフォルトプロファイルに書き込もうとして失敗するケースが多い。
テキトー教師テキトー教師.AI認定講師
そう、新しいChromeプロファイルを事前に作って、Antigravityの設定でそのプロファイルを指定してやると直るみたいです。具体的には、WindowsのChromeを手動で起動して新しいプロファイルを作成し、そのパスをAntigravityのBrowser Subagent設定に指定する。

ロケットスタートじゃないですが、これでスッと通ります。
室谷室谷代表取締役
結果的に工数としては5分もかからない。ROIで考えると、Macに戻るよりはるかに価値がある判断ですね。

WSL再起動後のIP変更を自動で修正する方法

室谷室谷代表取締役
この構成で一番面倒なのが、PC再起動後にWSLのゲートウェイIPが変わっちゃうことですよね。Windows側のポートプロキシルールを毎回手動で更新するのが地味に効く。
テキトー教師テキトー教師.AI認定講師
たしかに。ただ、~/.bashrcにIPを動的取得するスクリプトを仕込んでおけば、確認は一発で済みます。

でもルールの更新自体はPowerShellを管理者で実行しないといけないので、完全自動化はまだハードルがある。
室谷室谷代表取締役
そこをどうにかしたいところですね。今のところは、再起動後にWSLでip route showでIPを確認して、Windows側でnetsh interface portproxy set v4tov4を叩く、という流れが確実です。

現場では「起動したら最初にこれをやる」をルーティン化してます。
テキトー教師テキトー教師.AI認定講師
そのルーティンを覚えてしまえばあとは楽ですよ。むしろ、envをスクリプト化して、バッチファイルでゴリ押しする人もいるみたいですが。

ファイアウォールとポートプロキシの再確認手順

テキトー教師テキトー教師.AI認定講師
接続が突然切れたとき、まず疑うのがファイアウォールとポートプロキシの設定です。特にWindows Update後の再起動で、ファイアウォールルールが吹き飛ぶことがあります。
室谷室谷代表取締役
そのパターン、結構聞きますね。初回設定時にPowerShellでNew-NetFirewallRuleを叩いてChrome Remote Debug用のルールを入れておくんですが、大型アップデートでリセットされることがある。
テキトー教師テキトー教師.AI認定講師
確認手順としては、PowerShell AdminでGet-NetFirewallRule -DisplayName "Chrome Remote Debug"を実行してルールが存在するか確認。なければ再度New-NetFirewallRuleで追加。

ポートプロキシもnetsh interface portproxy show allで設定をリスト表示して、listenaddressが現在のWSL IPと一致しているか見るといいです。
室谷室谷代表取締役
これを週一でチェックする習慣をつけると、トラブルに巻き込まれにくくなりますね。特にチーム開発では、環境差異をなくす意味でも手順書化しておいた方がいい。

さらに一歩先へ:チーム開発とパフォーマンス最適化

WSL2のパフォーマンス比較(VS Code vs Antigravity)

テキトー教師テキトー教師.AI認定講師
VS Code RemoteでWSL使うのと、Antigravity IDEで直接WSLにつなぐのと、体感どれくらい違うんですか?
室谷室谷代表取締役
明らかにAntigravityの方が速いですね。VS Codeはファイルシステムの変換にオーバーヘッドがあるんですが、AntigravityはWSLのLinuxネイティブのプロセスをそのまま使う設計なんで、IO待ちが少ない。

チームで使うと、その差が積もって生産性に効くんですよ。
テキトー教師テキトー教師.AI認定講師
なるほど。特にブラウザ自動化を走らせるときは、GPUリソースの扱いも影響しますしね。

複数WSLディストリの管理自動化

テキトー教師テキトー教師.AI認定講師
プロジェクトごとにWSLディストリを分けてる現場、結構ありますよね。それぞれにAntigravityのセットアップをするのは面倒じゃないですか?
室谷室谷代表取締役
そこは自動化しましょう。設定スクリプトを共通化して、各ディストリの.bashrcにsocatの起動処理を仕込んでおけば、一度やればあとは勝手に動く。

ROIで考えると、初期の数時間でその後ずっと節約できる計算です。
テキトー教師テキトー教師.AI認定講師
たしかに、ポートフォワーディングのルールも一度PowerShellで設定すれば、WSL側のIPが変わってもスクリプト内で動的に取得してくれるので、再起動後も自動でつながりますね。

企業環境での標準化とセキュリティ考慮

テキトー教師テキトー教師.AI認定講師
チーム導入となると、セキュリティポリシーとの兼ね合いが気になります。Chromeのリモートデバッグポートを開けるのは結構抵抗ある現場も……
室谷室谷代表取締役
そこはWindows Firewallのルールをグループポリシーで配布すれば、全員同じ設定で運用できます。社内の許可リストに9222ポートを入れておけば、管理も楽。

結局、個々にやらせると差異が出るので、標準化してしまった方がトータルコストは低いんですよね。
テキトー教師テキトー教師.AI認定講師
あと、ChromeのプロファイルをAntigravity専用に分ける方法も、Gistで共有されてました。デフォルトプロファイルに拡張を入れずに済むので、環境を壊さずに使えるのがいいですね。

よくある質問

Q1. Windows HomeエディションでもAntigravity WSLは使えますか?

室谷室谷代表取締役
HomeでもWSL2は使えるので、基本的には問題ないはずです。ただ、Hyper-V関連の機能制限があるケースもあるので、公式の対応表は一応確認したほうがいいですね。
テキトー教師テキトー教師.AI認定講師
たしかに、Pro前提の記事が多いですが、Homeでも工夫すれば動くという声を現場で聞きます。

Q2. ブラウザ自動化のスクリプトはPython以外の言語でも書けますか?

室谷室谷代表取締役
公式サンプルはPythonが多いですが、APIの仕様さえわかればcurlでも動くんで、言語は何でもいけますよ。
テキトー教師テキトー教師.AI認定講師
ただ、Pythonのライブラリが一番整っている印象です。RustやTypeScriptで書いてる猛者もいますけどね。

Q3. Antigravity WSL Bridgeを使わなくても、WSL内だけでブラウザ自動化はできますか?

室谷室谷代表取締役
WSL内だけでやるなら、ヘッドレスブラウザをWSLに直接入れて動かす方法もあります。ただ、実際のブラウザを操作したいならBridgeが必要です。
テキトー教師テキトー教師.AI認定講師
用途次第ですね。CIで完全に閉じた環境ならWSL内で完結できますが、デバッグにはBridgeのほうが便利です。

Q4. チーム開発で環境の差異を吸収するにはどうすればいいですか?

室谷室谷代表取締役
.devcontainerやAnsibleで環境をコード化するのが王道です。Antigravity自体は設定が軽いので、リポジトリに設定ファイルを入れておくだけでもある程度カバーできます。
テキトー教師テキトー教師.AI認定講師
チームメンバー全員が同じWSLバージョンを使うことを意識するだけでもトラブルが減りますね。

Q5. Antigravity IDEじゃなくてVSCodeでも連携できますか?

室谷室谷代表取締役
もちろんです。Remote-WSLプラグインでそのまま使えます。

Antigravity独自の機能はIDE限定のものもありますが、基本はエディタを選びません。
テキトー教師テキトー教師.AI認定講師
VSCode派の人は多いので、そちらでも十分快適に使えると思います。

まとめ

室谷室谷代表取締役
WSLとAntigravityの組み合わせ、環境構築さえ終わればブラウザ自動化まで一気に進められるのが魅力ですよね。
テキトー教師テキトー教師.AI認定講師
そうですね。最初のBridge設定だけハードルがありますが、そこさえクリアすれば後はスムーズです。
室谷室谷代表取締役
チーム開発に持ち込むなら、設定の標準化と定期的なメンテナンスがカギです。一度仕組みを作れば、テスト自動化の工数が大幅に減ります。
テキトー教師テキトー教師.AI認定講師
まだ試してない方は、まずはWSL2の環境を整えて、小さなスクリプトから始めてみるのがおすすめです。
室谷室谷代表取締役
そうですね。では、実際に動かしながら詰まったところはまた次の機会に。

関連記事

新着記事

関連記事

.AI TIMES一覧に戻る