最近我在用 Cursor 的 Agent 功能时,遇到一个很小但很影响体验的问题:
Agent 到底是在工作、卡住,还是已经结束了?
尤其是当我把 Cursor 放在旁边,让它跑命令、改文件、分析代码时(我在摸鱼时),我经常需要切回窗口确认状态。时间久了就觉得这个动作有点烦,于是我做了一个很小的桌面工具:
Cursor Light,一个显示 Cursor Hook 状态的红绿灯。
项目地址:
https://github.com/Cave-znl/cursor-light
它解决什么问题?
Cursor 的 Agent 在执行过程中会经历很多状态,比如:
- 准备提交 prompt
- 执行 shell 命令
- 调用 MCP
- 修改文件
- 输出结果
- 任务结束
这些状态本身 Cursor 是知道的,但默认不会以一个特别醒目的方式展示出来。
Cursor Light 做的事情很简单:
通过 Cursor Hooks 监听 Agent 状态,然后用一个置顶的小窗口显示三盏灯:
- 红灯:异常、失败、拒绝、报错
- 黄灯:正在执行、等待中、处理中
- 绿灯:空闲、完成、成功
这样我不用一直盯着 Cursor 的侧边栏,只要扫一眼屏幕角落,就知道当前 Agent 是不是还在跑。

为什么是红绿灯?
因为它足够直觉。
红、黄、绿这套表达不需要解释:
- 绿灯:可以继续
- 黄灯:请稍等
- 红灯:需要注意
我不想再做一个复杂的仪表盘,也不想搞一堆状态文字。这个工具的定位就是一个极简状态指示器,像桌面上的一个小信号灯。
主要功能
目前 Cursor Light 支持:
- 监听 Cursor Hooks
- 自动配置 Cursor Hooks
- 红、黄、绿三色状态显示
- 横向 / 竖向布局切换
- 窗口置顶
- 拖动位置
- 自动吸附屏幕边缘
- 右键原生菜单
- 便携版 exe,无需安装
- Tauri 实现,体积比 Electron 更小
窗口本身很小,可以放在屏幕左上角、右侧边缘,或者任何你顺手的位置。
为什么迁移到 Tauri?
一开始我用 Electron 做了原型,开发快,验证也方便。
但后来发现这个工具本身功能非常轻,Electron 打包体积相对有点大。于是我把它迁移到了 Tauri。
迁移后的好处很明显:
- 包体更小
- 启动更轻
- 更像一个原生桌面小工具
- Windows 下体验更自然
现在 release 里提供的是 portable exe,下载后直接运行即可。
使用方式
- 到 GitHub Release 下载最新版本:
https://github.com/Cave-znl/cursor-light/releases
- 下载:
Cursor Light-x.x.x-x64-portable.exe
-
双击运行。
-
首次启动时选择自动配置 Cursor Hooks。
之后 Cursor Agent 执行任务时,红绿灯就会自动变化。
如果你想手动配置,也可以让 Cursor Hooks 指向这个 exe 的 hook 模式。
适合谁?
如果你经常使用 Cursor Agent,尤其是下面这些场景,可能会觉得它有用:
- 经常让 Cursor 执行较长任务
- 同时开多个窗口工作
- 不想频繁切回 Cursor 看 Agent 状态
- 喜欢把 AI 编程流程工具化
- 想要一个轻量、直观、常驻桌面的状态提示器
它不是一个复杂工具,也不是替代 Cursor 的面板。
它只是把一个关键状态放到了你更容易看到的位置。
一点开发感想
这个项目其实很小,但做的过程中踩了不少桌面端细节:
- Electron 打包体积偏大
- Tauri 的 WebView 菜单会被窗口裁切
- 右键菜单最后改成了原生菜单
- 小窗口拖动和吸附需要在 Rust 侧处理
- Windows 下 release exe 默认可能弹 cmd 窗口
- GUI 子系统和 hook stdout 需要兼顾
这些细节都不复杂,但会明显影响一个桌面小工具的手感。
最后的目标是:它应该像一个真正的小工具,而不是一个网页套壳。
总结
Cursor Light 是我给 Cursor Agent 做的一个极简状态灯。
它不追求复杂功能,只做一件事:
让 Cursor 当前是不是在忙,一眼就能看到。
如果你也经常使用 Cursor Agent,欢迎试试:
https://github.com/Cave-znl/cursor-light
也欢迎提 issue、建议或者直接 PR。

245

被折叠的 条评论
为什么被折叠?



