内容提要
Zenbu Labs 开源了 terminal-browser,可在终端内运行真实 Chromium 浏览器,通过 Kitty 图形协议渲染像素,支持 SSH 远程预览和分屏。其 action 命令允许 Claude Code 等 AI 助手直接操作同一可见网页实例,读取渲染结果、点击和刷新,无需切换工具。但终端兼容性有限,仅支持部分平台,且 AI 操作浏览器存在安全风险,官方未给出完整安全策略。
延伸解读
与Awrit的本质区别
Awrit和terminal-browser都基于Electron渲染Chromium并通过Kitty图形协议在终端显示像素,支持的终端列表也高度重合。但Awrit定位是供人手动操作的浏览器,而terminal-browser额外提供了action子命令,这是一个agent-browser兼容的CLI接口,允许AI编程助手直接操控同一个可见的浏览器实例。这意味着terminal-browser从单人工具变成了人机协作平台,AI能读取页面状态并执行点击、填表等操作,而Awrit不具备这种能力。
AI操作可见实例与无头浏览器的差异
无头浏览器如Vercel的agent-browser在后台运行,AI操作的页面没有登录状态、cookie或用户会话,相当于一张白纸。terminal-browser的action命令则直接操作用户终端里那个可见的浏览器实例,用户的登录态、滚动位置、未提交的表单都保留着。AI看到的页面快照与用户所见完全一致,这消除了AI在隔离沙箱中模拟与真实环境之间的偏差,但也意味着AI的操作会直接影响用户正在使用的浏览器状态。
SSH远程预览的局限
terminal-browser的--ssh参数允许在本地终端预览远程服务器上的网站,浏览器进程仍在本地运行,只有网络请求通过远程服务器转发。但这种方式本质是在本地Chromium中加载远程返回的HTML,如果页面依赖服务器端运行时环境(如Node.js进程变量),本地渲染结果可能与真实服务器有差异。对于检查CSS、调试JS交互等前端调试场景,这个方案足够,但无法完全模拟服务器端渲染的完整环境。
安全模型尚未明确
terminal-browser的action命令赋予AI操作浏览器的权限,包括点击按钮、填写表单和执行JavaScript。如果AI处理的是不完全信任的网页,其执行的JavaScript可能触发用户不期望的操作,例如向第三方服务器发送登录凭证。社区已在讨论跨域请求、cookie处理和沙箱隔离问题,但官方公开材料中没有给出完整的安全策略说明。用户在使用时需自行评估风险,并关注项目后续的安全更新。
Q&A
terminal-browser 是什么?它和普通终端浏览器有什么区别?
terminal-browser 是由 Zenbu Labs 开发的开源工具,能在终端窗口内运行真实的 Chromium 浏览器,通过 Kitty 图形协议渲染像素。它并非 Lynx 之类的文本模式浏览器,而是渲染来自 Chromium 的真实像素,因此 JavaScript、CSS 布局和样式表现与桌面浏览器完全一致。
terminal-browser 如何让 AI 编程助手直接操作网页?
通过 terminal-browser action 命令,它暴露了一个与智能体兼容的 CLI 接口。AI 编程助手(如 Claude Code)可以直接打开网页、读取渲染结果并进行点击操作,从而自主验证代码修改效果,无需手动截图或切换工具。
terminal-browser 的工作原理是什么?
它依赖终端对 Kitty 图形协议的支持。具体流程:利用 Electron 的离屏渲染 API 从 GPU 读取 Chromium 生成的像素数据;通过 Kitty 图形协议将像素发送到终端显示;终端捕获鼠标点击、键盘事件等并作为合成事件发送回 Chromium;对于终端无法获取的输入,通过后台 Swift 应用从操作系统直接读取;浏览器外部 UI 由基于 Rust 的图形引擎驱动,并使用 React 渲染。
terminal-browser 支持 SSH 远程预览吗?如何工作?
支持。它原生支持 SSH,你可以直接预览运行在远程机器上的网站(如 terminal-browser open localhost:8080),而无需配置端口转发。浏览器本身运行在你的本地机器上,只有变化的页面部分会通过网络传输,保证了流畅性。
使用 terminal-browser 有哪些限制或风险?
限制包括:终端兼容性有限,仅支持 Kitty 图形协议(如 Ghostty、Kitty、WezTerm 等),标准 macOS Terminal.app、Alacritty、Warp 不支持;平台最初仅支持 Apple Silicon Mac,v0.5.0 才加入 Linux 支持(仅 x86_64 和 aarch64);项目成熟度较低,2026 年 7 月发布,issue 列表有 25 个未解决。安全风险:action 命令让 AI 有权限操作浏览器,包括点击、填表单、执行 JavaScript,可能触发意外操作,官方未给出完整安全策略。
terminal-browser 和 Awrit 有什么区别?
Awrit 是一个终端图形浏览器,同样用 Electron 渲染 Chromium、通过 Kitty 协议显示像素,定位是手动操作的浏览器。terminal-browser 多出了 action 子命令,一个 agent-browser 兼容的 CLI 接口,让 AI 编程助手直接操控你正在看的浏览器实例,实现人机共同操作。