iTerm2 控制

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

通过 AppleScript 从助手直接驱动 macOS 上的 iTerm2——发送命令到用户可见终端、开新标签/窗口、分屏、捕获输出到临时文件。

一句话选型结论

按资料字段整理

iTerm2 控制是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install yunheng/yunheng-iterm2-control
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方yunheng仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791625261
正文体量6.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
iTerm2 控制当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

6.5 KB
模型实际读到的说明书原文,来自技能仓库

iTerm2 Control

Drive the user's iTerm2 terminal on macOS from the assistant. This is distinct from the assistant's own Bash/shell tool: commands run in a visible iTerm2 window the user can see and interact with.

When to use

  • The user wants a command executed in their visible iTerm2 (e.g. "在 iTerm2 里跑一下", "让我看到终端输出").
  • You want to open a dedicated tab/window/pane for a long-running process (dev server, watcher, build) so it stays visible and separate.
  • You need to capture the output of a command that ran in iTerm2.

触发词(自动命中)

当用户的指令出现以下任一表述时,应优先调用本 skill(而非助手的沙箱 Bash):
- 「在 iTerm2 里跑 / 执行 / 看一下」「让我看到终端输出」「在可见终端执行」
- 「开个新标签 / 新窗口 / 分屏跑」「iTerm2 里跑个 dev server / 构建 / 监听」
- 「抓取 / 捕获 iTerm2 当前输出」「把 iTerm2 里的内容导出来」
- 用户明确要求命令必须发生在他们肉眼可见的终端(演示、需交互、需长期驻留的进程)

Prerequisites

  • iTerm2 installed at /Applications/iTerm2.app (or running). The skill launches it if not running.
  • osascript (built into macOS). No other dependencies.

Permissions (macOS, one-time)

Controlling iTerm2 via AppleScript requires macOS Automation permission. This is a security gate, not a skill bug:

  • capture / read works without it.
  • send / write / run / tab / window / split-* (anything that sends a command) requires it. You'll see error -10004 (权限违例) if missing.

Grant it (one time):
1. The first time a write text command runs, macOS may pop a dialog: "[App] 想要控制 iTerm2" → click 允许 (Allow).
2. If no dialog appears (e.g. command runs from a background/non-GUI context), grant manually:
- 系统设置 → 隐私与安全性 → 自动化 (Automation)
- Find the app that runs your commands (the terminal app, or the app hosting WorkBuddy's shell) → enable iTerm2.
3. If you want the assistant to drive iTerm2, the permission must be granted to whatever app hosts the assistant's shell — approve the dialog the first time the assistant attempts it, then it persists.

Usage

Run the bundled helper:

"$HOME/.workbuddy/skills/iterm2-control/iterm2_ctl.sh" <subcommand> [args]
Subcommand Arg Effect
launch — Ensure iTerm2 is running (opens it if needed).
send COMMAND Run COMMAND in the current session.
tab COMMAND Open a new tab and run COMMAND there.
window COMMAND Open a new window and run COMMAND there.
split-v COMMAND Split pane vertically (right) and run COMMAND.
split-h COMMAND Split pane horizontally (bottom) and run COMMAND.
run COMMAND [secs] send + wait secs (default 3) + capture.
capture — Dump the current session's scrollback to a temp file; prints the file path.

Examples

S="$HOME/.workbuddy/skills/iterm2-control/iterm2_ctl.sh"

# Run a build in a fresh tab so it stays visible
"$S" tab "npm run dev"

# Run a long task in a new window and grab its output after 5s
"$S" run "python train.py" 5        # prints /tmp/iterm2_capture.XXXXXX.txt

# Multi-pane: split current pane and run two watchers
"$S" split-v "npm run watch:css"
"$S" split-h "npm run watch:js"

# Read what the current session shows
"$S" capture                         # prints path; then Read that file

Important rules

  1. Quote commands properly. Pass COMMAND in single quotes so the user's shell does not expand $, backticks, or ! before the helper sees it:
    bash "$S" send 'export FOO="bar"; echo "$FOO"'
  2. Capture writes to a temp file, not stdout. This keeps large scrollback out of the assistant's context (token-efficient). Read the printed path only when you need the output.
  3. run waits a fixed time, not for a prompt. Increase secs for slow commands, or use send then capture after the user confirms completion.
  4. Never use this to run destructive commands the user hasn't approved — it acts on their live, visible terminal.
  5. If iTerm2 has no open window, send/capture/split-* auto-create one (harmless).

常见问题(FAQ)

  • Q:$、反引号、感叹号被吞或提前展开?
    A:必须用单引号包裹 COMMAND(见规则 #1),让 shell 原样传给脚本,避免助手侧先展开。

  • Q:报 -10004 权限违例?
    A:macOS 自动化(Automation) 未授权。按「Permissions」一节给宿主 App 开启控制 iTerm2 的权限即可。

  • Q:capture 的输出去哪了?
    A:写入 /tmp/iterm2_capture.XXXXXX.txt 并打印路径,不在 stdout——这是为省 token 的设计。用 Read 读该路径即可。

  • Q:run 还没跑完就 capture 了?
    A:run 只固定等待 N 秒(默认 3)。慢命令把秒数调大(如 run "python train.py" 30),或改用 send + 用户确认后再 capture。

  • Q:命令里内嵌的双引号被截断?
    A:脚本 escape_as 已把 " 转义为 \";若仍异常,尽量改用单引号包裹内部字符串,避免命令内嵌双引号。

  • Q:没有开着的 iTerm2 窗口会报错吗?
    A:不会。send/capture/split-* 在窗口缺失时会自动创建一个(无害)。

How it works

iterm2_ctl.sh calls osascript with iTerm2's AppleScript dictionary:
write text sends a command to a session; create tab/window and split vertically/horizontally manage layout; get contents reads the full scrollback. Command strings are escaped for AppleScript (\ → \\, " → \").

常见问题

5 问
答案由本站依据条目字段整理
iTerm2 控制怎么安装?

在支持 Skills 的客户端里执行:skillhub install yunheng/yunheng-iterm2-control。安装方式为未标注。装完刷新技能列表或重开客户端。

iTerm2 控制支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

iTerm2 控制权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

iTerm2 控制收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

iTerm2 控制用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。