Communitygithub.com

cli-anything-iterm2

提供 cli-anything-iterm2 命令——向 iTerm2 会话发送文本、读取实时终端输出和滚动历史、管理窗口/标签页/分割窗格、运行 tmux -CC 工作流、广播到多个窗格、显示 macOS 对话框以及读写 iTerm2 偏好设置的唯一方式。包含 `app snapshot`——返回每个会话的主要定位命令。

cli-anything-iterm2 是什么?

cli-anything-iterm2 是一个状态化的 CLI 工具,通过 iTerm2 的 Python API 通过 WebSocket 控制活动的 iTerm2 进程。它适用于需要程序化管理终端会话的 AI Agent(如 Claude Code、Cursor、Codex),支持 macOS 平台。该工具提供丰富的命令组:`app` 用于获取工作区快照和上下文管理,`session` 用于发送文本、读取屏幕和滚动历史,`window` 和 `tab` 用于窗口和标签页操作,`tmux` 提供完整的 tmux -CC 集成,`broadcast` 支持按键广播,`pref` 可读写全局偏好设置。关键工作流是使用 `app snapshot` 快速定位现有工作区,然后通过 `app current` 建立上下文,后续命令无需重复指定会话 ID。它还支持 REPL 模式,可维持上下文状态。参考文件系统按功能细分,每个文件只关注一个窄范围(约 10-30 行),便于按需读取。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-iterm2

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

cli-anything-iterm2 是做什么的?

用于 iTerm2 的状态化 CLI 工具。通过 WebSocket 使用 iTerm2 Python API 控制活动的 iTerm2 进程。

前置条件

  1. macOS + iTerm2 正在运行:brew install --cask iterm2
  2. 启用 Python API:iTerm2 → 偏好设置 → 通用 → 魔法 → 启用 Python API
  3. 安装:pip install cli-anything-iterm2(或从源码 pip install -e .)

基本语法

cli-anything-iterm2 [--json] <组> <命令> [选项] [参数]

始终使用 --json 获取机器可读的输出(Agent 使用时必需)。

命令组

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

在现有工作区中定位

当你进入一个具有现有窗格的会话,需要了解正在运行的内容而不必读取每个窗格的完整屏幕内容时,使用 app snapshot:

cli-anything-iterm2 --json app snapshot

返回所有窗口中每个会话的名称、当前目录、前台进程、user.role 标签以及最后可见的输出行。

命名约定 —— 在设置工作区时为窗格打标签,以便后续查找:

cli-anything-iterm2 session set-var user.role "api-server"
cli-anything-iterm2 session set-var user.role "log-tail"
cli-anything-iterm2 session set-var user.role "editor"

app snapshot 将把这些角色与进程和路径一同展示,一次调用即可获得全貌。

典型 Agent 工作流

# 1. 定位 —— 快照每个会话:名称、路径、进程、角色、最后输出行
cli-anything-iterm2 --json app snapshot

# 2. 建立上下文(保存窗口/标签页/会话 ID 供后续命令使用)
cli-anything-iterm2 app current

# 3. 交互 —— 设置上下文后无需 --session-id
cli-anything-iterm2 session send "git status"
cli-anything-iterm2 --json session scrollback --tail 200 --strip

# 4. 创建多窗格工作区 —— 标记窗格以便快照后续识别
cli-anything-iterm2 session split --vertical --use-as-context
cli-anything-iterm2 session send "python3 -m http.server 8000"
cli-anything-iterm2 session set-var user.role "http-server"

参考文件

只读取任务所需的文件——每个文件仅关注一个窄范围(约 10–30 行):

文件何时读取
references/session-io.md发送文本、注入字节、读取屏幕/滚动历史、获取选择
references/session-control.md分割窗格、激活/关闭会话、调整大小、重命名、会话变量
references/session-shell-integration.mdwait-prompt、wait-command-end、get-prompt;可靠的发送→等待→读取模式
references/layout-window-tab.md创建/关闭/调整窗口和标签页大小、导航分割窗格
references/layout-arrangement.md保存和恢复窗口布局
references/app-context.md快照(定位)、状态、上下文管理、应用变量、模态对话框、文件面板
references/profile-pref.md配置文件列表/获取/预设、偏好设置读写、tmux 偏好快捷键
references/broadcast-menu.md广播按键到多个窗格、调用菜单项
references/tmux-commands.md所有 tmux CLI 命令(引导、发送、标签页、创建窗口、set-visible)
references/tmux-guide.md完整的 tmux -CC 工作流、窗格→会话 ID 映射
references/json-session.mdsession、window、tab、screen、scrollback、inject 的 --json 模式
references/json-tmux-app.mdtmux、app 对话框、偏好设置、错误的 --json 模式

REPL 模式

不带参数运行可进入交互式 REPL,在命令之间维持上下文:

cli-anything-iterm2

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

相关技能