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 脚本,允许使用浏览器技术创建基于终端的应用程序。
相关
- 项目
- 项目
- 项目
- 项目
- 项目