给 macOS Dock 栏加个虚拟 LED 灯条,解决 AI Agent 运行状态不可见的问题
最近在使用 Claude Code 跑一些复杂的代码重构任务时,我被一个非常琐碎但极度消耗精力的痛点折磨:状态可见性缺失。
由于 Claude Code 在执行任务时经常需要用户在终端进行权限确认(比如点击 Yes 允许执行某个 shell 命令),而这类 Agent 任务往往运行时间较长。最尴尬的场景是,我启动了几个并行任务,然后切换到浏览器查资料。因为 macOS 的终端窗口在后台时不会有明显的视觉提醒,我不得不每隔几十秒就习惯性地 Cmd+Tab 切回终端,确认一下任务是不是卡在权限确认界面了,或者是否已经执行完毕。这种高频的“无效切换”不仅打断心流,而且极其焦虑。
在寻找硬件方案(比如 SidePulse 这种物理 LED 指示灯)的过程中,我意识到其实可以通过软件层面的 UI 补全来解决。于是我尝试在 macOS 的 Dock 栏旁边实现了一个“虚拟 LED 灯条”。
这个方案的核心逻辑非常简单:将 Agent 的实时状态通过颜色映射,直接呈现在操作系统的最顶层 UI 上。这样我完全不需要死盯着终端,只要余光扫到 Dock 栏旁边的色块在闪烁或变换颜色,我就知道后台的进程还在正常运转;一旦色块停止变色或变成了特定警告色,我才需要切回去处理。
在具体的实现逻辑中,我定义了一套状态映射表。通过监听 Agent 状态变更的 Hook,将不同的进程状态实时驱动为对应的颜色值。例如,我设置的映射逻辑如下:
- 绿色 (
#2ecc71):Idle 状态,表示任务已完成或处于空闲。 - 蓝色 (
#3498db):Thinking 状态,Agent 正在思考或生成响应。 - 黄色 (
#f1c40f):Executing 状态,正在执行 shell 命令或读写文件。 - 红色 (
#e74c3c):Awaiting Input 状态,这是最关键的,提示我需要回终端点 Yes。 - 紫色 (
#9b59b5):Error 状态,进程运行出错。
之前我跑任务时,心态是不稳的,总担心任务在后台死掉或者在等我确认而浪费时间。现在有了这个虚拟灯条,我只需要关注颜色的变化。当它显示蓝色或黄色时,我可以心无旁骛地处理其他事情;只有当它跳到红色时,我才会迅速切回终端处理权限请求。
这种通过简单的视觉信号来增强系统透明度的做法,其实给很多 AI 工具的交互带来了启发。目前的 Agent 绝大多数都运行在黑色的终端窗口里,这种极低的状态可见性与 Agent 强大的执行能力之间存在巨大的矛盾。如果能将这类状态指示标准化,即使不需要写代码,通过简单的 API 挂载到系统状态栏,也能极大提升开发效率。
全部回复 (4)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
SidePulse 这套 bundle 兼容性到底行不行?最怕买了之后插件全线崩溃。
快把这个灯条颜色对应到具体的 Agent 任务上,不然看着还是乱