SuperAPI AI 工具集

cli-anything-iterm2

通用与其它

查看项目

更新于 10-15 22:13

技能介绍

用途:cli-anything-iterm2 是一个有状态 CLI 工具,用于控制正在运行的 iTerm2,是向 iTerm2 会话实际发送文本、读取实时终端输出和回滚历史、管理多窗格工作区的途径。它通过 iTerm2 Python API 经 WebSocket 与 iTerm2 进程通信。

前提条件:macOS 且 iTerm2 正在运行(brew install --cask iterm2);在 iTerm2 的 Preferences → General → Magic 中启用 Python API;安装:pip install cli-anything-iterm2(或从源码 pip install -e .)。

基本语法:cli-anything-iterm2 [--json] <group> <command> [OPTIONS] [ARGS]。用于机器可读输出时应始终加 --json(代理使用必需)。

命令组:app(应用状态、工作区快照、上下文管理、应用级变量、模态对话框、文件面板);window(创建、列出、关闭、调整大小、全屏);tab(创建、列出、关闭、激活标签页,按方向导航分屏);session(发送文本、注入原始字节、读取屏幕、完整回滚、拆分窗格、提示检测);profile(列出配置文件、获取详情、列出/应用配色预设);arrangement(保存与恢复窗口布局);tmux(完整 tmux -CC 集成:引导、连接、窗口、命令);broadcast(通过广播域同步多个窗格按键);menu(以编程方式调用任意 iTerm2 菜单项);pref(读写全局 iTerm2 偏好,列出所有有效键、tmux 设置)。

典型工作流:先 cli-anything-iterm2 --json app snapshot 获得每个会话的名称、路径、前景进程、user.role 标签和最后可见输出行;用 cli-anything-iterm2 app current 建立上下文(保存窗口/标签页/会话 ID,后续命令无需 --session-id);再用 session send 发送命令,用 session scrollback --tail 200 --strip 读取历史;创建多窗格时用 session split --vertical --use-as-context 并用 session set-var user.role 为窗格打标签,便于之后通过 snapshot 识别。参考文件按需读取,每份约 10–30 行,覆盖会话 I/O、会话控制、shell 集成、布局、应用上下文、配置与偏好、广播与菜单、tmux 以及 --json 模式。无参数运行可进入交互式 REPL,在命令间保持上下文。

限制:需要 macOS、运行中的 iTerm2 并启用 Python API;资料未提供其他平台支持、具体收费或价格信息。