用途:通过 iTerm2 的 Python API 以编程方式驱动终端模拟器,创建窗口、标签和分屏,注入命令、读取屏幕内容、截图,并与 CLI/TUI/REPL 应用交互。特别适合为终端应用补充视觉测试,捕获单元测试难以发现的布局、对齐和渲染问题。
主要能力:创建窗口、标签、分屏;发送文本与特殊按键;读取屏幕内容;截取指定窗口截图;设置会话名称与窗口尺寸;支持多连接与并行代理。
使用方式:脚本必须使用 uv 与内联元数据,依赖 iterm2、pyobjc,截图需加 pyobjc-framework-Quartz,执行命令为 uv run script_name.py。每个脚本需以完整 docstring 开头,说明测试、验证策略、截图、按键绑定与用法。创建窗口后需等待并刷新,避免 stale window 问题;用 finally 块清理资源,并在启动时清理残留窗口。截图使用基于位置的 Quartz 关联,命令为 screencapture -x -l <id> <path>。
适用场景:macOS 上的 iTerm2 自动化、TUI 框架(如 BubbleTea、ratatui、Ink 等)的视觉回归测试、并行代理会话管理。
限制:仅支持 macOS,需启用 Python API、Python 3.14+、uv 及屏幕录制权限;iTerm2 需运行且未最小化;最小化窗口无法截图;标签共享同一 Quartz 窗口 ID,截图仅显示活动标签;脚本不得包含 PII,截图不应提交。其他平台与云端支持暂未提供。