ターミナル内で動くブラウザー「terminal-browser」登場 —⁠—エージェントからも操作可能⁠現在Apple Silicon Macのみ対応

開発者のRob Pruzan氏は2026年7月30日、既存のターミナル内でChromiumベースのブラウザーを表示・操作できるterminal-browserをXで紹介した。WebサイトやローカルのHTMLファイルをコーディングエージェントの横に開けるほか、CLIを介してエージェントがページの内容を確認し、クリックや文字入力などを実行できる。GitHubではソースコードを公開しており、2026年7月31日時点の最新バージョンはv0.3.2

Chromiumの画面をターミナルへ描画

terminal-browserは、実行中のプログラムがターミナル上に画像を表示するためのKitty graphics protocolを利用する。表示先には、このプロトコルに対応するターミナルが必要になる。公式サイトでは、対応ターミナルの例としてGhostty、Kitty、cmux、WezTermなどを挙げている。描画時は、ウィンドウを表示せずに描画結果を取得できるElectronのオフスクリーンレンダリングAPIを使い、Chromiumが生成したピクセルをGPUから読み取ってターミナル内へ描く。

ブラウザーの外枠にあたるUIの実装には、Rustで構築したグラフィックスエンジンとReactのカスタムレンダラーを使っている。UI自体はTypeScriptで記述され、Webページと同じキャンバスへ描画される。これにより、ページの上にタブや操作部品を重ねられる。

操作時は、ターミナルからマウスのクリック、ポインターの位置、キーボード入力を受け取り、対応するイベントをChromiumへ送る。ターミナルから取得できない入力イベントは、Swift製のバックグラウンドアプリがOSから読み取る。この仕組みにより、トラックパッドを使った滑らかなスクロールや、無限キャンバスを備えるWebアプリの操作にも対応するという。

紹介投稿の返信欄では、ブラウザーとターミナルを何層まで入れ子にできるかというやり取りもあった。Pruzan氏は、内側から数えて「ブラウザー→ターミナル→ブラウザー→ターミナル→ブラウザー→ターミナル」という6層まで試せたと投稿している。

Webページを開き⁠エージェントからも操作

公式サイトが案内するインストールコマンドは次のとおり。

curl -fsSL https://terminal-browser.sh/install | bash

v0.3.2はApple Silicon搭載Macのみを対象としている。Windowsには対応しておらず、Linux対応はロードマップに記載されている。GitHubの公開リポジトリには、2026年7月31日時点でライセンス表示がない。

terminal-browser openに一般公開されたWebサイトのURLやlocalhostのポート、ローカルのHTMLファイルを渡すと、コマンドを実行したペインでブラウザーが起動する。--splitオプションでは上下左右の方向と分割比率を指定でき、コーディングエージェントの画面とWeb画面を同じターミナルタブに並べられる。

terminal-browser open localhost:3000 --split right
terminal-browser open ./plan.html --split down --size 0.4
terminal-browser ls

開いたページは、人が直接操作できるほか、terminal-browser actionを通じてエージェントからも操作できる。このサブコマンドはagent-browser互換で、ページのスナップショット取得、要素のクリック、フォーム入力、JavaScriptの実行などに対応する。操作コマンドは、引数の区切りを示す--の後ろに指定する。

terminal-browser action -- snapshot
terminal-browser action -- click @e14
terminal-browser action -- fill @e3 "hello"
terminal-browser action -- eval "document.title"

デフォルトでは、同じターミナルタブで開いているブラウザーのアクティブタブを操作する。複数のブラウザーやタブを開いている場合は、terminal-browser lsでブラウザーやタブの識別子を確認し、--browser--tabで対象を選択できる。

このほか、公式サイトではSSH経由の利用例も紹介している。SSH接続先でterminal-browserを実行すると、Chromiumが生成したピクセルデータはKitty graphics protocolのエスケープシーケンスとして送信され、同じSSHセッションを通って手元のターミナルへ届く。このため、リモート側のWebサーバーのポートを手元へ転送する必要がない。

エージェント向けのスキルも提供されている。これを使うと、エージェントはWebページを開いたり、表示中のページを確認・操作したりできる。

おすすめ記事

記事・ニュース一覧