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 を提供し、ターミナルマルチプレクサやウィンドウマネージャとの深い統合を可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト