返回目录
开源项目其他开源工具类新手

Traffic Light:监控本机所有 Claude Code 会话状态的 Windows 小工具

Traffic Light 是一个 Windows 桌面小程序(traffic_light.exe),通过 HTTP Hooks 接收本机 Claude Code 会话事件,用红/黄/绿三色实时显示每个会话处于工作中、等待输入还是空闲状态,并提供系统托盘图标、置顶小部件、折叠小条与右键菜单,方便开发者一眼看出哪个会话在等自己。

0 次阅读2026/10/13 发布
Traffic Light:监控本机所有 Claude Code 会话状态的 Windows 小工具 来源图片

社区作者 · zZz

它解决什么问题

Traffic Light 解决的是同时开多个 Claude Code 会话时“不知道哪个在等我”的问题。它显示本机上每一个打开的 Claude Code 会话的状态:

  • 🟡 NEEDS INPUT / AGUARDANDO:请求权限或提出问题,正在等待你
  • 🔴 WORKING / ATIVO:正在工作
  • 🟢 IDLE / OCIOSO:已完成,等待下一次提示

展示方式为一行一个会话,包含文件夹、状态和最后一次状态变化的时间;等待你的会话排在最前面。界面效果可参考配图 1(Animação,动画演示)、配图 2(idle,空闲状态)、配图 3(configs,配置相关界面)。

主要功能:

  1. Windows 应用(traffic_light.exe):从最新 Release 下载 traffic_light.exe 后双击运行即可,可以只把这个 .exe 拷到任意文件夹或任意 Windows 机器(它使用 .NET Framework 4,Windows 10/11 自带)。
  1. Hook 安装:启动时检查 ~/.claude/settings.json,如果缺少任何 hook,会提示缺什么并询问是否安装;安装不会删除你已有的 hook,并会备份为 settings.json.bak。安装后需要重启已经打开的 Claude Code 会话。
  1. 托盘图标:显示“最需要你”的那个会话的颜色(优先级 黄色 > 红色 > 绿色;灰色 = 没有会话),鼠标悬停可看到汇总。
  1. 小部件(Widget):始终置顶,初始出现在右下角,可拖动移动并记住位置。
  • “···” 按钮:复制路径或删除该行
  • “–” 按钮:折叠成一条小横条,每个会话一个彩色圆点(鼠标停在圆点上 1.5 秒可查看该会话)
  • “⌄” 按钮:重新展开
  • 滑块图标:打开菜单,也是切换 English / Português 的地方(选择会被保存,并覆盖 --ptbr 参数)
  1. 菜单(右键图标或小部件):显示/隐藏小部件、校验安装(verify installation)、卸载(uninstall)、语言、退出。单击图标可显示/隐藏小部件。
  1. 卸载:只从 ~/.claude/settings.json 中移除 traffic light 自己的 hook(你其它 hook 保留,备份在 settings.json.bak),清除自身保存的设置(位置、语言、折叠状态)后关闭,之后手动删除 traffic_light.exe。

语言与运行限制:默认英文,traffic_light.exe --ptbr 使用 pt-BR;若想双击即以 pt-BR 打开,可创建快捷方式并在“目标”末尾追加 --ptbr。如果已经有一个 traffic light 在运行,会提示端口被占用并且不会打开。

Hooks(参考实现):exe 已经自动完成这些配置。Traffic Light 通过 HTTP hooks 在 http://127.0.0.1:4545 接收事件;在 ~/.claude/settings.

json 中,以下每个事件都需要一个指向该 URL 的 hook:SessionStart、UserPromptSubmit、PostToolUse、PreToolUse(matcher 为 AskUserQuestion)、PermissionRequest、Notification(matcher 为 permission_prompt|elicitation_dialog|idle_prompt)、Stop、SessionEnd。

示例配置(Stop 事件): "Stop": [{ "hooks": [{ "type": "http", "url": "http://127.0.0.1:4545", "timeout": 2 }] }]

当 Traffic Light 关闭时,这些 hook 只会静默失败,不会妨碍 Claude Code。

注意事项:

  • 状态只保存在内存中:请先打开 Traffic Light,再打开会话;否则要等该会话的下一个事件才会显示。
  • Esc(中断)不会触发任何 hook。Traffic Light 通过读取会话 transcript 来检测中断(在 exe 中 1 秒内完成)。

发布流程:推送版本 tag 后,GitHub Actions 会在 Windows 上构建 traffic_light.exe 并附加到新的 release:

命令
git tag v1.0.0
命令
git push origin v1.0.0

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

准备环境:

  • Windows 10/11,系统自带 .NET Framework 4(无需额外安装运行时)。
  • 本机已安装并使用 Claude Code,且能访问 ~/.claude/settings.json。

安装步骤:

  1. 从项目最新 Release 下载 traffic_light.exe。
  1. 如果另启用了 Traffic Light,先确认没有第二个实例在运行(重复运行会提示端口被占用且不会打开)。
  1. 双击 traffic_light.exe 启动。可以只把这一个 .exe 文件拷贝到任意文件夹或任意 Windows 机器上使用。
  1. 首次启动时它会检查 ~/.claude/settings.json,如果缺少任一 hook,会显示缺少什么并询问是否安装。
  • 确认安装不会删除你已有的 hook;原文件会备份为 settings.json.bak。
  • 需要写入的 hook 事件包括:SessionStart、UserPromptSubmit、PostToolUse、PreToolUse(matcher AskUserQuestion)、PermissionRequest、Notification(matcher permission_prompt|elicitation_dialog|idle_prompt)、Stop、SessionEnd,均指向 HTTP 地址 http://127.0.0.1:4545(timeout 建议 2 秒)。
  1. 安装完成后,重启所有已经打开的 Claude Code 会话,让它们重新触发 hook。
  1. 先打开 Traffic Light,再打开新的 Claude Code 会话;状态只保存在内存中,否则需要等该会话的下一个事件才会显示。

首次运行与日常使用:

  • 托盘图标显示最需要你的会话颜色(黄 > 红 > 绿;灰 = 没有会话),悬停查看汇总。
  • 置顶小部件默认在右下角,可拖动并记住位置;“···”复制路径或删除行;“–”折叠为每会话一个彩色圆点的小条(悬停 1.5 秒查看该会话);“⌄”重新展开;滑块图标打开菜单,可切换 English / Português。
  • 右键托盘图标或小部件可显示/隐藏小部件、校验安装、卸载、切换语言、退出;单击图标显示/隐藏小部件。
  • 语言:默认英文;使用 traffic_light.exe --ptbr 启动 pt-BR。若想双击即用 pt-BR,创建快捷方式并在“目标”末尾加上 --ptbr。

常见问题:

  • 提示端口被占用:说明已有一个 Traffic Light 在运行,关闭其中一个再启动。
  • 会话没有出现在列表里:状态仅存于内存,请先启动 Traffic Light 再开始会话,或等待该会话的下一个事件。
  • 按 Esc 中断后状态没变:Esc 不触发 hook,程序通过读取会话 transcript 检测中断,exe 内约 1 秒内生效。
  • 关闭 Traffic Light 后 Claude Code 报 hook 失败:属于预期行为,hook 只是静默失败,不会影响 Claude Code 使用。
  • 卸载:在菜单中选择 uninstall,只会从 ~/.claude/settings.json 移除 Traffic Light 自己的 hook(其它 hook 保留,备份在 settings.json.bak),并清除保存的位置、语言、折叠状态,然后关闭程序,最后手动删除 traffic_light.exe。

修改源码后重新构建 exe(仅在改动 traffic_light.cs 时需要;构建前先通过菜单 → Exit 关闭 exe): C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /nologo /target:winexe /r:System.Windows.Forms.dll /r:System.Drawing.dll /r:System.Web.Extensions.dll /out:traffic_light.exe traffic_light.cs

发布新版本(交由 GitHub Actions 在 Windows 上构建并附加到 release):

命令
git tag v1.0.0
命令
git push origin v1.0.0

来源教程配图

Animação
配图 1 · Animação查看原图
idle
配图 2 · idle查看原图
configs
配图 3 · configs查看原图

适用场景

同时开启多个 Claude Code 会话时
快速识别哪一个正在等待权限确认或回答问题
在后台跑长任务时
通过托盘图标颜色远程感知会话是否仍在工作
团队或个人开发者把该工具拷到任意 Windows 机器上
统一查看本机 Claude Code 会话状态
通过 HTTP hooks 机制自建事件采集
扩展成其它形式的会话状态面板