zenbu-labs/terminal-browser

A real browser inside your terminal

解決する課題

terminal-browser は、フル機能のグラフィカルWebブラウザを直接ターミナルにもたらします。ターミナルベースの開発環境とWebの間のギャップを埋めるように設計されており、開発者はコマンドラインインターフェースを離れることなく、Webサイトの操作、アプリケーションのデバッグ、AIコーディングエージェントへのWebベースのコンテキスト提供を行うことができます。

仕組み

このプロジェクトは Kitty graphics protocol を使用して、ヘッドレスな Chromium インスタンスによって生成されたピクセルをターミナルウィンドウ内に直接レンダリングします。マウスのクリック、スクロール、キーボードイベントなどのユーザー入力をキャプチャし、それらをブラウザエンジン用の合成イベントに変換します。UI はカスタムの Rust ベースエンジンと React を使用して構築されており、ブラウザコンテンツとターミナルベースの UI 要素をシームレスに重ね合わせることができます。また、ターミナルが実装するための API も含まれており、ペインの分割、タブ管理、コーディングエージェントとの直接統合といった高度な機能を実現します。

対象ユーザー

このツールは、ターミナルベースのワークフロー(Neovim、Tmux、VS Code など)で時間を過ごし、WebブラウジングやAI駆動のWebインタラクションを既存のターミナルレイアウトに統合したい開発者やパワーユーザーを対象としています。

ハイライト

  • Agent-Ready: コーディングエージェントと連携するように設計されており、エージェントがブラウザと対話し、ページコンテンツを表示し、Webベースのタスクを実行できるようにします。
  • 高性能: オフスクリーンレンダリングを使用し、変更されたピクセルのパッチのみをターミナルに送信することで、スムーズで安定したフレームレートを実現します。
  • SSH サポート: ブラウザをローカルで実行しながらネットワークリクエストをリモートマシン経由でルーティングするプロキシモードを備えており、リモートWebアプリケーションのプレビューが容易になります。
  • 拡張可能な API: ターミナルエミュレータが実装するためのソケットベースの API を提供し、ターミナルマルチプレクサやウィンドウマネージャとの深い統合を可能にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト