iTerm2 3.7.7:脚本能读网页,密码能搬家,下载不再逐 KB 等确认
版本 3.7.7
摘要
iTerm2 3.7.7 让脚本能在浏览器会话里跑 JavaScript 取回结果,密码可导出成口令加密的文件搬到另一台 Mac,SSH 下载也不再一 KB 一停。
推荐- 软件名称
- iTerm2
- 版本
- 3.7.7
- 收费
- 免费
- 开源
- 开源
- 操作系统
- macOS
- 更新时间
- 2026-11-12 23:00
iTerm2 是 macOS 上用来替代系统终端的软件,从当年的 iTerm 一路做到版本 3,GPLv2 开源、免费。11 月 3 日构建的 3.7.7 要求 macOS 13 及以上,版本号只往前挪了一个小位,动的地方却集中在自动化那条线上卡了很久的几处。
脚本终于能碰到浏览器会话
iTerm2 的浏览器会话一直是给人看的:能在终端窗口里开网页,脚本却只能隔着屏幕干瞪眼。3.7.7 给 Python API 加了 async_eval_javascript,脚本可以在那个页面的上下文里跑一段 JavaScript,再把结果取回来。读一个页面的字段、填一张表单,从此不必模拟点击坐标。
权限这道门没被拆掉。某个站点第一次被执行脚本时,iTerm2 会问一次,同意之后才放行;这些记录,连同加载网址的权限,都能在设置的 Magic 页里逐条查看、随时收回。浏览器会话的工具栏也能藏起来,页面占满整个窗格,省下的那一条边正好够放一行长命令。
配合原有的触发器,能做的事更具体了:终端里出现某条正则匹配的报错,触发器可以跑脚本、发通知、把那一行标出来。过去这套动作只能落在终端自己身上,现在脚本的另一头能伸进浏览器会话,前后两段就接上了。
密码搬家的正经办法
iTerm2 的密码管理器一直把条目存在 Keychain 里,好用,但绑机器。换一台 Mac,过去基本靠记忆和手抄。3.7.7 补上了导出与导入:一批条目可以打包成一个用口令加密的文件,拷到新机器上双击就能导进去,设置里的整体导出也能把它们带上。
加密用的口令和文件是分开走的,这一点得自己留意:文件可以随便传,口令别跟着一起发出去。
下载不再一 KB 一停
用 SSH Integration 从远端拉文件或整个目录,以前每推进一点都要停下来等一次确认,碰上大目录能拖到人放弃。3.7.7 把这段改掉了,速度的差别一眼看得出来。
同一批改动里还有一条更不显眼的:SSH Integration 开始给远端输出做节流。过去的毛病是远端狂打日志会把连接缓冲塞满,Control-C 要等好几分钟才生效;现在输出被限速,中断能立刻落地,打字也不至于卡住。
Claude Code 的集成能装到远端了
3.7 引入的 Claude Code 集成原本只服务本机,3.7.7 让它能通过 SSH Integration 装到远端主机上,tmux 集成的窗格里也能装。跑在服务器上的 Claude Code 由此能把状态回报给终端,标签页上看得见它在干什么。卸载的时候会把连过的主机一起清掉,不留半套配置。
hook 程序同时换了名字,统一成 it2 handle-agent-hook,Codex 再加一个 --agent codex。装过 Claude Code 集成的人不用重来,旧条目仍然有效,重新装一次才会换成新的。it2 本身在远端也从 shell 函数变成了 ~/.iterm2/bin 下的真实命令,脚本、sh -c 以及 Claude Code 的 Bash 工具都能调到它,要读标准输入的命令也终于拿得到输入。
一处安全修复与一处省电
x-man-page 这类链接的处理被加固了。过去可以构造一个链接,让 iTerm2 执行预期之外的命令,或者让 man 去读本地任意文件;现在 man 的段落名和页名都要过字符白名单,带非法字符的链接直接拒绝并给出提示。这个问题由外部研究者提交,版本说明里点了名。
另一处在 macOS 26 上。系统原本会把终端窗口和标签的标题拿去建索引,而终端的标题几乎每秒都在变,Spotlight 的后台进程为此烧掉不少 CPU。3.7.7 干脆不让它索引了,系统搜索里少一项,风扇安静一些。
要不要升
用 nushell 的人这次终于被算进支持范围,自动加载与 SSH 集成都给了;常年在远端跑 Claude Code 的,收益最直接;只拿它当个终端、插件一个不装的,升级也不添什么负担。前提是系统在 macOS 13 以上,这条线从 3.7 系列开头就没松过。
iTerm2 3.7.7 没有加什么耀眼的功能,四条改动都指向同一件事:把自动化从"看得见的那块屏幕"里解放出来。脚本能直接读页面、密码能加密搬家、下载不必一停一等、连服务器上的 agent 也能回报状态。终端这个东西用了二十年,改进空间常常藏在这些不体面的细节里。