zenbu-labs/terminal-browser
A browser inside your terminal
解決的問題
允許使用者在終端模擬器內部直接執行一個功能完整的網頁瀏覽器。這消除了在終端與獨立瀏覽器視窗之間切換的需求,對希望將程式碼環境與網頁預覽整合到單一標籤頁中的開發者,或需要透過 SSH 預覽遠端機器上執行的網站的使用者尤其有用。
工作原理
該工具利用 kitty 圖形協定在終端中顯示像素。它使用 Electron 的離屏渲染 API 從 Chromium 的 GPU 捕獲像素,並透過使用 Rust 建構的圖形引擎進行渲染。為了處理使用者互動,它從終端捕獲滑鼠與鍵盤事件,並向 Chromium 發送合成事件。對於平滑捲動與觸控板事件等高階輸入,它使用背景 Swift 應用程式讀取作業系統層級的輸入事件。外部 UI 使用 React 建構,並搭配自訂渲染器。
適用對象
- 開發者:希望程式碼與瀏覽器在同一終端標籤頁中整合的使用者。
- AI Agent 使用者:需要為代理提供與網頁互動方式的使用者。
- 系統管理員:需要透過 SSH 預覽遠端網站,且不希望因網路傳輸每一幀而產生延遲的使用者。
主要亮點
- Agent 相容性:包含一個 CLI(
terminal-browser action),允許 AI Agent 與開啟的瀏覽器會話進行互動。 - SSH 優化:透過遠端伺服器代理網路請求,而非串流傳輸像素,從而實現高效的遠端網站預覽。
- 分頁支援:可在其他終端程序旁邊以分頁模式開啟瀏覽器。
- 應用模式:透過預載入腳本與主 Node.js 腳本,允許使用瀏覽器技術建立終端基礎應用程式。
相關
- 專案
- 專案
- 專案
- 專案
- 專案