做了个小工具:让 iTerm2 tab 跟随 Claude Code / Codex 状态自动变色

southFlowFire 2026-08-24 01:19 1

我经常同时开几个 Claude Code / Codex CLI 的 iTerm2 标签页,过一会儿就分不清哪个还在跑、哪个在等审批、哪个已经结束了。


所以做了个很小的开源工具:ai-tab-color


它会根据当前 Agent 状态自动修改 iTerm2 tab 的背景色:



  • 🔵 蓝色:working

  • 🔴 红橙色:waiting for approval

  • 🟢 绿色:done ,保持到下次提交 prompt


安装:


curl -fsSL https://github.com/misaka1018/ai-tab-color/releases/latest/download/install.sh | bash

项目地址:


https://github.com/misaka1018/ai-tab-color


实现方式比较简单:Claude Code / Codex lifecycle hooks 只负责写状态,每个 CLI 会话启动一个轻量 poller ,默认每 5 秒检查状态,再通过 iTerm2 OSC 序列修改 tab 颜色。


有几个细节稍微多做了一点:



  • 配置采用合并而不是覆盖,保留原有字段和第三方 hooks

  • 重复安装不会重复注入

  • 修改 JSON 前自动备份,JSON 损坏时直接中止

  • 等待审批后,通过 transcript 的更新时间判断 Agent 是否已经继续工作,避免 tab 一直“卡红”

  • Codex 没有 SessionEnd ,poller 会通过 iTerm2 session 存活检查和硬 TTL 做回收

  • 检测到 cc-switch 时,会把 Claude hooks 同步到各个 provider


先把限制说清楚:



  • 目前只支持 macOS + iTerm2

  • Codex 需要 stable lifecycle hooks

  • jq 是必需依赖

  • 默认 5 秒轮询,不是实时到毫秒

  • 没有 UI 或 dashboard ,就只是 tab 颜色


仓库里有隔离临时 HOME 的集成测试,覆盖 Claude/Codex 安装、重复安装、卸载、Codex 不支持 hooks 时的降级,以及坏 JSON 中止等场景。


想问问大家:你们在多 Agent / 多 tab 场景下也会遇到这个问题吗?如果有其他终端状态呈现方式,或者安装兼容问题,欢迎拍砖。

最新回复 (1)
  • 383394544 08-24 07:17
    1
    https://github.com/hamed-elfayome/Claude-Usage-Tracker
    这个也好用 还可以显示工作状态在靈动岛上
* 帖子来源V2EX
返回