前两天刷到一位网友给 Claude 做了一个物理外挂:用 Arduino 控制一盏 USB 红绿灯,根据 Claude Code 的状态亮不同颜色的灯。想法很酷,但我没有 Arduino,也不想在桌上多摆一盏灯。

于是我换了个思路:为什么不在电脑上直接做一盏“虚拟红绿灯”呢?于是就有了这个项目 —— Code Light。一个躺在系统托盘里的小圆点,告诉你 Claude Code 此时此刻正在做什么。

项目地址https://github.com/cuihuapeng/code-light-ai.git

痛点:AI 干活,状态你看不见

Claude Code 是一个运行在终端里的 AI 编码代理。你可以让它帮你写代码、跑测试、查文档……问题来了:你给它一个任务之后,往往要切回终端窗口才能知道它现在是什么状态:

  • 是在执行工具调用?

  • 是卡住等你的确认?

  • 还是已经报错了?

来回切换窗口很打断思路。要是能瞟一眼就知道状态,该多好。

Code Light 就是解决这个问题的。它在你的 macOS(也支持 Linux / Windows)系统托盘中显示一个彩色圆点:

颜色

状态

含义

 灰色

空闲

没有正在运行的 Claude Code 会话

 绿色(闪烁)

工作中

正在执行工具调用(写文件、跑命令等)

 黄色(闪烁)

等待中

需要你确认下一步操作

 红色(闪烁)

错误

出事了,快去终端看看

 蓝色

完成

任务结束(显示10秒后变回灰色)

绿色、黄色、红色都会以每秒2次的频率闪烁,非常醒目。鼠标移到图标上还会显示当前状态、活跃会话数量、最后更新时间。

怎么实现的?比你想的更简单

Code Light 没有走复杂的进程通信,也没有开任何网络端口。它用的是最朴素也最可靠的方式 —— 文件

Claude Code 官方提供了一套生命周期钩子(Lifecycle Hooks),可以在不同事件(调用工具前、调用工具后、需要用户确认时、会话结束时)执行自定义脚本。Code Light 注册了几个 Bash 钩子脚本,每个脚本做的事很简单:

  • 获取当前会话 ID

  • 把当前状态(working / waiting / error / completed)写入到 ~/.code-light/sessions/<会话ID>.json

然后,系统托盘程序会每隔1秒扫描一次这个文件夹里的所有 JSON 文件,合并所有会话的状态(按错误 > 等待 > 工作中 > 完成 > 空闲的优先级),然后改变图标颜色。

就这么简单。零配置、零端口、零API,只有几个文本文件在干活。

安装使用(3步搞定)

前提条件

  • macOS 12+ / Linux / Windows 10+

  • Claude Code CLI 已安装并配置

  • Node.js 18+ 和 pnpm

  • Rust 工具链

1. 从源码构建

git clone https://github.com/cuihuapeng/code-light-ai.git
cd code-light-ai
pnpm install
pnpm tauri build

或者直接安装:

    图片

    2. 启动应用

    双击运行 code-light.app(macOS)或对应平台的可执行文件,系统托盘中会出现一个灰色小圆点

    3. 安装钩子

    点击托盘图标 → 选择 “Setup Hooks”,这一步会自动把钩子脚本注册到 ~/.claude/settings.json 中。之后正常使用 Claude Code 即可,图标自动变化。

    图片

    🍎 macOS 提示“应用已损坏”?从源码构建可能被macOS阻止,执行以下命令后右键打开应用即可:

    xattr -cr /path/to/code-light.app

    进阶特性:多会话 + 自动清理

    📌 多终端会话支持

    你可以在多个终端窗口里同时跑 Claude Code,Code Light 会追踪所有会话。托盘图标显示的是所有会话中的最高优先级状态(错误 > 等待 > 工作中 > 完成 > 空闲)。比如一个会话在等待确认,另一个在干活,图标会显示黄色闪烁(等待优先级高于工作中)。

    🧹 自动清理与保护

    • 超过5分钟没有活动的会话会被自动删除

    • 陷入“等待确认”状态超过30秒的会话,会被自动提升为“工作中”(防止挂起)

    • 陷入“工作中”状态超过60秒的会话,会被自动标记为“完成”

    • 完成状态仅显示10秒,然后会话被清理

    如果你也在用 Claude Code,并且受够了来回切换终端看状态,不妨试试这个“红绿灯”。

    一眼看清,心里有数。
    有什么想法,我们也可以聊聊哇!

    Logo

    汇聚全球AI编程工具,助力开发者即刻编程。

    更多推荐