硬件

10 颗 LED,一根线,没有仪表盘。

看看 Agent Andon Light 是如何把 hook 事件变成灯光的:从电路板、通信协议到固件(直接跑在芯片上的程序)。

空闲

桌上到底放了什么

一块小电路板(Waveshare RP2040-Zero),手工焊接在定制电路板上,驱动着 3D 打印扩散罩下的 10 颗可寻址 WS2812B LED。一根 USB-C 线同时负责供电和串口通信,不需要额外电源,不需要无线配对。唯一要做的配置,就是装好 CLI(靠打命令来操作、和板子通信的程序)。

电路板示意图:一块 RP2040-Zero、一个 USB-C 接口,以及一排 10 颗可寻址 LED,分为 1 颗状态灯,加上绿、黄、红各 3 颗

一个字符,一种颜色

主机端 CLI 通过 USB 串口和固件通信,用的是能想到的最简单的协议:一个 ASCII 字符加换行。没有 JSON,也没有握手过程。

通信协议

指令效果含义
G绿灯常亮Agent 正在工作
Y黄灯常亮等待你处理
R红灯常亮空闲 / 已停止
C依次点亮正在整理
H无变化心跳信号

即使你没在看,也靠得住

固件本身跑着一个 30 分钟的看门狗定时器。一旦主机端失联,红色区域不会停在常亮状态,而是切换成缓慢的呼吸式闪烁。一盏可以放心离开的状态灯,必须把异常明明白白地显示出来,而不是悄悄卡死。

直接接入 Claude Code 和 Codex CLI

Claude Code 和 Codex CLI 的 hooks 会一条一条按顺序调用 CLI,等前一条处理完才调用下一条。这样即使在工具调用密集的回合里,灯光也始终反映事件的真实顺序。

Hook 事件颜色
SessionStart空闲
UserPromptSubmit / PreToolUse工作中
Notification / PermissionRequest等待中
PreCompact整理中
Stop / SessionEnd空闲

没什么好藏的

从电路图、固件、主机端 CLI,到自动安装的 hook 配置,全部以 MIT 协议开源。如果你想自己动手做一台,完整的零件清单(物料清单)和组装指南都在文档里。

在 GitHub 上查看

Windows 安装程序没有数字签名,在拿到签名之前,每次运行 Windows 都会弹出警告。macOS 还没测试过,官方不支持。这是个人维护的项目,不是公司出品,欢迎在 GitHub 上提交 Issue 或 Pull Request。